
shenleiandClaude
c555329948
fix: pageCurl翻页后偶尔刷新回章节第一页
根因:.extendPartial pageMap更新提交时使用了异步扩展开始时捕获的
currentPageNumber/currentLocation,在pageCurl模式下用户可能已经翻了几页,
导致过时值通过transitionToPage把用户拉回旧位置。
修复三点:
1. PresentationRuntime: .extendPartial fallback不再使用捕获的
currentPageNumber,改用readerView.currentPage实时值
2. ChapterWarmupOrchestrator: 异步加载完成回调中使用实时位置
(readerView.currentPage + locationCoordinator.currentVisibleLocation())
而非异步开始时捕获的旧值
3. PresentationRuntime: rebindVisiblePage在pageCurl模式下,
如果正在翻页动画中(isPageCurlTransitioning),延迟到动画结束后
再用实时currentPage执行transitionToPage,避免在pageNum回调栈
内同步触发transitionToPage导致重入
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-25 16:52:38 +08:00
..
2026-06-22 20:26:34 +08:00
2026-06-25 16:52:38 +08:00
2026-06-25 15:39:58 +08:00
2026-06-25 15:39:58 +08:00
2026-06-24 17:47:24 +08:00
2026-06-24 17:47:24 +08:00
2026-06-25 15:39:58 +08:00
2026-06-25 15:39:58 +08:00
2026-06-22 20:26:34 +08:00
2026-06-22 20:26:34 +08:00
2026-06-22 20:26:34 +08:00
2026-06-24 17:47:24 +08:00
2026-06-25 15:39:58 +08:00
2026-06-24 17:47:24 +08:00
2026-06-24 17:47:24 +08:00
2026-06-25 15:39:58 +08:00
2026-06-22 20:26:34 +08:00
2026-06-22 20:26:34 +08:00
2026-06-22 20:26:34 +08:00
2026-06-22 20:26:34 +08:00
2026-06-22 20:26:34 +08:00
2026-06-22 20:26:34 +08:00
2026-06-22 20:26:34 +08:00
2026-06-24 17:47:24 +08:00
2026-06-22 20:26:34 +08:00
2026-06-22 20:26:34 +08:00
2026-06-22 20:26:34 +08:00
2026-06-22 20:26:34 +08:00
2026-06-25 15:39:58 +08:00
2026-06-22 20:26:34 +08:00
2026-06-22 20:26:34 +08:00
2026-06-24 17:47:24 +08:00
2026-06-24 17:47:24 +08:00
2026-06-22 20:26:34 +08:00