diff --git a/.changeset/common-clocks-grab.md b/.changeset/common-clocks-grab.md new file mode 100644 index 0000000..5efde6f --- /dev/null +++ b/.changeset/common-clocks-grab.md @@ -0,0 +1,5 @@ +--- +"solid-relay": patch +--- + +fix: preserve fragment data identity across snapshot updates diff --git a/src/primitives/createFragment.ts b/src/primitives/createFragment.ts index c1acda8..9ead7ed 100644 --- a/src/primitives/createFragment.ts +++ b/src/primitives/createFragment.ts @@ -132,9 +132,6 @@ export function createFragmentInternal< next(res) { queueMicrotask(() => { batch(() => { - setResult("data", undefined); - setResult("error", undefined); - switch (res.state) { case "ok": setResult("error", undefined); @@ -146,6 +143,11 @@ export function createFragmentInternal< setResult("error", res.error); setResult("pending", false); break; + case "loading": + setResult("data", undefined); + setResult("error", undefined); + setResult("pending", true); + break; } }); });