Merge sx-tools: test coverage + bug fixes + Playwright fixes

- 7 new test files (~268 tests): stdlib, adapter-html, adapter-dom,
  boot-helpers, page-helpers, layout, tw-layout
- Fix component-pure? transitive scan, render-target crash on unknown
  components, &rest param binding (String vs Symbol), swap! extra args
- Fix 5 Playwright marshes tests: timing + test logic
- 2522/2522 OCaml tests, 173/173 Playwright tests

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

# Conflicts:
#	shared/static/wasm/sx/orchestration.sxbc
#	shared/static/wasm/sx_browser.bc.js
#	shared/static/wasm/sx_browser.bc.wasm.js
#	sx/sx/not-found.sx
#	tests/playwright/isomorphic.spec.js
This commit is contained in:
2026-04-02 18:59:45 +00:00
29 changed files with 1770 additions and 1359 deletions

View File

@@ -413,6 +413,14 @@
"hydrated:", !!islands[j]._sxBoundislandhydrated || !!islands[j]["_sxBound" + "island-hydrated"],
"children:", islands[j].children.length);
}
// Register popstate handler for back/forward navigation
window.addEventListener("popstate", function(e) {
var state = e.state;
var scrollY = (state && state.scrollY) ? state.scrollY : 0;
K.eval("(handle-popstate " + scrollY + ")");
});
// Signal boot complete
document.documentElement.setAttribute("data-sx-ready", "true");
console.log("[sx] boot done");
}
}