Skip to content

Seseri 3.1.0 — Queue panel, confirm dialogs, RTL & security hardening

Choose a tag to compare

@github-actions github-actions released this 08 Jul 12:59

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