Repository navigation
v0.1.7
Features
• Play from Beginning Option: Added a dedicated "Play from Beginning" button to the episode details modal (showEpisodeDetailsModal, updateEpisodeDetailPlayBtn), enabling one-click restarts of in-
progress or completed episodes without scrubbing.
Bug Fixes
• Episode Deduplication: Resolved duplicate cards appearing in "Continue Listening" and "Favorites" when podcast feeds update an episode's GUID while keeping the enclosure URL identical
(getInProgressEpisodes, getFavoriteEpisodes).
• Older SQLite Version Compatibility: Rewrote the deduplication subquery in db.js:636-686 using COALESCE with individual subqueries to ensure compatibility across older SQLite versions.
• Playback Error Diagnostics: Added actionable diagnostic toast notifications in app.js:1495 when audio streams fail to load, including detection and helpful hints for ad blockers and DNS shields
(such as Pi-hole or uBlock Origin) blocking third-party podcast tracking redirect domains.
• Safe Position Seeking: Deferred audio and video position seeking until media metadata is fully loaded to prevent playback race conditions.
CI & Automated Testing
• Deduplication Tests: Added unit tests in dedupe-episodes.test.js validating episode state joins across GUID mutations.
• GitHub Actions Workflow: Added automated continuous integration in test.yml running test suites against pull requests and pushes to the main branch.
Full Changelog: v0.1.6...v0.1.7