Fix OPDS-PS reading progress being off by one #4014
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I recently started reading a lot with KOReader and noticed that the Reading Progress was constantly off by one page. This lead to chapters not being marked as read correctly and resuming a chapter would start at the wrong page.
It seems that after a quick glance the OPDS-PS spec defines the page number as starting at 0 but it seems internally and especially for page counts Kavita seems to assume 1 as start index.
I tested the change with KOReader and it seems to fix the issue. Potential misbehavior is probably also limited since there are sanity checks and clamping of values in the
SaveReadingProgress
function.