mirror of
https://github.com/anomalyco/opencode.git
synced 2026-07-29 06:33:35 +00:00
194 lines
7.3 KiB
Diff
194 lines
7.3 KiB
Diff
diff --git a/dist/dev.cjs b/dist/dev.cjs
|
|
index 7104749..dc3eac9 100644
|
|
--- a/dist/dev.cjs
|
|
+++ b/dist/dev.cjs
|
|
@@ -764,6 +764,8 @@ function runComputation(node, value, time) {
|
|
if (node.updatedAt != null && "observers" in node) {
|
|
writeSignal(node, nextValue, true);
|
|
} else if (Transition && Transition.running && node.pure) {
|
|
+ // On first computation during transition, also set committed value #2046
|
|
+ if (!Transition.sources.has(node)) node.value = nextValue;
|
|
Transition.sources.add(node);
|
|
node.tValue = nextValue;
|
|
} else node.value = nextValue;
|
|
@@ -987,18 +989,21 @@ function cleanNode(node) {
|
|
}
|
|
}
|
|
if (node.tOwned) {
|
|
- for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);
|
|
+ const tOwned = node.tOwned;
|
|
delete node.tOwned;
|
|
+ for (i = tOwned.length - 1; i >= 0; i--) cleanNode(tOwned[i]);
|
|
}
|
|
if (Transition && Transition.running && node.pure) {
|
|
reset(node, true);
|
|
} else if (node.owned) {
|
|
- for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);
|
|
+ const owned = node.owned;
|
|
node.owned = null;
|
|
+ for (i = owned.length - 1; i >= 0; i--) cleanNode(owned[i]);
|
|
}
|
|
if (node.cleanups) {
|
|
- for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();
|
|
+ const cleanups = node.cleanups;
|
|
node.cleanups = null;
|
|
+ for (i = cleanups.length - 1; i >= 0; i--) cleanups[i]();
|
|
}
|
|
if (Transition && Transition.running) node.tState = 0;else node.state = 0;
|
|
delete node.sourceMap;
|
|
diff --git a/dist/dev.js b/dist/dev.js
|
|
index ea5e4bc..a2e2d59 100644
|
|
--- a/dist/dev.js
|
|
+++ b/dist/dev.js
|
|
@@ -762,6 +762,8 @@ function runComputation(node, value, time) {
|
|
if (node.updatedAt != null && "observers" in node) {
|
|
writeSignal(node, nextValue, true);
|
|
} else if (Transition && Transition.running && node.pure) {
|
|
+ // On first computation during transition, also set committed value #2046
|
|
+ if (!Transition.sources.has(node)) node.value = nextValue;
|
|
Transition.sources.add(node);
|
|
node.tValue = nextValue;
|
|
} else node.value = nextValue;
|
|
@@ -985,18 +987,21 @@ function cleanNode(node) {
|
|
}
|
|
}
|
|
if (node.tOwned) {
|
|
- for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);
|
|
+ const tOwned = node.tOwned;
|
|
delete node.tOwned;
|
|
+ for (i = tOwned.length - 1; i >= 0; i--) cleanNode(tOwned[i]);
|
|
}
|
|
if (Transition && Transition.running && node.pure) {
|
|
reset(node, true);
|
|
} else if (node.owned) {
|
|
- for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);
|
|
+ const owned = node.owned;
|
|
node.owned = null;
|
|
+ for (i = owned.length - 1; i >= 0; i--) cleanNode(owned[i]);
|
|
}
|
|
if (node.cleanups) {
|
|
- for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();
|
|
+ const cleanups = node.cleanups;
|
|
node.cleanups = null;
|
|
+ for (i = cleanups.length - 1; i >= 0; i--) cleanups[i]();
|
|
}
|
|
if (Transition && Transition.running) node.tState = 0;else node.state = 0;
|
|
delete node.sourceMap;
|
|
diff --git a/dist/server.cjs b/dist/server.cjs
|
|
index e715309..188ba81 100644
|
|
--- a/dist/server.cjs
|
|
+++ b/dist/server.cjs
|
|
@@ -127,12 +127,14 @@ function onCleanup(fn) {
|
|
}
|
|
function cleanNode(node) {
|
|
if (node.owned) {
|
|
- for (let i = 0; i < node.owned.length; i++) cleanNode(node.owned[i]);
|
|
+ const owned = node.owned;
|
|
node.owned = null;
|
|
+ for (let i = 0; i < owned.length; i++) cleanNode(owned[i]);
|
|
}
|
|
if (node.cleanups) {
|
|
- for (let i = 0; i < node.cleanups.length; i++) node.cleanups[i]();
|
|
+ const cleanups = node.cleanups;
|
|
node.cleanups = null;
|
|
+ for (let i = 0; i < cleanups.length; i++) cleanups[i]();
|
|
}
|
|
}
|
|
function catchError(fn, handler) {
|
|
diff --git a/dist/server.js b/dist/server.js
|
|
index d5f8803..320d9af 100644
|
|
--- a/dist/server.js
|
|
+++ b/dist/server.js
|
|
@@ -125,12 +125,14 @@ function onCleanup(fn) {
|
|
}
|
|
function cleanNode(node) {
|
|
if (node.owned) {
|
|
- for (let i = 0; i < node.owned.length; i++) cleanNode(node.owned[i]);
|
|
+ const owned = node.owned;
|
|
node.owned = null;
|
|
+ for (let i = 0; i < owned.length; i++) cleanNode(owned[i]);
|
|
}
|
|
if (node.cleanups) {
|
|
- for (let i = 0; i < node.cleanups.length; i++) node.cleanups[i]();
|
|
+ const cleanups = node.cleanups;
|
|
node.cleanups = null;
|
|
+ for (let i = 0; i < cleanups.length; i++) cleanups[i]();
|
|
}
|
|
}
|
|
function catchError(fn, handler) {
|
|
diff --git a/dist/solid.cjs b/dist/solid.cjs
|
|
index 7c133a2..5ef1501 100644
|
|
--- a/dist/solid.cjs
|
|
+++ b/dist/solid.cjs
|
|
@@ -717,6 +717,8 @@ function runComputation(node, value, time) {
|
|
if (node.updatedAt != null && "observers" in node) {
|
|
writeSignal(node, nextValue, true);
|
|
} else if (Transition && Transition.running && node.pure) {
|
|
+ // On first computation during transition, also set committed value #2046
|
|
+ if (!Transition.sources.has(node)) node.value = nextValue;
|
|
Transition.sources.add(node);
|
|
node.tValue = nextValue;
|
|
} else node.value = nextValue;
|
|
@@ -938,18 +940,21 @@ function cleanNode(node) {
|
|
}
|
|
}
|
|
if (node.tOwned) {
|
|
- for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);
|
|
+ const tOwned = node.tOwned;
|
|
delete node.tOwned;
|
|
+ for (i = tOwned.length - 1; i >= 0; i--) cleanNode(tOwned[i]);
|
|
}
|
|
if (Transition && Transition.running && node.pure) {
|
|
reset(node, true);
|
|
} else if (node.owned) {
|
|
- for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);
|
|
+ const owned = node.owned;
|
|
node.owned = null;
|
|
+ for (i = owned.length - 1; i >= 0; i--) cleanNode(owned[i]);
|
|
}
|
|
if (node.cleanups) {
|
|
- for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();
|
|
+ const cleanups = node.cleanups;
|
|
node.cleanups = null;
|
|
+ for (i = cleanups.length - 1; i >= 0; i--) cleanups[i]();
|
|
}
|
|
if (Transition && Transition.running) node.tState = 0;else node.state = 0;
|
|
}
|
|
diff --git a/dist/solid.js b/dist/solid.js
|
|
index 656fd26..6e0038c 100644
|
|
--- a/dist/solid.js
|
|
+++ b/dist/solid.js
|
|
@@ -715,6 +715,8 @@ function runComputation(node, value, time) {
|
|
if (node.updatedAt != null && "observers" in node) {
|
|
writeSignal(node, nextValue, true);
|
|
} else if (Transition && Transition.running && node.pure) {
|
|
+ // On first computation during transition, also set committed value #2046
|
|
+ if (!Transition.sources.has(node)) node.value = nextValue;
|
|
Transition.sources.add(node);
|
|
node.tValue = nextValue;
|
|
} else node.value = nextValue;
|
|
@@ -936,18 +938,21 @@ function cleanNode(node) {
|
|
}
|
|
}
|
|
if (node.tOwned) {
|
|
- for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);
|
|
+ const tOwned = node.tOwned;
|
|
delete node.tOwned;
|
|
+ for (i = tOwned.length - 1; i >= 0; i--) cleanNode(tOwned[i]);
|
|
}
|
|
if (Transition && Transition.running && node.pure) {
|
|
reset(node, true);
|
|
} else if (node.owned) {
|
|
- for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);
|
|
+ const owned = node.owned;
|
|
node.owned = null;
|
|
+ for (i = owned.length - 1; i >= 0; i--) cleanNode(owned[i]);
|
|
}
|
|
if (node.cleanups) {
|
|
- for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();
|
|
+ const cleanups = node.cleanups;
|
|
node.cleanups = null;
|
|
+ for (i = cleanups.length - 1; i >= 0; i--) cleanups[i]();
|
|
}
|
|
if (Transition && Transition.running) node.tState = 0;else node.state = 0;
|
|
}
|