Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/bump-seroval-1-7-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@solidjs/start": patch
---

Bump `seroval` and `seroval-plugins` to 1.7.0.
4 changes: 2 additions & 2 deletions packages/start/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@
"path-to-regexp": "^8.4.2",
"pathe": "^2.0.3",
"radix3": "^1.1.2",
"seroval": "^1.6.11",
"seroval-plugins": "^1.6.11",
"seroval": "^1.7.0",
"seroval-plugins": "^1.7.0",
"shiki": "^4.3.1",
"srvx": "^0.12.4",
"terracotta": "^1.2.4",
Expand Down
9 changes: 5 additions & 4 deletions packages/start/src/fns/serialization.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import {
Feature,
fromCrossJSON,
getCrossReferenceHeader,
isStream,
type Plugin,
type SerovalNode,
Stream,
toCrossJSONStream,
} from "seroval";
import {
Expand Down Expand Up @@ -346,8 +346,9 @@ class DecodedRefs extends Map<number, unknown> {
* Fails every value still waiting on a frame that will not arrive. Seroval
* keeps these in the refs between frames: open streams and pending-promise
* resolvers (`{ p, s, f }`). `fromCrossJSON` builds streams from seroval's
* internal `Stream` class, which only `isStream` recognizes; the eval-based
* `deserialize` rebuilds them as plain `__SEROVAL_STREAM__` objects. Throwing
* `Stream` class; the eval-based `deserialize` rebuilds them as plain
* `__SEROVAL_STREAM__` objects. Decoding never builds a `LiveStream`, which
* `isStream` also matches, so `instanceof Stream` is the check. Throwing
* into a closed stream and rejecting a settled promise are no-ops, so this is
* safe to run after a body that ended normally.
*
Expand All @@ -358,7 +359,7 @@ function settlePendingRefs(refs: Iterable<unknown>, error: unknown) {
if (value === null || typeof value !== "object") continue;
try {
const ref = value as Record<string, any>;
if (isStream(ref)) {
if (ref instanceof Stream) {
ref.throw(error);
} else if (ref.__SEROVAL_STREAM__ === true && typeof ref.throw === "function") {
ref.throw(error);
Expand Down
26 changes: 13 additions & 13 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pnpm-workspace.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ minimumReleaseAgeExclude:
- [email protected]
- [email protected]
- "@solidjs/[email protected]"
- seroval-plugins@1.6.11
- seroval@1.6.11
- seroval-plugins@1.7.0
- seroval@1.7.0

onlyBuiltDependencies:
- "@parcel/watcher"
Expand Down
Loading