fix(koreader): offer a further place before a fresh copy pushes its own

A device that had not weighed its open book against BookOrbit since
opening dated its place by its last page turn. One turn from a fresh
download's cover made another device's further place look older, so
Sync now pushed the cover over it without asking, and the phone then
reopened the book at its title page.

Until the open book's place has been compared with BookOrbit's (a pull
or push went through, or Jump or Stay was answered), a further BookOrbit
place now also counts as newer, so Sync now and pulls offer Jump instead
of overwriting it. Once compared, page-turn times decide as before, and a
reset stamped after the last page turn still prompts.

Ref #1806
This commit is contained in:
neon
2026-10-19 23:03:05 +00:00
parent 6440281e65
commit 1a2ffb68c0
4 changed files with 205 additions and 13 deletions
@@ -85,6 +85,8 @@ local BookOrbit = WidgetContainer:extend{
pull_timestamp = nil,
last_page = nil,
last_page_turn_timestamp = nil,
-- Digest of the open book once its place was weighed against BookOrbit's.
progress_compared_digest = nil,
settings = nil,
}