Skip to content

v2.1.0 — Waveform scrubber, design system & performance

Choose a tag to compare

@IACBI IACBI released this 20 Jun 01:16

Highlights

  • Waveform scrubber — the flat progress bar is now an amplitude waveform you can drag to seek, with a live playhead and time tooltip. Bars are generated locally from a deterministic per-episode seed (no audio analysis needed).
  • Living equalizer — the now-playing equalizer animates only during playback, and the currently-playing episode row shows a mini-equalizer in place of its index.
  • Solid design system — spacing, type, motion-duration and elevation token scales; now-playing title crossfade; refined, theme-aware visuals across Dark, Light and OLED.

Fixed

  • Podcast load failure / "Failed to fetch." Worked around the iTunes CDN serving cached responses bearing another origin's CORS header: requests now use a cache-busting parameter (plus a CORS-proxy fallback) so every request is fresh and correctly attributed.
  • Light theme readability — themed surface/text tokens, a theme-aware wordmark sheen (so "Seseri" no longer disappears on white), cleaner hero vignette, AA-legible captions.

Changed

  • Path-independent deployment — manifest scope/start_url, the Service Worker, and 404.html resolve relative paths, so the app runs at any base URL with no configuration. The Service Worker is now network-first for navigations (new deploys appear immediately); cache bumped to seseri-v2.

Performance

  • Removed the stacked backdrop-filter blurs from the settings drawer that caused an FPS drop on open/scroll (solid surface + composited slide).
  • Episode rows use content-visibility so off-screen rows in long feeds aren't rendered until scrolled into view.
  • Background motion pauses while the settings drawer is open; dropped the animated hero-glow blur filter; momentum + overscroll-behavior: contain on scroll areas.

Full changelog: CHANGELOG.md