MemoDokümantasyon
TR

Çözülen Sorunlar

v3.3.3 — Kararlılık ve Güven

Bu sürüm döngüsünde çözülen başlıca sorunlar:

Alan Sorun Çözüm
Terminal CLI /model-download klavyeden okumadığı için indirmeler terminal donana kadar iptal edilemiyordu Model indirme masaüstü uygulamasına taşındı, gerçek iptal edilebilir ilerleme çubuğu ile
Terminal CLI /gui gerçek bir kurulumda yanlış klasöre bakıp hep "bulunamadı" diyordu Doğru masaüstü uygulama yolu tespiti
Terminal CLI Çok satırlı yapıştırma satır satır ayrı mesajlara bölünüyor, / ile başlayan satırlar komut sanılıyordu Tam yapıştırma artık tek mesaj, yalnızca gerçek Enter'da gönderiliyor
Terminal CLI / Masaüstü CLI'ın backend'i terminal oturumuna gömülüydü — CLI'ı kapatmak masaüstü uygulamasını da kapatıyordu Backend artık ayrı bir süreç; ikisinden biri kullandığı sürece açık kalıyor
Hafıza /remember veritabanı ekleme sorgusundaki tek karakterlik hata yüzünden sessizce hiçbir şey kaydetmiyordu Düzeltildi — muhtemelen /remember'ın gerçekten çalıştığı ilk sürüm
Hafıza Anahtar kelime tabanlı (FTS) arama yarısı hiçbir sürümde gerçekten aktif olmamıştı; çok-konulu sorular eksik cevap dönebiliyordu Her iki arama yöntemi gerçekten birlikte çalışıyor; çok-konulu sorular konu başına ayrı aranıyor
Hafıza Normal sohbette söylenen kişisel bilgiler (/remember dışında) güvenilir şekilde hatırlanmıyordu Artık sessizce takip ediliyor
Hafıza Embedding sunucusu backend başlarken zaten çalışıyorsa hafıza bir yer tutucuya bağlanıp "çalışıyor" gösteriyordu Açılışta zaten çalışan sunucuya düzgünce yeniden bağlanma
Ajan Agent'ın tehlikeli-komut filtresindeki bir boşluk bazı yıkıcı komutların kontrolü atlatmasına izin veriyordu Desen eşleştirmesi düzeltildi
Ajan Var olmayan bir hedefe işaret eden symlink, dosya-düzenleme aracının kum havuzu dışına yazmasına izin verebiliyordu Sandbox kaçış boşluğu kapatıldı
Ajan Bazı harici sağlayıcılarda ajan modu anlaşılmaz 400 invalid_request_error ile başarısız oluyordu Araç tanımlarına sızan işlevsiz bir iç alan kaldırıldı
Sağlayıcı Claude aktif sağlayıcıyken, modeli boş bırakan mesajlar boş model alanıyla gönderilebiliyordu Fallback hesaplaması artık gerçekten uygulanıyor
Güvenlik Uzaktan erişim (LAN/ngrok) açıkken herhangi bir istek kimlik doğrulama olmadan kabul ediliyordu Her istek artık erişim token'ı gerektiriyor
Bağımlılıklar govulncheck'in işaretlediği golang.org/x/text (sonsuz döngü) ve ilişkili golang.org/x/net bulguları Bağımlılıklar güncellendi
Yedekleme .memo yedeklemesi takvim, rutinler, görev listeleri, izin politikaları, kurulu skill'leri ve en kritik olarak machine.key'i hiç içermiyordu Tümü artık dahil
API Mimarisi /api/* altında sürümlendirme yoktu Her rota artık ayrıca /api/v1/... altında da kayıtlı (~90 toplam rota, v1 aynası dahil)
WhatsApp Altyazılı gelen görsel/video/doküman medyası sessizce göz ardı ediliyordu Altyazı artık okunuyor

Ayrıntılı yazı için Sürüm Notları sayfasına bakın.

v3.1.0

v3.1.0 sürüm döngüsünde 61 sorun çözüldü. Önem seviyesine göre özeti aşağıdadır.

Kritik (13 düzeltme)

# Sorun Çözüm
1 Sahipsiz SSE akışlarının dosya tanımlayıcılarını tüketmesi Bağlam iptali ile akış ömrü takibi eklendi
2 İçe aktarmada dizin gezinmesi ile keyfi dosya okuma filepath.Clean ve temel dizin doğrulaması ile yollar temizlendi
3 api.base_url üzerinde yapılandırma yarış durumu Yapılandırma okumaları sync.RWMutex arkasına alındı
4 identity alanlarında yapılandırma yarış durumu Kimlik okumaları mevcut mutex korumasıyla birleştirildi
5 SSE yayıncısında goroutine sızıntısı İstemci bağlantı kesintisinde sync.WaitGroup ve done kanalı eklendi
6 WebSocket işleyicisinde goroutine sızıntısı Okuma zaman aşımı ve bağlam iptali eklendi
7 Ajan araç yürütmesinde goroutine sızıntısı Araç seviyesinde bağlam yayılımı eklendi
8 Oturum önbelleğinde sınırsız bellek büyümesi 1000 oturum maksimum boyutlu LRU çıkarma eklendi
9 Eş zamanlı yazmalarda yapılandırma dosyası bozulması Atomik yazmaya geçildi (geçici-dosyaya-yaz + yeniden adlandır)
10 Nil gömme modelinde panik Varsayılan modele düşüş ile nil kontrolü eklendi
11 DB kilitliyken senkron birleştirmede kilitlenme Meşgul zaman aşımı ve yeniden deneme döngüsü eklendi
12 Konuşma arama sorgusu üzerinden SQL enjeksiyonu Parametreli sorgulara geçildi
13 HTTPS istemci bağlantı havuzunda bellek sızıntısı Maksimum boş bağlantı ve zaman aşımı ile http.Transport eklendi

Yüksek (15 düzeltme)

Yüksek öncelikli düzeltmeler: hafıza dizinleyicide goroutine sızıntısı, yapılandırma dosyası herkese okunur izinleri, zayıf AES anahtar türetmesi (Argon2id'ye yükseltildi), senkron sırasında eş zamanlı oturum değişikliği, hatalı gömme yanıtında panik, herhangi bir kaynağa izin veren CORS yanlış yapılandırması, API uç noktalarında eksik girdi doğrulaması, sıcak yeniden yükleme sonrası güncel olmayan yapılandırma değerleri, llama süreç tanıtıcısında yarış durumu ve diğer 6 düzeltme.

Orta (13 düzeltme)

Orta öncelikli düzeltmeler: arka plan goroutine hatalarının yutulması, oluşturma sonrası oturum dosya izinleri, akış sonunda SSE DONE parçasının eksik olması, küçük modellerde gömme toplu iş boyutunun OOM'a neden olması, kenar çubuğunda boş konuşma adları, websocket yeniden bağlantı taşması, hata durumunda ajan döngüsünün dönüp durması ve diğer 6 düzeltme.

Düşük (20 düzeltme)

Düşük öncelikli düzeltmeler: bulunamayan yapılandırma dosyasının sessizce varsayılanlara düşmesi, silme sonrası hafıza dizininin güncel olmayan sonuçlar döndürmesi, sağlayıcı kodunda denetlenmeyen tür doğrulamaları, günlük satırlarında eksik istek kimliği, kullanımdan kaldırılmış ioutil kullanımının io/os ile değiştirilmesi, tutarsız hata sarmalama, CLI yardım metninde yazım hataları, kullanılmayan içe aktarımlar ve diğer 13 düzeltme.


v3.3.3 Döngüsü

v3.3.3'e giden sürümlerde bulunup düzeltilen, kararlılık ve güven odaklı bir tur.

# Sorun Çözüm
1 /remember hiçbir zaman gerçekten bir şey kaydetmiyordu Veritabanı ekleme işlemindeki tek karakterlik hata düzeltildi; regresyon testiyle kapsandı
2 Yeniden başlatma sonrası hafıza kapalı kalabiliyordu Backend artık başlangıçta zaten çalışan bir embedding sunucusunu algılayıp bir placeholder yerine gerçeğine bağlanıyor
3 Anahtar kelime tabanlı hafıza araması hiçbir sürümde gerçekten aktif olmamıştı Başlangıç bağlantısı düzeltildi, vektör + FTS5 araması artık gerçekten birlikte çalışıyor
4 Çok konulu sorular eksik cevap döndürüyordu Çok parçalı bir sorunun her konusu artık tek bir sorguda karışmak yerine ayrı ayrı aranıyor
5 Claude sağlayıcısı boş model alanıyla sohbet mesajı gönderebiliyordu Yapılandırılmış modele düşme mantığı artık gerçekten uygulanıyor; regresyon testi eklendi; Gemini ve diğer sağlayıcıların etkilenmediği doğrulandı
6 Dosya düzenleme araçlarında symlink sandbox kaçışı Bir projedeki symlink, henüz var olmayan bir dosyaya işaret ederek bir aracın sandbox dışına yazmasına izin verebiliyordu; kapatıldı
7 Uzaktan erişim (LAN/ngrok) kimlik bilgisi olmadan istekleri kabul ediyordu Her istek artık Ayarlar'da gösterilen erişim token'ını gerektiriyor
8 Tehlikeli-komut filtresinde boşluklar vardı Yıkıcı komutlar (örn. root/home silme) için desen eşleştirme sertleştirildi
9 golang.org/x/text / x/net'te govulncheck bulguları Bağımlılıklar yamalı sürümlere yükseltildi
10 SSE terminal parçası iptalde ~%50 sessizce düşüyordu Her akış katmanında önce engellemeyen gönderim/alım denenip, sonra ctx-farkında bir selecte düşülüyor
11 Çifte gönderim yarışı bir gönderim için iki çakışan istek başlatabiliyordu isSendingProvider iddiası MessagesNotifier.sendMessage()'daki ilk awaitden önceye taşındı
12 .memo yedeklemesi takvim, rutinler, görev listeleri, ajan izinleri, skill'ler ve machine.key'i içermiyordu Yedekleme artık bunların hepsini içeriyor (modeller kendi anahtarıyla opsiyonel kalıyor)
13 Agent modu bazı harici sağlayıcılarda 400 invalid_request_error ile başarısız olabiliyordu Araç tanımlarına sızan bir iç muhasebe alanı kaldırıldı
14 a.client/providerRouter aktif akışlar sırasında yeniden atanıyordu Yeniden doğrulandı: hem okuma hem yazma doğru şekilde mutex korumalı; daha dar kapsamlı uçuştaki-istek riski clientSwapped/providerSwapped kontrolleriyle düzeltildi
15 API sürümlendirme öneki yoktu Sunucu artık her rotayı orijinal yollarla birlikte /api/v1/ altında da aynalıyor

v3.3.4 Döngüsü

Arka plan işi çökme güvenliğine ve bildirilen 4-5 kat yerel üretim yavaşlamasına odaklanan bir kararlılık ve cila turu.

# Sorun Çözüm
1 Neredeyse her arka plan işindeki beklenmedik bir hata tüm backend'i çökertebiliyordu Her arka plan işi (hafıza, akış, WhatsApp, bulut senkronizasyonu, yerel model yönetimi, STT, rutinler, proaktif öneriler, bildirimler, uzaktan erişim tünelleri) artık korumalı ve kendi içinde kurtarıyor
2 Hafıza/RAG açıkken yerel üretim hızı 4-5 kat düşebiliyordu Embedding sunucusu artık zaten yerleşik bir sohbet modeline karşı kendini GPU'ya otomatik boyutlandırmıyor; varsayılan sadece-CPU, VRAM çatışmasını ortadan kaldırıyor
3 Sınırsız hafıza-context token bütçesi Pratikte sınırsız olan eski tavan yerine gerçek bir tavana sabitlendi
4 Küçük context'li yerel bir modelde agent modu tek kelimelik mesajda bile başarısız olabiliyordu Agent modunun araç şeması artık modelin context boyutuna göre doğru bütçeleniyor; varsayılan yerel context 4096→8192'ye yükseltildi
5 Windows'ta "Tüm Verileri Sil" başarısız olabiliyordu İç veritabanları artık dosyaları kaldırılmadan önce düzgünce kapatılıyor
6 Konuşma-metin dönüşümü kurulu bir CLI'dan gömülü dosyalarını bulamıyordu Kurulu (sadece masaüstü değil) başlatmalar için binary arama yolu düzeltildi
7 Temiz Windows kurulumları eksik msvcp140.dll ile başarısız olabiliyordu Installer artık Visual C++ Redistributable'ı gömüp sessizce kuruyor
8 Web araması selamlaşmalar dahil her mesajda çalışıyordu Artık sadece agent modu kapalıyken körlemesine çalışıyor; agent modu açıkken kendi seçici, araç-tabanlı araması hallediyor — daha da geliştirildi: "kör" enjeksiyon modu tamamen kaldırıldı, düz sohbet artık agent modunun araç setinin zaten kullandığı aynı seçici, araç-tabanlı kararı kullanıyor, sadece tek web_search aracına kapsamlandırılmış hâliyle. Bkz. Ajan Modu.
9 Yerel modellerde yeni bir sohbet mesajı arka plan hafıza işinin arkasında sıraya girebiliyordu Gerçek bir sohbet mesajı artık önce sürmekte olan arka plan hafıza çağrısını iptal ediyor
10 google.golang.org/grpc'de govulncheck bulgusu Bağımlılık yamalandı

v3.5.5 Döngüsü

Self-hosting sürümü — tam bir 4-modlu auth sistemi, çoklu hesap desteği, Docker/CasaOS ve eksiksiz bir CLI yönetim araç seti, artı bir mobil-responsive geçişi ve bir Orchestra+Agent mimari düzeltmesi. Self-hosting bug'larının büyük bir kısmı koddan okunarak değil, birden fazla SSH oturumunda gerçek bir Raspberry Pi üzerinde canlı bulundu.

# Sorun Çözüm
1 Uzaktan erişim her istekte karşılaştırılan tek, paylaşılan bir token'dı Tam bir 4-modlu auth sistemiyle değiştirildi (kimlik yok/token/şifre/token+şifre), argon2id hash'leme, brute-force kilitleme, cihaz-bazlı token'lar
2 Taze bir self-hosted backend'e bağlandıktan sonraki ilk ekran, giriş bitmeden denk gelirse genel bir hatada kalıcı olarak takılabiliyordu Etkilenen her ekranın isteği artık pes etmek yerine auth kapısı açılınca bir kez daha deniyor
3 Self-hosted bir sunucuyu kaldırıp yeniden kurmak sessizce eski hesabı koruyordu Systemd servisi artık uninstaller'ın gerçekten sildiği doğru veri dizinini gösteriyor
4 Kurulum sonrası bildirilen LAN adresi alakasız bir Docker/VPN bridge IP'si olabiliyordu Adres tespiti artık kutunun gerçek varsayılan-çıkış-rotası IP'sini kullanıyor
5 ISP seviyesinde bir cache, bayat bir kurulumcu binary'sini sonsuza kadar servis edebiliyordu Kurulum/güncelleme script'leri artık kendi indirmelerini cache-bust ediyor
6 Self-hosted bir sunucuyu silip yeniden oluşturmak, tarayıcıyı kurulumun zaten yapıldığına inanan bir durumda bırakabiliyordu Kurulum kapısı artık gerçekten taze bir kurulumu (yeni sunucu-taraflı kurulum ID'si) tanıyor ve bayat yerel durumu temizliyor
7 İlk-kurulumun "sadece token" seçeneği, sunucu dışındaki her cihazdan koşulsuz 401 veriyordu Düzeltildi ve gerçek, loopback olmayan bir istemciye karşı canlı doğrulandı
8 Uzaktan erişim kapısında CORS origin-doğrulama açığı (CWE-346) Kapatıldı
9 Go'nun net/url'inde govulncheck bulgusu GO-2026-6218 Go toolchain'i yamalı sürüme yükseltildi
10 Agent modu (araç kullanımı), streaming olmayan POST /api/send yolunda sessizce göz ardı ediliyordu Artık streaming sohbetle aynı agent-farkında pipeline'dan geçiyor
11 Orchestra Mode + Agent Mode birlikte hiçbir zaman gerçekten araç erişimi paylaşmıyordu — bir görev en fazla bir tool çağrısını "simüle ettiğini" iddia edebiliyordu Her Orchestra görevi artık bir agent sohbetinin zaten kullandığı aynı gerçek, sandbox'lı, izin-korumalı agent pipeline'ından geçiyor
12 Task Loop'un "başlat"ı sessizce hiçbir şey yapmıyordu — sonsuza kadar 0/N tamamlandı, hiçbir worker çağrılmıyordu Arka plan çalıştırma döngüsü artık HTTP isteğinin, handler döner dönmez iptal edilen context'ini miras almıyor
13 Orchestra'nın iç yardımcı çağrıları (sohbet başlıkları, rutin ayrıştırma) tam plan→yürüt→sentezle pipeline'ından geçirilmeye zorlanıyordu Bunlar için görev planlamasını atlayan doğrudan bir tek-tamamlama yolu eklendi
14 Agent izin dialogunun geri sayımı (5 dk) backend'in gerçek auto-deny zamanlayıcısıyla (60sn) çelişiyordu, ve kalıcı olarak açık takılabiliyordu Geri sayım her iki tarafta da 60sn'ye eşitlendi; dialog artık sadece bir canlı geçişte değil, her build'de mevcut gönderim durumunu da kontrol ediyor
15 Rutin onayının WhatsApp/Telefon teslimat çipleri süslemeydi, interaktif değildi Değiştirilebilir FilterChip'lere geçildi
16 Sohbet, backend kaynaklı bir hatayla biten bir mesajı elle sayfa yenilemeye kadar göstermiyordu refresh() artık bu yolda da çalışıyor, diğer her terminal yoluyla eşleşerek
17 Sohbet, Ayarlar, Model Mağazası, Agent, Takvim, karşılama ipucu ve kurulum sihirbazında 10+ mobil-genişlik layout taşması Her biri gerçek bir 375px tarayıcı oturumunda canlı üretilip ayrı ayrı düzeltildi — sabit sidebar'lar için drawer'lar, kayan header satırları, yığılmış bir composer, responsive dialog genişlikleri

Toplam: v3.1.0 döngüsünde 61 düzeltme (13 kritik, 15 yüksek, 13 orta, 20 düşük), artı yukarıdaki v3.3.3 döngüsünde 15, v3.3.4 döngüsünde 10, v3.5.5 döngüsünde 17 ek düzeltme.