fix(solid): preserve server projection errors - #3224
Conversation
🦋 Changeset detectedLatest commit: 1e6b7e5 The changes in this PR will be included in the next version bump. This PR includes changesets to release 11 packages
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 |
ryansolid
left a comment
There was a problem hiding this comment.
The extracted fix is independent from #3194 and the implementation appears sound, but it changes four settlement paths while only Promise rejection is covered. Please add focused coverage for at least (1) an iterable rejecting before its first yield and (2) seedLoadingValue rejecting, including repeated/different ordinary property reads rethrowing the original error.
Please also narrow the changeset wording: ordinary string-key reads stop exposing the seed, while reflection/symbol behavior intentionally remains unchanged.
No API concern. The measured impact is server-only at about +38 bytes gzip; please keep the broader pending-proxy membrane out of this PR.
|
This is a worthwhile memo/projection parity fix and the narrow implementation looks sound. I'm going to add the iterable and |
Co-authored-by: Cursor <cursoragent@cursor.com>
ryansolid
left a comment
There was a problem hiding this comment.
Added the missing iterable and seedLoadingValue rejection regressions and narrowed the changeset wording. The SSR async suite, workspace build, declarations/type tests, formatting, and all size scenarios pass. The implementation remains narrow and server-only.
Summary
This is extracted from #3194 so the baseline bug can be reviewed independently. It intentionally keeps the existing proxy target and reflection/symbol behavior unchanged; it does not include the broader pending-proxy membrane from that proposal.
Test plan
pnpm exec vitest run test/server/ssr-async.spec.ts(158 tests)pnpm typespnpm test-types