stumpapp / stump

A free and open source comics, manga and digital book server with OPDS support (WIP)
https://stumpapp.dev
MIT License
863 stars 34 forks source link

[BUG] "Read Again" starts at end #206

Closed jacobkossman closed 7 months ago

jacobkossman commented 7 months ago

Describe the bug When you've finished reading, the "read again" button starts at the end of the book. This should be simple to just lop off the ?page= at the end of the URL.

To Reproduce Steps to reproduce the behavior:

  1. Read an entire book
  2. Go to the main page for the book
  3. Click "Read Again" button
  4. Starts on last page

Expected behavior Should start on the first page

aaronleopold commented 7 months ago

Hey 👋 thanks for reporting this!

What is the ideal behavior for this situation, in your opinion?

  1. Maintain completion status (completed_at and is_completed) but change page state for progress (i.e. reset to 1)
  2. Remove completion status and change page state for progress (i.e. hard progress reset)
  3. Some other third thing

I wanted to double check because, depending on which is the ideal set of actions, this could affect things like getting the in progress media (which currently filters for media with is_completed set to false)

jacobkossman commented 7 months ago

I think completed_at should be a list of dates (with at least one) then is_completed and page is reset. Basically the way Plex works where you can watch things multiple times but reset the watch state of an episode / show / season etc.

Mostly so that in the future you can look and be like "i read this on X dates" etc

aaronleopold commented 7 months ago

I think completed_at should be a list of dates (with at least one)... Mostly so that in the future you can look and be like "i read this on X dates" etc

I do like this functionality where you can see all the times you've completed a book like that, but it would require a surprising amount of changes to support. I'm going to branch that aspect off into a feature request, and lower the scope of this bug to just reset is_completed and page while leaving the completed_at date

jacobkossman commented 7 months ago

can you not make a new variable instead of changing the existing one? not sure if thatd be easier

aaronleopold commented 7 months ago

can you not make a new variable instead of changing the existing one? not sure if thatd be easier

Yeah, I outlined basically that in the linked ticket I created for this functionality:

Maybe rename read_progress(es) to current_read_session(s)

I maybe didn't explain it very well, but the idea would then be that completion status could be tracked by something like completion_history or honestly read_history, and read_session would track stuff like the page/epubcfi/etc. The issue is the work to do it either way is mostly the same, since the end goal would be to use the new column instead of the old one. So all the API and UI work would have to get done all the same

aaronleopold commented 7 months ago

@jacobkossman This should be resolved once the next nightly build completes. If you still encounter the issue let me know, otherwise I'll close this as completed