Seseri 3.1.0 — Queue panel, confirm dialogs, RTL & security hardening
Seseri 3.1.0 — free, no-account podcast player · ücretsiz, üyeliksiz podcast dinleyici
▶ Web: https://iacbi.github.io/seseri/ · 🪟 Windows: Seseri_3.1.0_x64-setup.exe (below / aşağıda)
English
✨ New
- Queue panel — the play queue finally has a face: see queued episodes on the sort bar, move them up/down, remove one or clear all, with a live count badge. Fully keyboard-accessible.
- Confirm dialogs — every destructive action (clear progress, clear all data, delete downloads, unsubscribe) now asks first, in a styled dialog that matches the app. Deleting downloads and unsubscribing previously ran without asking.
- Offline banner — a quiet strip tells you when the connection drops; downloaded episodes keep playing.
- Success toasts when exporting OPML / JSON backups.
🔒 Security
- Worker redirect SSRF closed — upstream redirects are followed manually (max 3 hops) and every target is re-checked against the private-host guard.
- Cleaner production CSP — dev-only origins (
127.0.0.1,ws:) are stripped from the shipped Content Security Policy at build time.
♿ Accessibility & UX
- Focus management: opening a feed lands keyboard focus on its title; going back returns it where you left.
- Arabic (RTL) now mirrors correctly — episode list, badges, settings drawer and toggles.
- All controls have ≥44px touch targets (visuals unchanged) and screen-reader labels/busy states where they were missing.
- Notch-safe: the header, top bar and settings drawer respect device safe areas in installed (PWA) mode.
🖥 Windows
- The NSIS installer is now built automatically by CI on every version tag.
⚠️ The installer is currently unsigned — Windows SmartScreen may warn on first run. Choose "More info → Run anyway". The app content updates itself with every web deploy.
🧪 Quality
- Unit tests grew from 51 to 104 (plus 26 worker tests): queue, router history, offline storage, feed resolution, theme consistency, redirect guard.
Türkçe
✨ Yenilikler
- Kuyruk paneli — çalma kuyruğunun artık bir yüzü var: sıralama çubuğundan kuyruktaki bölümleri gör, yukarı/aşağı taşı, tek tek çıkar veya tümünü temizle; canlı sayaç rozeti. Tamamen klavyeyle kullanılabilir.
- Onay diyalogları — tüm yıkıcı eylemler (ilerlemeyi sıfırla, tüm verileri temizle, indirilenleri sil, abonelikten çık) artık önce soruyor; uygulama diline uygun şık bir diyalogla. İndirilenleri silme ve abonelik kaldırma daha önce hiç sormadan çalışıyordu.
- Çevrimdışı bildirimi — bağlantı koptuğunda sakin bir şerit haber verir; indirilen bölümler çalmaya devam eder.
- OPML / JSON yedeği dışa aktarınca başarı bildirimi.
🔒 Güvenlik
- Worker yönlendirme SSRF açığı kapatıldı — yönlendirmeler artık elle izleniyor (en fazla 3 sıçrama) ve her hedef özel-ağ korumasından yeniden geçiyor.
- Daha temiz üretim CSP'si — geliştirmeye özel adresler (
127.0.0.1,ws:) derleme sırasında yayınlanan güvenlik politikasından çıkarılıyor.
♿ Erişilebilirlik ve Deneyim
- Odak yönetimi: bir yayını açınca klavye odağı başlığa gelir; geri dönünce kaldığın yere döner.
- Arapça (RTL) artık doğru aynalanıyor — bölüm listesi, rozetler, ayarlar çekmecesi ve anahtarlar.
- Tüm kontrollerde ≥44px dokunma alanı (görünüm değişmedi) ve eksik olan ekran okuyucu etiketleri/durumları tamamlandı.
- Çentik desteği: başlık, üst çubuk ve ayarlar çekmecesi kurulu (PWA) modda cihazın güvenli alanlarına saygı duyuyor.
🖥 Windows
- NSIS kurulumu artık her sürüm etiketinde CI tarafından otomatik derleniyor.
⚠️ Kurulum şu an imzasız — Windows SmartScreen ilk çalıştırmada uyarabilir; "Ek bilgi → Yine de çalıştır" seç. Uygulama içeriği her web dağıtımıyla kendini günceller.
🧪 Kalite
- Birim testleri 51'den 104'e çıktı (+ 26 worker testi): kuyruk, gezinme geçmişi, çevrimdışı depolama, yayın çözümleme, tema tutarlılığı, yönlendirme koruması.
Full changelog / Tüm değişiklikler: CHANGELOG.md