[PR #1778] [CLOSED] Don't sync progress for finished content #3620

Closed
opened 2026-04-25 00:16:23 +02:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/advplyr/audiobookshelf/pull/1778
Author: @watsonbox
Created: 5/17/2023
Status: Closed

Base: masterHead: no-progress-once-finished


📝 Commits (1)

  • 1522783 Don't sync progress for finished content

📊 Changes

6 files changed (+21 additions, -9 deletions)

View changed files

📝 client/components/app/StreamContainer.vue (+4 -1)
📝 client/components/player/PlayerTrackBar.vue (+3 -2)
📝 client/components/player/PlayerUi.vue (+3 -2)
📝 client/players/PlayerHandler.js (+4 -2)
📝 server/managers/PlaybackSessionManager.js (+1 -1)
📝 server/objects/PlaybackSession.js (+6 -1)

📄 Description

This is just a drafted idea for the moment, but the goal is essentially to allow finished content to be re-visited without (necessarily) updating progress or listening stats.

This relates to a few topics currently being discussed, but most pertinently Let me use bookmarks without losing reading stats. It explores a comment on that issue which proposed the idea of a sort of preview player (one that won't track progress), but instead of being activated by a button, here it is enabled or disabled depending on finished status. That issue has now been marked as a duplicate of https://github.com/advplyr/audiobookshelf/issues/1653, so I'll add any further comments there (even if it doesn't quite feel like the same thing).

In terms of implementation, I think ultimately it might be better to have this as a setting rather than default behavior. When set, it would still of course be possible to mark the item as unfinished again to re-enable progress tracking. I created a distinction between isFinished at the session/progress level, and syncProgress at the player level, mostly because syncProgress need not necessarily only be deactivated for finished content going forward, even if that's the current proposition.

Some things which remain to be addressed:

  • Since the behavior of the player depends on finished status, changing the finished status should probably close or better yet update the player state accordingly.
  • Should a listening session be opened at all for finished content? I believe right now a listening session is required in order to get the media details, so I've left it like this for now to keep things simple.

Again, this is just an idea to see whether it's something potentially workable. I'm fine with throwing it away of course, but it turned out to be surprisingly easy to put together so I figured I'd share it all the same.


🔄 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/pull/1778 **Author:** [@watsonbox](https://github.com/watsonbox) **Created:** 5/17/2023 **Status:** ❌ Closed **Base:** `master` ← **Head:** `no-progress-once-finished` --- ### 📝 Commits (1) - [`1522783`](https://github.com/advplyr/audiobookshelf/commit/1522783034247a0fba08b7b0f175b35b9b964480) Don't sync progress for finished content ### 📊 Changes **6 files changed** (+21 additions, -9 deletions) <details> <summary>View changed files</summary> 📝 `client/components/app/StreamContainer.vue` (+4 -1) 📝 `client/components/player/PlayerTrackBar.vue` (+3 -2) 📝 `client/components/player/PlayerUi.vue` (+3 -2) 📝 `client/players/PlayerHandler.js` (+4 -2) 📝 `server/managers/PlaybackSessionManager.js` (+1 -1) 📝 `server/objects/PlaybackSession.js` (+6 -1) </details> ### 📄 Description This is just a drafted idea for the moment, but the goal is essentially to allow finished content to be re-visited without (necessarily) updating progress or listening stats. This relates to a few topics currently being discussed, but most pertinently [Let me use bookmarks without losing reading stats](https://github.com/advplyr/audiobookshelf/issues/1766#top). It explores [a comment](https://github.com/advplyr/audiobookshelf/issues/1766#issuecomment-1544529902) on that issue which proposed the idea of a sort of preview player (one that won't track progress), but instead of being activated by a button, here it is enabled or disabled depending on finished status. That issue has now been marked as a duplicate of https://github.com/advplyr/audiobookshelf/issues/1653, so I'll add any further comments there (even if it doesn't quite feel like the same thing). In terms of implementation, I think ultimately it might be better to have this as a setting rather than default behavior. When set, it would still of course be possible to mark the item as unfinished again to re-enable progress tracking. I created a distinction between `isFinished` at the session/progress level, and `syncProgress` at the player level, mostly because `syncProgress` need not necessarily only be deactivated for finished content going forward, even if that's the current proposition. Some things which remain to be addressed: * Since the behavior of the player depends on finished status, changing the finished status should probably close or better yet update the player state accordingly. * Should a listening session be opened at all for finished content? I believe right now a listening session is required in order to get the media details, so I've left it like this for now to keep things simple. Again, this is just an idea to see whether it's something potentially workable. I'm fine with throwing it away of course, but it turned out to be surprisingly easy to put together so I figured I'd share it all the same. --- <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:16:23 +02:00
adam closed this issue 2026-04-25 00:16:23 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#3620