[Enhancement]: Continue Series to show only books with sequence higher than a finished book in the same series #1782

Closed
opened 2026-04-24 23:58:04 +02:00 by adam · 5 comments
Owner

Originally created by @justcallmelarry on GitHub (Feb 28, 2024).

Describe the feature/enhancement

Suggestion

When listening to a series like Wheel of Time for example, there is a prequel book (book#0) which always lists in the "Continue Series" shelf unless it has been marked as finished.

If I do not listen to the book, but instead start at book#1 and want to continue in the series, book#0 will always be shown first on the "Continue Series" shelf.

I would wish for the "Continue Series" shelf (either by default or with a setting on library level for example) to only show me the lowest sequence of the series that is still higher than my highest finished, ie in this example it would show book#2.

In my case this makes it so that I do not get new books of the series showing up in the shelf when they are released.
If I have listened to book#1-3 in series X somewhere else and listen to book#4-6 on ABS, then book#7 is released book#1 will still show up in the shelf.

I know I can mark them as played, but this also messes with my stats, so I would rather leave them un-listened to since this is also the truth for the service in particular.

Things to consider

  • What should be shown (if anything) when you reach the last book of the series? My preference would be to not show it since you are caught up with the last book, but if it circles around I would also be OK with that.
  • This would not really help re-listeners, but I think the Continue Series shelf is not great for that right now anyway (unless I'm doing something incorrectly)
  • Should this be default-/library-/user-behaviour? (breaking change if default)
Originally created by @justcallmelarry on GitHub (Feb 28, 2024). ### Describe the feature/enhancement ## Suggestion When listening to a series like Wheel of Time for example, there is a prequel book (book#0) which always lists in the "Continue Series" shelf unless it has been marked as finished. If I do not listen to the book, but instead start at book#1 and want to continue in the series, book#0 will always be shown first on the "Continue Series" shelf. I would wish for the "Continue Series" shelf (either by default or with a setting on library level for example) to only show me the lowest sequence of the series that is still higher than my highest finished, ie in this example it would show book#2. In my case this makes it so that I do not get new books of the series showing up in the shelf when they are released. If I have listened to book#1-3 in series X somewhere else and listen to book#4-6 on ABS, then book#7 is released book#1 will still show up in the shelf. I know I can mark them as played, but this also messes with my stats, so I would rather leave them un-listened to since this is also the truth for the service in particular. ### Things to consider * What should be shown (if anything) when you reach the last book of the series? My preference would be to not show it since you are caught up with the last book, but if it circles around I would also be OK with that. * This would not really help re-listeners, but I think the Continue Series shelf is not great for that right now anyway (unless I'm doing something incorrectly) * Should this be default-/library-/user-behaviour? (breaking change if default)
adam added the enhancement label 2026-04-24 23:58:04 +02:00
adam closed this issue 2026-04-24 23:58:04 +02:00
Author
Owner

@theboo commented on GitHub (Mar 12, 2024):

For my personal usecase, an option(not default) to make it always show the next unread book in the series rather than the first unread book in the series would be perfect... But man, on discord there's sure a lot of people with a lot of different scenarios for this stuff lol, would be hard to please them all I think.

@theboo commented on GitHub (Mar 12, 2024): For my personal usecase, an option(not default) to make it always show the next unread book in the series rather than the first unread book in the series would be perfect... But man, on discord there's sure a lot of people with a lot of different scenarios for this stuff lol, would be hard to please them all I think.
Author
Owner

@justcallmelarry commented on GitHub (Mar 12, 2024):

I was tinkering around a bit with it and came to the following conclusions:

Default behaviour

I tried adding functionality which first tries to get the "next" unread book in the series and if there are none, it loops around to just take whatever the first unread book in the series is.

Positives

This was pretty easy to implement!
No translations needed.
New books in a series (added later) would show up as "next" when added.

Negatives

Breaking change which not everyone might like.
Even if newly books are added to the shelf automatically, they can be long down the list as the recent_progress will not have been updated since the latest book.

User setting

Negatives

Can't really find many user specific settings, so did not spend a lot of time on figuring out how to store it and gave up on this option more or less.

Library setting

Positives

This was also pretty easy to implement (I just made a switch just like for hide single book series)
Allows for changes behaviour (not looping back to first unread when no next unread is available)
Does not change default behaviour.

Negatives

Would need translations for the setting in all languages. Not sure how this is done generally for new copy?

Additional thoughts

I think a change to library settings would be the way to go. I called it something like "Only show later books in Continue Reading" and had it show the next unread book and never loop around to first unread book, which is exactly the functionality I personally would wish for (then new books would show up as they are released and added to the library)

However as stated before, there are very differing opinions on how the continue series shelf should work, so I'm not sure if I should open a PR with those changes or not.

Also not sure how to add translations for the new copy if I open a PR. :)

@justcallmelarry commented on GitHub (Mar 12, 2024): I was tinkering around a bit with it and came to the following conclusions: ## Default behaviour I tried adding functionality which first tries to get the "next" unread book in the series and if there are none, it loops around to just take whatever the first unread book in the series is. ### Positives This was pretty easy to implement! No translations needed. New books in a series (added later) would show up as "next" when added. ### Negatives Breaking change which not everyone might like. Even if newly books are added to the shelf automatically, they can be long down the list as the `recent_progress` will not have been updated since the latest book. ## User setting ### Negatives Can't really find many user specific settings, so did not spend a lot of time on figuring out how to store it and gave up on this option more or less. ## Library setting ### Positives This was also pretty easy to implement (I just made a switch just like for hide single book series) Allows for changes behaviour (not looping back to first unread when no next unread is available) Does not change default behaviour. ### Negatives Would need translations for the setting in all languages. Not sure how this is done generally for new copy? ## Additional thoughts I think a change to library settings would be the way to go. I called it something like "Only show later books in Continue Reading" and had it show the next unread book and never loop around to first unread book, which is exactly the functionality I personally would wish for (then new books would show up as they are released and added to the library) However as stated before, there are very differing opinions on how the continue series shelf should work, so I'm not sure if I should open a PR with those changes or not. Also not sure how to add translations for the new copy if I open a PR. :)
Author
Owner

@nichwall commented on GitHub (Mar 12, 2024):

I think this would be better as a user specific setting (for the reasons you mentioned about everyone having different opinions), but a library setting should be good enough.

For translations, you only need to add new keys to client/strings/en-us.json. Just make sure the keys are alphabetical, there's a script to copy any new keys for translations so you don't need to worry about the other languages as long as you put it in the English file.

If you have a setting and have already done most of the work, I'd say it's (probably) worth opening a PR once it's in a good state if only so people can help test it out. It may be a while before advplyr has a chance to look at it.

@nichwall commented on GitHub (Mar 12, 2024): I think this would be better as a user specific setting (for the reasons you mentioned about everyone having different opinions), but a library setting should be good enough. For translations, you only need to add new keys to `client/strings/en-us.json`. Just make sure the keys are alphabetical, there's a script to copy any new keys for translations so you don't need to worry about the other languages as long as you put it in the English file. If you have a setting and have already done most of the work, I'd say it's (probably) worth opening a PR once it's in a good state if only so people can help test it out. It may be a while before advplyr has a chance to look at it.
Author
Owner

@justcallmelarry commented on GitHub (Mar 12, 2024):

I think this would be better as a user specific setting (for the reasons you mentioned about everyone having different opinions), but a library setting should be good enough.

For translations, you only need to add new keys to client/strings/en-us.json. Just make sure the keys are alphabetical, there's a script to copy any new keys for translations so you don't need to worry about the other languages as long as you put it in the English file.

If you have a setting and have already done most of the work, I'd say it's (probably) worth opening a PR once it's in a good state if only so people can help test it out. It may be a while before advplyr has a chance to look at it.

Thanks! I'll do that, I also don't mind if the work gets discarded at some point (either way I had a nice learning experience), so I can open up a PR either way as long as it's not spamming the core contributors.

The copy for the toggle (and the setting variable name) is something that I think could be improved upon a great deal, but unfortunately I do not have any bouts of inspiration regarding it.

@justcallmelarry commented on GitHub (Mar 12, 2024): > I think this would be better as a user specific setting (for the reasons you mentioned about everyone having different opinions), but a library setting should be good enough. > > For translations, you only need to add new keys to `client/strings/en-us.json`. Just make sure the keys are alphabetical, there's a script to copy any new keys for translations so you don't need to worry about the other languages as long as you put it in the English file. > > If you have a setting and have already done most of the work, I'd say it's (probably) worth opening a PR once it's in a good state if only so people can help test it out. It may be a while before advplyr has a chance to look at it. Thanks! I'll do that, I also don't mind if the work gets discarded at some point (either way I had a nice learning experience), so I can open up a PR either way as long as it's not spamming the core contributors. The copy for the toggle (and the setting variable name) is something that I think could be improved upon a great deal, but unfortunately I do not have any bouts of inspiration regarding it.
Author
Owner

@advplyr commented on GitHub (Mar 16, 2024):

Added in v2.8.1

@advplyr commented on GitHub (Mar 16, 2024): Added in [v2.8.1](https://github.com/advplyr/audiobookshelf/releases/tag/v2.8.1)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#1782