Skip to content

fix: stabilize divina scroll navigation#667

Merged
everpcpc merged 3 commits intomainfrom
codex/fix-divina-scroll-navigation
Mar 16, 2026
Merged

fix: stabilize divina scroll navigation#667
everpcpc merged 3 commits intomainfrom
codex/fix-divina-scroll-navigation

Conversation

@everpcpc
Copy link
Copy Markdown
Owner

Problem

DIVINA scroll mode could get into a bad navigation state after fast tap-zone page turns. If programmatic page turns were interrupted or followed by a swipe, the reader could keep stale scroll targets alive, making page turns stall and increasing the chance of jumping back when the view refreshed.

Approach

Treat the active programmatic page turn as first-class reader state instead of inferring it from the last committed item. Queued reloads now prefer the active target, user drags explicitly cancel stale programmatic navigation, and the scroll coordinator only settles a programmatic turn once the target offset is actually reached.

Scope

  • Stabilize ScrollReaderEngine target tracking for queued reloads
  • Fix iOS DIVINA scroll handoff between tap-zone turns and swipe gestures
  • Keep deferred viewport restoration from snapping back to outdated anchors
  • Bump CURRENT_PROJECT_VERSION to 368

Validation

  • make format
  • make build-ios

everpcpc and others added 3 commits March 16, 2026 12:38
Prevent stale programmatic scroll state from trapping DIVINA scroll mode after tap-zone page turns.

Track active programmatic targets during queued reloads, cancel navigation cleanly when swipe takes over, and keep viewport restoration from snapping back to outdated anchors.
@everpcpc everpcpc merged commit 0bb461c into main Mar 16, 2026
3 checks passed
@everpcpc everpcpc deleted the codex/fix-divina-scroll-navigation branch March 16, 2026 04:49
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