Repository navigation
Conversation
Port the library to the solid-js 2.0 release candidate, @solidjs/web and @solidjs/router 2.0, on a branch that stays unpublished until Solid 2 ships. - The engine keeps its state in plain variables and publishes each move to the signals on a microtask. Its own logic never reads back a write Solid has not committed yet, and a bar started inside an action() shows while the action is in flight instead of when its transition commits. - <RouteProgress> takes the in-flight target from useIsRouting() and the location's latest value. The useBeforeLeave() flag cleared on a microtask no longer worked: router 2.0 flips isRouting after that microtask. - Client-only memos and effects are transparent to hydration ids, so the nodes after the bar still hydrate against the server's ids. - Tests, the dev playground and the build move to the Solid 2 toolchain. The docs site keeps building on Solid 1 against the published 1.x package until it moves to Solid 2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016vK1cfoUAbKghdSJTmgoPC
A Vitest global setup renders pages with Vite's SSR build, the same plugin
an app's server build uses, and hands the HTML to a jsdom project compiled
as hydratable client code. Each page hydrates in its own file, as one
hydration per page load. The pages put data and elements after the bar
that hydration finds by id, and each side answers the data differently,
so a page shows whether the server's answer was adopted.
A control page with no bar pins the harness. Without the transparent
option on the client-only memos and effects, the client looked for keys
the server never sent ("400" against "000"), so the bar and the data
after it were created detached. With it, every element is claimed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016vK1cfoUAbKghdSJTmgoPC
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
# Conflicts: # package.json # pnpm-lock.yaml # www/package.json
CodeQL flagged the `<script>` regex (js/bad-tag-filter): it misses `<SCRIPT>` and other spellings an HTML parser accepts. Parse the markup with a template and run each script element's text in document order, as the browser does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016vK1cfoUAbKghdSJTmgoPC
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes
Ports the library to the Solid 2 release candidate (
solid-jsand@solidjs/web2.0.0-rc.16,@solidjs/router2.0.0-next.41). This stays a draft until Solid 2 ships. Merging it is the 2.0.0 major, andmaingets av1branch for Solid 1 fixes first.action()shows while the action runs, instead of once its transition commits.<RouteProgress>reads the in-flight target fromuseIsRouting()andlatest(location), so it no longer needsuseBeforeLeave()or its microtask flag. Router 2.0 flipsisRoutingafter that microtask, which broke the flag.shallowandfilternow also apply to back/forward.transparent. Without it, the client looked for ids the server never sent, and the bar and everything after it hydrated detached.hydrationproject renders pages with Vite's SSR build and hydrates them with hydratable client code. A no-bar control page keeps the harness honest.www/stays on Solid 1 and the published 1.x package until the site moves to Solid 2. README, the agent skill and CONTRIBUTING describe 2.x.The changeset lists the user-facing changes. In short: Solid 2 peers,
ProgressContextisContext<ProgressController | null>,classtakes array and object values, andfilter/shallowcover back/forward.Checklist
pnpm format:checkandpnpm checkpass (locally, and the full CI gate in the Playwright Docker image, Firefox included)README.mdand the matching page underwww/src/routes/docs/are updated: the README is; the docs pages wait for the site's move to Solid 2, anddist/docsis built from thempnpm changeset) if the published package changes🤖 Generated with Claude Code
https://claude.ai/code/session_016vK1cfoUAbKghdSJTmgoPC