mirror of
https://github.com/pbakaus/impeccable.git
synced 2026-09-12 14:16:28 +03:00
fix(live): don't clear scroll key inside stopScrollLock
startScrollLock calls stopScrollLock at the top as a reset. I had clearScrollY() inside stopScrollLock, so every Go sequence was: writeScrollY(6749.5) → startScrollLock → stopScrollLock → clearScrollY — the persisted value was wiped right after being written, so resume after reload read null and locked to 0. Move clearScrollY to the three genuine session-end sites (hideBar error path, confirmed/accept, cleanup/discard). stopScrollLock no longer touches persistent storage. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
868d8c4126
commit
5e04a9f25a
@@ -1468,7 +1468,9 @@
|
||||
if (scrollLockRaf != null) { cancelAnimationFrame(scrollLockRaf); scrollLockRaf = null; }
|
||||
if (scrollLockAbort) { scrollLockAbort.abort(); scrollLockAbort = null; }
|
||||
scrollLockTargetY = null;
|
||||
clearScrollY();
|
||||
// NOTE: do NOT clear the persistent scroll key here. startScrollLock
|
||||
// calls us as a reset, and clearing the key would nuke the Go-time
|
||||
// scrollY that the next resume needs to read.
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -1647,6 +1649,7 @@
|
||||
stopScrollTracking();
|
||||
if (variantObserver) { variantObserver.disconnect(); variantObserver = null; }
|
||||
stopScrollLock();
|
||||
clearScrollY();
|
||||
clearSession();
|
||||
selectedElement = null;
|
||||
currentSessionId = null;
|
||||
@@ -2261,6 +2264,7 @@ void main() {
|
||||
stopScrollTracking();
|
||||
if (variantObserver) { variantObserver.disconnect(); variantObserver = null; }
|
||||
stopScrollLock();
|
||||
clearScrollY();
|
||||
clearSession();
|
||||
selectedElement = null;
|
||||
currentSessionId = null;
|
||||
@@ -2376,6 +2380,7 @@ void main() {
|
||||
stopScrollTracking();
|
||||
if (variantObserver) { variantObserver.disconnect(); variantObserver = null; }
|
||||
stopScrollLock();
|
||||
clearScrollY();
|
||||
clearSession();
|
||||
selectedElement = null;
|
||||
currentSessionId = null;
|
||||
|
||||
Reference in New Issue
Block a user