SPA nav improvements: scroll restoration, popstate, history spec

- boot.sx: popstate handler extracts scrollY from history state
- engine.sx: pass scroll position to handle-popstate
- boot-helpers.sx: scroll position tracking in navigation
- orchestration.sx: scroll state management for back/forward nav
- history.spec.js: new Playwright spec for history navigation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-02 15:36:24 +00:00
parent bea8779aea
commit b6e144a6fd
5 changed files with 217 additions and 8 deletions

View File

@@ -719,7 +719,9 @@
hdr-replace
(browser-replace-state hdr-replace)
(and push-url (not (= push-url "false")))
(browser-push-state (if (= push-url "true") url push-url))
(do
(save-scroll-position)
(browser-push-state (if (= push-url "true") url push-url)))
(and replace-url (not (= replace-url "false")))
(browser-replace-state (if (= replace-url "true") url replace-url))))))