Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Book Position Not Remembered #2582

Open
shortspider opened this issue Apr 11, 2021 · 13 comments
Open

Book Position Not Remembered #2582

shortspider opened this issue Apr 11, 2021 · 13 comments
Labels
confirmed The issue has been verified playback This PR or issue mainly concerns playback

Comments

@shortspider
Copy link
Contributor

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:
image
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.

@shortspider shortspider added the playback This PR or issue mainly concerns playback label Apr 11, 2021
@shortspider
Copy link
Contributor Author

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?

@shortspider
Copy link
Contributor Author

Just to add to my last comment, here you can see that a Progress call is made with the position at not 0:
image
But when we reload the book the position is still 0:
image

@tariq7t
Copy link

tariq7t commented Apr 24, 2021

I can confirm the same issue is happening to me where the book position is not being remembered.

@carif
Copy link
Contributor

carif commented Aug 2, 2021

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.

@RemoteMedia
Copy link

RemoteMedia commented Aug 16, 2021

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

@jellyfin-bot
Copy link
Collaborator

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.

@jellyfin-bot jellyfin-bot added the stale No activity for an extended length of time label Feb 27, 2022
@thornbill thornbill added confirmed The issue has been verified and removed stale No activity for an extended length of time labels Mar 2, 2022
@xnklerEd
Copy link

same here issue report

@RemcoSchrijver
Copy link
Contributor

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.

@rourien
Copy link
Contributor

rourien commented Aug 25, 2022

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.

@RemcoSchrijver
Copy link
Contributor

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.

@carif
Copy link
Contributor

carif commented Aug 25, 2022

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

@CallMeYuuuu
Copy link

Same issue for me while reading pdf files

@aeriessy
Copy link

aeriessy commented Aug 15, 2023

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
confirmed The issue has been verified playback This PR or issue mainly concerns playback
Projects
None yet
Development

No branches or pull requests