mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 08:21:39 -06:00
d06e29a889
The ring read only reading_progress, the stored reading position, which nothing writes except the web reader, Kobo sync and KOReader sync. Manual sessions record endProgress on the session row and touch nothing else, so a book whose whole history was entered by hand sat at 0% no matter how far the sessions ran, and marking it read did not help either. Surface the log's own view of progress instead of writing a reading position from a manual session: that path also drives auto read-status updates, achievement events and Hardcover and StoryGraph sync, and would store a position with no CFI for the reader to restore. Take the most recent session that recorded an endProgress rather than the highest, so a reread still reads correctly once its first session lands. Read it outside the list date and format filters, otherwise narrowing the log would drag the ring down with it. The client folds the value into the max it already computes across ebook and audiobook positions, which also lets the ring update when a session is added or deleted. Closes #1030