- file_handler/image_manager: jfif, jpe, wbmp uzantilari - .desktop + install.sh MimeType: image/vnd.wap.wbmp eklendi - main.dart: yeni pencere oncekinin saginda acilir (screen_retriever ile ekran tespiti) - viewer_screen: 2sn polling kaldirildi, konum kaydi tek akisa oturtuldu (acilis + move/resize debounce + close senkron) - dist/rebuild-deb.sh: .desktop kaynaktan kopyalanir (MimeType/StartupWMClass guncel kalir) - .deb guncellendi, docs: session-2026-08-03 + plan dokumanlari
2.2 KiB
2.2 KiB
Session Özeti — 2026-08-03
Yapılanlar
1. Ek Görüntü Formatları (jfif / jpe / wbmp)
- TIFF değerlendirildi, vazgeçildi (kullanıcı kararı — image paketi/decode katmanı istenmedi)
- AVIF değerlendirildi, eklenmedi (Flutter'da yerleşik decoder yok — native libavif gerekir, "ultra hafif" felsefeye aykırı)
- Eklendi:
.jfif,.jpe(JPEG içerikli, Skia zaten açıyor),.wbmp(Skia WBMP codec) - Değişen yerler: file_handler (seçici), image_manager (filtre), 2× .desktop + install.sh (MimeType)
2. Pencere Cascade Yerleşimi
- Yeni pencere artık öncekinin x + width kadar sağında açılıyor
- Ekrandan taşarsa → alt satıra, satır başından
- O da taşarsa → ekran sol-üst köşesine
- Ekran bilgisi:
screen_retrieverpaketi (window_manager'ın zaten transitive bağımlısıydı, doğrudan bağımlılık yapıldı) - Yeni:
WindowPersistence.cascadePosition()— getPrimaryDisplay → visibleSize/visiblePosition
3. Pencere Konum Kaydı Düzeltmesi (kök neden)
- Sorun: Konum kaydedilemiyordu → çözüm olarak 5 yere kayıt koyulmuştu (initState + 2sn polling + move/resize debounce + close + main). Birden fazla pencere açıkken polling konum yarışı yaratıyordu → yeni pencere eski konuma göre hesaplanıp üstüne düşüyordu.
- Çözüm: Polling kaldırıldı. Tek akış:
main.dart— pencere açılışında konum anında saveSync (sıradaki pencere güncel referans okur)viewer_screenmove/resize — son bilinen bounds hemen_lastBounds'a, 300ms debounce ile saveSyncviewer_screenclose —_lastBoundssenkron saveSync (async çağrı kapanışta tamamlanmıyordu)
Doğrulama
flutter analyze— 18 info uyarı (mevcut kod stil/deprecated), hata yokflutter build linux --release✓- Kurulum: release bundle
~/.local/lib/imajviewer/(install.sh debug bundle'ı önceliklendirdiği için elle kopyalandı) - Kullanıcı manuel test: WebP açılıyor ✓, cascade düzgün çalışıyor ✓
Not
docs/session-windows-ci.mdbozuk encoding (mojibake) — içerik git log'dan biliniyor, düzeltilmedi- Windows setup.exe yeniden derlenmedi — sadece Linux build + .deb güncellendi (Windows CI zaten Gitea Actions'ta)