Skip to content

upgrade: websocket package upgrade for Solid 2.0#847

Draft
davedbase wants to merge 3 commits intosolidjs-community:nextfrom
davedbase:update/v2/websocket
Draft

upgrade: websocket package upgrade for Solid 2.0#847
davedbase wants to merge 3 commits intosolidjs-community:nextfrom
davedbase:update/v2/websocket

Conversation

@davedbase
Copy link
Copy Markdown
Member

Migrates the websocket primitive to solid-js@^2.0.0-beta.7 and introduces a new reactive message primitive.

Breaking changes

  • Peer dependency bumped to solid-js@^2.0.0-beta.7
  • All createEffect doc examples updated to the Solid 2.0 split form: createEffect(compute, effect)

New: createWSMessage<T>

Reactive Accessor<T | undefined> that holds the latest received WebSocket message. Cleans up its event listener on owner disposal via onCleanup.

const ws = createWS("ws://localhost:5000");
const message = createWSMessage<string>(ws);
return <p>Last message: {message()}</p>;

createWSState fix

Internal signal now uses { ownedWrite: true } to suppress the Solid 2.0 dev-mode SIGNAL_WRITE_IN_OWNED_SCOPE warning, which fires when ws.close() is called from inside a component or reactive scope.

Planned (documented, not yet implemented)

  • wsMessageIterable<T> — buffered AsyncIterable for burst-safe message processing
  • createWSData<T> — async memo over the iterable; suspends <Loading> until first message
  • createWSStore<T> — store driven by WS messages as draft-mutation patches

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 21, 2026

🦋 Changeset detected

Latest commit: 4dde890

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@solid-primitives/websocket Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@davedbase davedbase changed the title upgrade: upload package upgrade for Solid 2.0 upgrade: websocket package upgrade for Solid 2.0 Apr 21, 2026
@davedbase davedbase changed the base branch from main to next April 21, 2026 01:47
@davedbase davedbase added this to the Solid 2.0 Upgrade milestone Apr 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant