fix(app): prevent scrollend position rollback

Discard virtualizer measurement corrections suppressed during an active user gesture instead of replaying stale offsets at scrollend. Preserve post-scroll live anchoring and add unit plus Electron coverage for ordinary scrolling without updates.
This commit is contained in:
tommy0103
2026-07-15 02:19:55 +08:00
parent 82d9fbf657
commit 5294d76f07
6 changed files with 69 additions and 30 deletions
@@ -49,7 +49,7 @@ test('timeline viewport owns measurement and anchoring while SessionDetail alone
assert.match(viewportModule, /scrollToFn:\s*scrollPolicy\.scrollToFn/);
assert.match(viewportModule, /useScrollendEvent:\s*true/);
assert.match(viewportModule, /isScrollingResetDelay:\s*450/);
assert.match(viewportModule, /settleUserScroll/);
assert.doesNotMatch(viewportModule + sessionDetail, /settleUserScroll|flushDeferredAdjustment/);
assert.match(viewportModule, /useAnimationFrameWithResizeObserver:\s*true/);
assert.match(viewportModule, /scrollPaddingEnd/);
assert.match(viewportModule, /scrollToIndex/);