Skip to content

feat(sync): two-stage manual sync for open book in reader - #232

Merged
valpr merged 2 commits into
mainfrom
feat/reader-two-stage-sync
Oct 5, 2026
Merged

valpr merged 2 commits into
mainfrom
feat/reader-two-stage-sync

Conversation

@valpr

@valpr valpr commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Reader explicit (footer) sync is now two-stage for the open book only: Phase 1 pulls then pushes reading position plus manual bookmarks, Phase 2 handles the remaining queued types. A newer cloud position surfaces via the existing jump offer (offer-only, never auto-navigates). Reconnecting an expired session now pulls the open book's read-state first (fast jump offer via a best-effort prefetch hook), then runs the full library sync with its existing retry and reconnect prompts; the full sync skips re-downloading that state via its up-to-date checks, and the open book is refreshed again after. Also adds a total error normalizer, an autosave flush before explicit sync, and stub-handler specs covering leg order, abort, prefetch download-only behavior, the no-redownload second pass, empty input and the normalizer. Verified: web check, lint, build, reader-header, sync-priority and the new single-book-two-phase specs.

@valpr
valpr enabled auto-merge (squash) October 4, 2026 23:57
@valpr
valpr disabled auto-merge October 4, 2026 23:58
@valpr
valpr enabled auto-merge (squash) October 5, 2026 00:09
@valpr
valpr merged commit 2d7b748 into main Oct 5, 2026
2 checks passed
@valpr
valpr deleted the feat/reader-two-stage-sync branch October 5, 2026 00:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant