Repository navigation
Commit 841fc15
feat: Solid 2.0 rc.13 — runtime parity, call-record panel, observe exclusion (#21)
* fix: build and read the rc.12 runtime (compiler parity, _x._error, store nodes, HMR plumbing)
Compile with @solidjs/compiler instead of @dom-expressions/compiler, so
delegated handlers use the `_$$click` key the rc.9+ runtime reads. Every
delegated click in the reactivity and ownership panels was dead. Peers and
dev deps move to solid-js / @solidjs/web ^2.0.0-rc.12 and
@solidjs/vite-plugin 3.0.0-next.46.
Runtime field parity with rc.11/rc.12:
- a node's error lives on its extension (`_x._error`)
- store slot nodes are signals carrying the store target as `_host`
(`_isStoreNode` never existed); classified as `'store'`
- the built-in refresh wraps components in an unnamed memo flagged
`CONFIG_PLUMBING` (1 << 25) on `_config`; the graph hides it and owner
paths and the ownership tree walk through it
The server-side Errored fallback sets the 500 status and logs without
writing toolbar state (the dev runtime now flags server signal writes).
Tests: the "no dev runtime" registry suite mocks `DEV` (rc.11 solid-js
resolves `node.development` to server.dev.js, which ships DEV); new cases
for `_x._error`, `_host`, and plumbing in registry and tree. Playwright
workers run under `--conditions=development`, matching the toolbar's own
export condition; the prod server build now sanitizes render errors.
The lockfile is left at its previous state: 2.0.0-rc.12 is not published
yet and must be regenerated once it lands.
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat: drive the server-function panel from the "call" record; hide the toolbar from the observe layer
- `observeServerFunctionCalls` was removed from `@solidjs/web/server-functions`
in rc.9, so the panel has received nothing since. `src/index.tsx` now
subscribes to `OBSERVE.records` for `"call"` with `{ bodies: true }` and
maps each settled record into the tracker's existing request/response
events (`callRecordToEvents`): request at `event.at`, response at
`at + durationMs`, `meta.name` from the record's source name, a
fetch-rejected call as request-only with the failure on `meta.error`, and
nothing when no request was built.
- `DevToolbar` marks its owner with `OBSERVE.exclude`; `AppScope` hands the
wrapped app back with `OBSERVE.include`, so the toolbar's own signals and
effects are never reported as the app's by diagnostics, attribution or the
performance tracks (nearest marked ancestor answers).
- `pushServerFunctionCall` / `ServerFunctionCall` stay exported.
Requires solid-js / @solidjs/web 2.0.0-rc.12 (solidjs/solid#3705).
Co-authored-by: Claude via Cursor <noreply@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat: show a call when its request is sent (the "request" record); mark failed fetches
The `"call"` record arrives at settle, so a slow or hung call never
appeared in the panel. The panel now also subscribes to the `"request"`
record (solidjs/solid#3708): a call shows up the moment its request is
handed to `fetch`, and its `"call"` record completes the row — the two are
joined by the `live` object the runtime hands to both listeners. A settled
call whose request was never seen (the subscription came mid-call) is shown
whole from its `"call"` record. A fetch that itself rejected re-shows the
row as failed (`meta.error`): "Request failed: <message>" in place of
"Waiting for response." and an ERR badge in the list.
`connectCallRecords(records)` owns the wiring (structural channel type, so
tests drive it with a fake); `requestRecordToEvent` / `settleRecordToEvents`
are the pure mappings beside the settle-only `callRecordToEvents`. No
exported type changes.
Co-authored-by: Claude via Cursor <noreply@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
* chore: resolve the rc.13 runtime from the registry
Solid 2.0.0-rc.13 is published; rc.12 never was (npm goes rc.11 -> rc.13).
The peer floor is the lowest published version carrying both features this
branch depends on — OBSERVE.include (solidjs/solid#3705) and the "request"
call record / CallRequestEvent / subscribe(..., { bodies: true })
(solidjs/solid#3708). rc.11's @solidjs/web types have neither; rc.13's do.
So peers and devDeps move to ^2.0.0-rc.13 and @solidjs/compiler pins
2.0.0-rc.13.
pnpm-lock.yaml is regenerated from the registry (no link: overrides; the
branch was developed against local links that were never committed).
pnpm added the rc.13 Solid packages (solid-js, @solidjs/web,
@solidjs/signals, @solidjs/compiler and its platform binaries) to
minimumReleaseAgeExclude so the fresh release installs.
Re-run against the published packages: vitest 96/96, tsc clean, build
emits only _$$click, playwright 8/8, publint + attw clean.
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Claude via Cursor <noreply@cursor.com>1 parent 341960b commit 841fc15
18 files changed
Lines changed: 911 additions & 209 deletions
File tree
- .changeset
- src
- dev-toolbar
- functions
- ownership
- reactivity
- tests/fixture
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | | - | |
56 | | - | |
| 55 | + | |
| 56 | + | |
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | | - | |
62 | 61 | | |
63 | 62 | | |
64 | | - | |
65 | | - | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
| 75 | + | |
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
3 | 12 | | |
4 | 13 | | |
5 | 14 | | |
| |||
0 commit comments