[PR #1810] feat: auto-play next episode when playing podcast playlists #1703

Open
opened 2026-04-25 00:00:43 +02:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/advplyr/audiobookshelf-app/pull/1810
Author: @Pittermaennchen
Created: 2/22/2026
Status: 🔄 Open

Base: masterHead: master


📝 Commits (6)

  • 2e1e0fc feat: auto-play next episode when playing podcast playlists
  • 5b49b88 fix: forward ENDED metadata event to JS when app is backgrounded
  • e243477 fix: use correct app icons in debug build
  • d5761a7 fix: advance podcast playlist natively to survive Android Doze mode
  • fc028d4 fix: keep CPU/network awake during podcast playlist advancement
  • 083d151 fix: robust background playlist advancement for podcast playlists

📊 Changes

34 files changed (+386 additions, -27 deletions)

View changed files

CLAUDE.md (+95 -0)
📝 android/app/src/debug/res/mipmap-hdpi/ic_launcher.png (+0 -0)
📝 android/app/src/debug/res/mipmap-hdpi/ic_launcher_background.png (+0 -0)
📝 android/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.png (+0 -0)
📝 android/app/src/debug/res/mipmap-hdpi/ic_launcher_round.png (+0 -0)
📝 android/app/src/debug/res/mipmap-mdpi/ic_launcher.png (+0 -0)
📝 android/app/src/debug/res/mipmap-mdpi/ic_launcher_background.png (+0 -0)
📝 android/app/src/debug/res/mipmap-mdpi/ic_launcher_foreground.png (+0 -0)
📝 android/app/src/debug/res/mipmap-mdpi/ic_launcher_round.png (+0 -0)
📝 android/app/src/debug/res/mipmap-xhdpi/ic_launcher.png (+0 -0)
📝 android/app/src/debug/res/mipmap-xhdpi/ic_launcher_background.png (+0 -0)
📝 android/app/src/debug/res/mipmap-xhdpi/ic_launcher_foreground.png (+0 -0)
📝 android/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.png (+0 -0)
📝 android/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png (+0 -0)
📝 android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_background.png (+0 -0)
📝 android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_foreground.png (+0 -0)
📝 android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.png (+0 -0)
📝 android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png (+0 -0)
📝 android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_background.png (+0 -0)
📝 android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_foreground.png (+0 -0)

...and 14 more files

📄 Description

Summary

  • When playback ends while a playlist queue is active, automatically start the next episode instead of stopping
  • Add playlistQueue state to Vuex store to track current playlist context (playlistId, items, currentIndex)
  • Set queue context in playlist/_id.vue when the play button is pressed
  • Pass playable items down to ItemTableRow so individual episode clicks also set up the queue for sequential playback
  • Emit playback-ended event from AudioPlayer on STATE_ENDED
  • Handle playback-ended in AudioPlayerContainer to advance the queue and trigger the next play-item; clear queue when playing outside a playlist

Test plan

  • Open the Podcasts library and navigate to a playlist
  • Press the playlist play button and verify the first unfinished episode starts playing
  • Wait for the episode to end and verify the next episode in the playlist starts automatically
  • Verify playback stops after the last episode in the playlist
  • Click an individual episode in the playlist table and verify auto-play continues to the next episode
  • Play an item outside of a playlist and verify the queue is cleared (no unintended auto-play)
  • Test with locally downloaded episodes as well as streamed episodes

🤖 Generated with Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/advplyr/audiobookshelf-app/pull/1810 **Author:** [@Pittermaennchen](https://github.com/Pittermaennchen) **Created:** 2/22/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (6) - [`2e1e0fc`](https://github.com/advplyr/audiobookshelf-app/commit/2e1e0fc1dad319f93b785c20fb01334fce6c7279) feat: auto-play next episode when playing podcast playlists - [`5b49b88`](https://github.com/advplyr/audiobookshelf-app/commit/5b49b88fd40d39b1682f2ace029346f62381fba6) fix: forward ENDED metadata event to JS when app is backgrounded - [`e243477`](https://github.com/advplyr/audiobookshelf-app/commit/e24347742b41ee6fab8cef92990e782b995bd9c9) fix: use correct app icons in debug build - [`d5761a7`](https://github.com/advplyr/audiobookshelf-app/commit/d5761a7d57e3d4e3be3571728e50fb27fbea2403) fix: advance podcast playlist natively to survive Android Doze mode - [`fc028d4`](https://github.com/advplyr/audiobookshelf-app/commit/fc028d482922b68769eb16a9a5b4d721cd999361) fix: keep CPU/network awake during podcast playlist advancement - [`083d151`](https://github.com/advplyr/audiobookshelf-app/commit/083d1511f0936f217de1dbaeec20bc4472e0f51f) fix: robust background playlist advancement for podcast playlists ### 📊 Changes **34 files changed** (+386 additions, -27 deletions) <details> <summary>View changed files</summary> ➕ `CLAUDE.md` (+95 -0) 📝 `android/app/src/debug/res/mipmap-hdpi/ic_launcher.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-hdpi/ic_launcher_background.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-hdpi/ic_launcher_round.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-mdpi/ic_launcher.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-mdpi/ic_launcher_background.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-mdpi/ic_launcher_foreground.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-mdpi/ic_launcher_round.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-xhdpi/ic_launcher.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-xhdpi/ic_launcher_background.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-xhdpi/ic_launcher_foreground.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_background.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_foreground.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_background.png` (+0 -0) 📝 `android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_foreground.png` (+0 -0) _...and 14 more files_ </details> ### 📄 Description ## Summary - When playback ends while a playlist queue is active, automatically start the next episode instead of stopping - Add `playlistQueue` state to Vuex store to track current playlist context (`playlistId`, `items`, `currentIndex`) - Set queue context in `playlist/_id.vue` when the play button is pressed - Pass playable items down to `ItemTableRow` so individual episode clicks also set up the queue for sequential playback - Emit `playback-ended` event from `AudioPlayer` on `STATE_ENDED` - Handle `playback-ended` in `AudioPlayerContainer` to advance the queue and trigger the next `play-item`; clear queue when playing outside a playlist ## Test plan - [x] Open the Podcasts library and navigate to a playlist - [x] Press the playlist play button and verify the first unfinished episode starts playing - [x] Wait for the episode to end and verify the next episode in the playlist starts automatically - [x] Verify playback stops after the last episode in the playlist - [x] Click an individual episode in the playlist table and verify auto-play continues to the next episode - [x] Play an item outside of a playlist and verify the queue is cleared (no unintended auto-play) - [x] Test with locally downloaded episodes as well as streamed episodes 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2026-04-25 00:00:43 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf-app#1703