stumpapp / stump

A free and open source comics, manga and digital book server with OPDS support (WIP)

Home Page:https://stumpapp.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[BUG] "Read Again" starts at end

jacobkossman opened this issue · comments

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

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)

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

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

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

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

@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