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:
@@ -358,7 +358,39 @@
|
||||
content
|
||||
(dom-set-inner-html main (host-get content "innerHTML"))
|
||||
(dom-set-inner-html main text)))
|
||||
(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))))))
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -361,9 +361,14 @@
|
||||
(=
|
||||
(dom-get-attr old-node "data-sx-island")
|
||||
(dom-get-attr new-node "data-sx-island")))
|
||||
(do
|
||||
(let
|
||||
((old-state (dom-get-attr old-node "data-sx-state"))
|
||||
(new-state (dom-get-attr new-node "data-sx-state")))
|
||||
(sync-attrs old-node new-node)
|
||||
(morph-island-children old-node new-node))
|
||||
(if
|
||||
(and new-state (not (= old-state new-state)))
|
||||
(do (dispose-island old-node) (hydrate-island old-node))
|
||||
(morph-island-children old-node new-node)))
|
||||
(or
|
||||
(not (= (dom-node-type old-node) (dom-node-type new-node)))
|
||||
(not (= (dom-node-name old-node) (dom-node-name new-node))))
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -572,9 +572,7 @@
|
||||
(and settle-expr (not (empty? settle-expr)))
|
||||
(let
|
||||
((exprs (sx-parse settle-expr)))
|
||||
(for-each
|
||||
(fn (expr) (eval-expr expr (env-extend (dict))))
|
||||
exprs))))))
|
||||
(for-each (fn (expr) (cek-eval expr)) exprs))))))
|
||||
|
||||
(define
|
||||
activate-scripts
|
||||
@@ -1585,12 +1583,9 @@
|
||||
(pathname (url-pathname url)))
|
||||
(when
|
||||
target
|
||||
(if
|
||||
(try-client-route pathname target-sel)
|
||||
(browser-scroll-to 0 scrollY)
|
||||
(let
|
||||
((headers (dict "SX-History-Restore" "true")))
|
||||
(fetch-and-restore target url headers scrollY)))))))
|
||||
(let
|
||||
((headers (dict "SX-Request" "true")))
|
||||
(fetch-and-restore target url headers scrollY))))))
|
||||
|
||||
(define
|
||||
engine-init
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
shared/static/wasm/sx_browser.bc.wasm.assets/sx-de8114db.wasm
Normal file
BIN
shared/static/wasm/sx_browser.bc.wasm.assets/sx-de8114db.wasm
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -1792,7 +1792,7 @@
|
||||
blake2_js_for_wasm_create: blake2_js_for_wasm_create};
|
||||
}
|
||||
(globalThis))
|
||||
({"link":[["runtime-0db9b496",0],["prelude-d7e4b000",0],["stdlib-23ce0836",[]],["sx-69cfbc7f",[2]],["jsoo_runtime-f96b44a8",[2]],["js_of_ocaml-651f6707",[2,4]],["dune__exe__Sx_browser-9ecd0d53",[2,3,5]],["std_exit-10fb8830",[2]],["start-80fdb768",0]],"generated":(b=>{var
|
||||
({"link":[["runtime-0db9b496",0],["prelude-d7e4b000",0],["stdlib-23ce0836",[]],["sx-de8114db",[2]],["jsoo_runtime-f96b44a8",[2]],["js_of_ocaml-651f6707",[2,4]],["dune__exe__Sx_browser-9ecd0d53",[2,3,5]],["std_exit-10fb8830",[2]],["start-80fdb768",0]],"generated":(b=>{var
|
||||
c=b,a=b?.module?.export||b;return{"env":{"caml_ba_kind_of_typed_array":()=>{throw new
|
||||
Error("caml_ba_kind_of_typed_array not implemented")},"caml_exn_with_js_backtrace":()=>{throw new
|
||||
Error("caml_exn_with_js_backtrace not implemented")},"caml_int64_create_lo_mi_hi":()=>{throw new
|
||||
|
||||
Reference in New Issue
Block a user