Skip to content

upgrade: keyboard package upgrade for Solid 2.0#854

Draft
davedbase wants to merge 1 commit intosolidjs-community:nextfrom
davedbase:update/v2/keyboard
Draft

upgrade: keyboard package upgrade for Solid 2.0#854
davedbase wants to merge 1 commit intosolidjs-community:nextfrom
davedbase:update/v2/keyboard

Conversation

@davedbase
Copy link
Copy Markdown
Member

  • Bumped peer deps to solid-js@^2.0.0-beta.10 and @solidjs/web@^2.0.0-beta.10
  • Replaced isServer import from solid-js/web@solidjs/web
  • Removed deprecated tuple API from useKeyDownList (the [keys, { event }] destructuring form)
  • Fixed useKeyDownSequencecreateMemo second arg is now options in Solid 2.0, so prev starts as undefined; handle with prev ?? []
  • Rewrote createShortcut to use fully self-contained imperative state instead of reading reactive signals from event listeners (signal reads outside reactive computations return the pre-batch committed value in Solid 2.0, so shortcut detection and preventDefault must be synchronous/imperative)
  • Moved createKeyHold's preventDefault side effect out of createMemo into a dedicated keydown listener (memos must not have side effects in Solid 2.0)
  • Added INTERNAL_OPTIONS ({ ownedWrite: true }) to signals written inside singleton roots to satisfy the owned-scope write restriction
  • Added test/server.test.ts covering all six exported primitives under SSR conditions
  • Updated browser tests to call flush() after dispatching keyboard events (Solid 2.0 batches signal writes; flush() commits them before assertions)

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 3, 2026

🦋 Changeset detected

Latest commit: d2e5c43

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

This PR includes changesets to release 50 packages
Name Type
@solid-primitives/keyboard Major
@solid-primitives/media Major
@solid-primitives/event-listener Major
@solid-primitives/rootless Major
@solid-primitives/static-store Major
@solid-primitives/utils Major
@solid-primitives/masonry Patch
@solid-primitives/active-element Patch
@solid-primitives/bounds Patch
@solid-primitives/connectivity Patch
@solid-primitives/date Patch
@solid-primitives/mouse Patch
@solid-primitives/page-visibility Patch
@solid-primitives/pointer Patch
@solid-primitives/resize-observer Patch
@solid-primitives/scroll Patch
@solid-primitives/styles Patch
@solid-primitives/audio Patch
@solid-primitives/geolocation Patch
@solid-primitives/autofocus Patch
@solid-primitives/clipboard Patch
@solid-primitives/controlled-props Patch
@solid-primitives/cursor Patch
@solid-primitives/destructure Patch
@solid-primitives/event-bus Patch
@solid-primitives/fullscreen Patch
@solid-primitives/graphql Patch
@solid-primitives/history Patch
@solid-primitives/immutable Patch
@solid-primitives/intersection-observer Patch
@solid-primitives/jsx-tokenizer Patch
@solid-primitives/memo Patch
@solid-primitives/mutation-observer Patch
@solid-primitives/pagination Patch
@solid-primitives/presence Patch
@solid-primitives/promise Patch
@solid-primitives/props Patch
@solid-primitives/raf Patch
@solid-primitives/range Patch
@solid-primitives/refs Patch
@solid-primitives/signal-builders Patch
@solid-primitives/sse Patch
@solid-primitives/storage Patch
@solid-primitives/stream Patch
@solid-primitives/trigger Patch
@solid-primitives/upload Patch
@solid-primitives/virtual Patch
@solid-primitives/deep Patch
@solid-primitives/map Patch
@solid-primitives/set Patch

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 base branch from main to next May 3, 2026 15:37
@davedbase davedbase added this to the Solid 2.0 Migration milestone May 3, 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