Skip to content

fix(store): support null-prototype objects on the server - #4684

Open
everton-dgn wants to merge 1 commit into
solidjs:mainfrom
everton-dgn:fix/maintained-issue-triage
Open

everton-dgn wants to merge 1 commit into
solidjs:mainfrom
everton-dgn:fix/maintained-issue-triage

Conversation

@everton-dgn

Copy link
Copy Markdown

Summary

Server stores exclude objects created with Object.create(null) from isWrappable, although client stores support them. As a result, produce skips its callback, reconcile retains removed properties, and nested partial updates replace the object instead of merging into it.

Accept null-prototype objects in the server check. Add three regressions that also verify the original object and its prototype are preserved.

How did you test this change?

All three regressions fail on the original source and pass with the fix.

  • pnpm build: passed.
  • pnpm test: passed, including 492 client tests, 21 server tests and type checks.
  • Prettier check on both changed files: passed.

@changeset-bot

changeset-bot Bot commented Nov 5, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 6ac153e

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

This PR includes changesets to release 2 packages
Name Type
solid-js Patch
test-integration 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant