Uncommitted sx-tools changes: WASM bundles, Playwright specs, engine fixes

WASM browser bundles rebuilt with latest kernel. Playwright test specs
updated (helpers, navigation, handler-responses, hypermedia-handlers,
isomorphic, SPA navigation). Engine/boot/orchestration SX files updated.
Handler examples and not-found page refreshed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-02 18:58:38 +00:00
parent 14d5158b06
commit 6d5c410d68
28 changed files with 375 additions and 171 deletions

View File

@@ -346,7 +346,51 @@
(resp-ok status get-header text)
(when
resp-ok
(dom-set-inner-html main text)
(let
((ct (or (get-header "content-type") "")))
(if
(contains? ct "text/html")
(let
((parser (host-new "DOMParser"))
(doc (host-call parser "parseFromString" text "text/html"))
(content (host-call doc "querySelector" "#sx-content")))
(if
content
(dom-set-inner-html main (host-get content "innerHTML"))
(dom-set-inner-html main text)))
(let
((container (dom-create-element "div")))
(let
((rendered (sx-render text)))
(when
rendered
(dom-append container rendered)
(process-oob-swaps
container
(fn
(t oob (s :as string))
(dispose-islands-in t)
(swap-dom-nodes
t
(if
(= s "innerHTML")
(children-to-fragment oob)
oob)
s)
(post-swap t)))
(let
((content (select-from-container container "#sx-content")))
(if
content
(do
(dispose-islands-in main)
(dom-set-inner-html main "")
(dom-append main content))
(do
(dispose-islands-in main)
(dom-set-inner-html
main
(dom-get-inner-html container))))))))))
(post-swap main)
(host-call (dom-window) "scrollTo" 0 scroll-y)))
(fn (err) (log-warn (str "fetch-and-restore error: " err))))))