jellyfin-web
jellyfin-web copied to clipboard
Book Position Not Remembered
Describe The Bug When I open a book and scroll through the position isn't remembered. When the book is opened again it is at the start of the book.
Media Information N/A
Screenshots
System (please complete the following information):
- Platform: Linux, Android
- Browser: Firefox, Android app
- Jellyfin Version: [e.g. 10.7.1]
Additional Context
So the book player plugin seems to have support for restoring the position:
The problem is that
startPositionTicks
is never populated. I'm not sure if this is a web issue or there just isn't support for it on the server side (both maybe?). If this is a server side issue please let me know and I'll open an issue there. Willing to work on this just need a bit of guidance on what exactly needs to be done.
Digging into this a bit more the books are calling Sessions/Playing/Progress
and sending the current position in the book. This is tested on 10.7.2.
However, if you open a book and move a few pages in, wait for the Progress call to be made and complete, close the book, and then open it again it doesn't start from the position where you left off at. If you repeat the above and refresh the page it still doesn't work, you need to let some time go by before you will get the correct position on open.
I'm not sure if this is a caching issue on the client or something on the server at this point.
Also, is anyone else seeing this or just me?
Just to add to my last comment, here you can see that a Progress
call is made with the position at not 0:
But when we reload the book the position is still 0:
I can confirm the same issue is happening to me where the book position is not being remembered.
I can confirm that this issue is still present with the following server/clients:
- Platform: Linux, Windows, iPadOS
- Browser: Firefox
- Client: Jellyfin Media Player 1.6.1, Jellyfin Mobile (iOS) v1.4.1 (5.4.1.0) with Expo v39.0.0
- Jellyfin Server Version: 10.7.6
Digging more into it:
- epubs save the progress at the end of the chapter
- pdfs tend to do the same?
- cbz/cbr do not save the progress at all
Neither of the implementations seem to do this in a reliable way as sometimes an epub and a pdf still started at the beginning of the book despite finishing off at the chapters end.
Just discovered the same issue here during setup on docker.
Server is container based but hosted on a Ubuntu machine. This then replicates to the iOS app and the Brave, Chrome and Safari browsers for me.
Glad I checked before running a calibre-web setup. Hopefully this is resolved soon, as the Jellyfin all in one access is great. I dont like having to switch between 8,000 apps for my content. Jellyfin has done it right.
Edited to call OP @shortspider
This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.
same here issue report
Looking into this it seems that the PositionTicks value is also arbitrarly updated (or per chapter) in the Progress call. So somewhere this value is only updated per chapter. Making that jellyfin only roughly saves where you are, and skips you ahead to the next chapter or back to the beginning.
Comics suffers from this bug as well sometimes. I have also noticed that large comics, ~1gb, always jump back to the beginning. I’m unsure if it’s because of the large number of pages, large file size, or something else entirely.
I wonder if it would be possible to add the save page event to when the viewer gets closed.
Do comics also use epubjs? Because epub's are in fact saved every page flip and on exit. So the problem is not that the state is not saved, the problem is that epubjs progress reporting is on a chapter-by-chapter basis. Atleast when it comes to percentage or any other form of progress reporting that is not epubcfi format. More on that discussion in epubjs here.
So I proposed the following fix in #3791 so instead of saving a number for progress saving a string would fix these issues. But I am not sure if there is a field we can repurpose for that.
The other option I could do is actually fixing the progress methods in epubjs, but it has over 400 open issues. And the latest PR to be merged dates back to february, so that would mean jellyfin would have to make it's own fork. That way we can save a number in the progress section like it expects.
Do comics also use epubjs? Because epub's are in fact saved every page flip and on exit.
It depends. Some comics come with their own format (cbz / cbr) but most large publishers I’ve seen use ePub as a format. Everything that is ePub will be parsed by epubjs, as far as I know.
But comics do have a lot more problems when they come in the ePub format #3345 . For the ePub comics I have, saving progress would be the least of problems. Xd
Same issue for me while reading pdf files
Same issue when reading epub files. It works perfectly in Firefox (Windows, Desktop) for me, but does not work on Android (Galaxy S20, neither the browser or the app).
EDIT: So, Android app does remember the place when I click the PLAY button on the base image (on the homepage) rather than going into the page summary and clicking the image. It's like with the episodes as well so it's probably intended (where it starts anew). I'll change the way I interact with the interface.