@marimo-team/islands 0.25.3-dev279 → 0.25.3-dev281
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ErrorBoundary-DmTMuDPR.js → ErrorBoundary-fSq1YI-S.js} +1 -1
- package/dist/{chat-ui-v1Fdh0NA.js → chat-ui-ByGe2rP1.js} +3 -3
- package/dist/{code-visibility-Dw4-TXN0.js → code-visibility-BhtW7mrV.js} +2 -2
- package/dist/{common-BXMFi4lr.js → common-BIZJLLSc.js} +3 -3
- package/dist/{data-grid-overlay-editor-hZzwX7Ia.js → data-grid-overlay-editor-B8b_mHmv.js} +1 -1
- package/dist/{error-entries-C1S-Rmyt.js → error-entries-9U4BFHjf.js} +10 -6
- package/dist/{feedback-button-6Ui2TDLR.js → feedback-button-CY92zeC6.js} +3 -3
- package/dist/{glide-data-editor-PZNlrSDI.js → glide-data-editor-BdgfR8uu.js} +3 -3
- package/dist/{globals-DX6FPZYq.js → globals-CjnqsurJ.js} +1 -1
- package/dist/{html-to-image-CqGUd58T.js → html-to-image-BYh_MorV.js} +1 -1
- package/dist/main.js +10 -10
- package/dist/{number-overlay-editor-D0CsL3_R.js → number-overlay-editor-BQBhWG2O.js} +1 -1
- package/dist/{process-output-DskX9jLa.js → process-output-bS3MGJ3f.js} +2 -2
- package/dist/{reveal-component-D7xeI1QR.js → reveal-component-BqyL-_xE.js} +3 -3
- package/package.json +1 -1
- package/src/core/executions/__tests__/freshness.test.ts +62 -0
- package/src/core/executions/freshness.ts +28 -21
|
@@ -129,7 +129,7 @@ function N(e) {
|
|
|
129
129
|
}
|
|
130
130
|
//#endregion
|
|
131
131
|
//#region src/components/editor/boundary/ErrorBoundary.tsx
|
|
132
|
-
var P = (0, C.lazy)(() => import("./feedback-button-
|
|
132
|
+
var P = (0, C.lazy)(() => import("./feedback-button-CY92zeC6.js").then((e) => ({ default: e.FeedbackModal }))), F = (e) => {
|
|
133
133
|
let t = (0, S.c)(2), n;
|
|
134
134
|
return t[0] === e.children ? n = t[1] : (n = /* @__PURE__ */ (0, k.jsx)(E, {
|
|
135
135
|
FallbackComponent: I,
|
|
@@ -3,13 +3,13 @@ import { g as n, h as r, i, t as a } from "./button-DZuNnIZO.js";
|
|
|
3
3
|
import { t as o } from "./react-sHtZdjeP.js";
|
|
4
4
|
import { t as s } from "./compiler-runtime-CldRdSsv.js";
|
|
5
5
|
import { i as c, t as l } from "./copy-icon-CtllOdmg.js";
|
|
6
|
-
import { Ct as u, Dt as d, Et as f, It as p, J as m, Lt as h, M as g, Nt as _, Pt as v, Tt as y, U as b, V as x, Vt as S, W as C, Y as w, a as T, dt as E, et as D, f as O, g as k, h as A, ht as j, kt as M, l as ee, m as N, n as te, nt as ne, p as re, r as ie, st as ae, t as oe, tt as se, u as ce, v as le, xt as ue, zt as de } from "./html-to-image-
|
|
6
|
+
import { Ct as u, Dt as d, Et as f, It as p, J as m, Lt as h, M as g, Nt as _, Pt as v, Tt as y, U as b, V as x, Vt as S, W as C, Y as w, a as T, dt as E, et as D, f as O, g as k, h as A, ht as j, kt as M, l as ee, m as N, n as te, nt as ne, p as re, r as ie, st as ae, t as oe, tt as se, u as ce, v as le, xt as ue, zt as de } from "./html-to-image-BYh_MorV.js";
|
|
7
7
|
import { h as P, t as fe } from "./tooltip-DMMiOn2f.js";
|
|
8
8
|
import { d as pe } from "./select-DsoP1qe8.js";
|
|
9
9
|
import { Sn as me, _ as he, bn as ge, f as _e, h as ve, i as ye, n as be, t as xe } from "./dropdown-menu-Bb0bFOIk.js";
|
|
10
10
|
import { a as Se, l as Ce } from "./config-C8MFHQ2E.js";
|
|
11
|
-
import { Gt as we, I as Te, K as Ee, N as De, Tt as Oe, ct as ke, h as Ae, i as je, r as Me, t as Ne, tt as Pe } from "./error-entries-
|
|
12
|
-
import { d as Fe, f as Ie, i as Le, n as Re, t as ze, u as Be } from "./process-output-
|
|
11
|
+
import { Gt as we, I as Te, K as Ee, N as De, Tt as Oe, ct as ke, h as Ae, i as je, r as Me, t as Ne, tt as Pe } from "./error-entries-9U4BFHjf.js";
|
|
12
|
+
import { d as Fe, f as Ie, i as Le, n as Re, t as ze, u as Be } from "./process-output-bS3MGJ3f.js";
|
|
13
13
|
import { t as Ve } from "./pencil-DYUlSKxZ.js";
|
|
14
14
|
import { n as He, r as Ue, s as We } from "./assertNever-B-YzWzbL.js";
|
|
15
15
|
import { t as Ge } from "./jsx-runtime-3BD1kT0s.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { g as e } from "./button-DZuNnIZO.js";
|
|
2
|
-
import { D as t, Ht as n, j as r } from "./error-entries-
|
|
2
|
+
import { D as t, Ht as n, j as r } from "./error-entries-9U4BFHjf.js";
|
|
3
3
|
import { n as i } from "./assertNever-B-YzWzbL.js";
|
|
4
4
|
import { Ft as a, Rt as o, d as s, m as c, wt as l } from "./use-restore-focus-CosX7-gx.js";
|
|
5
5
|
import { c as u, m as d, n as f, o as p } from "./static-state-D-Q-Ajaa.js";
|
|
@@ -14,7 +14,7 @@ function y() {
|
|
|
14
14
|
return e.warn("Failed to get version from mount config"), null;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
var b = y() || "0.25.3-
|
|
17
|
+
var b = y() || "0.25.3-dev281", x = o(b), S = o(!0);
|
|
18
18
|
o(null);
|
|
19
19
|
//#endregion
|
|
20
20
|
//#region src/core/wasm/state.ts
|
|
@@ -3,7 +3,7 @@ import { _ as t, f as n, g as r, h as i, i as a, m as o, n as s, p as c, r as l,
|
|
|
3
3
|
import { t as d } from "./react-sHtZdjeP.js";
|
|
4
4
|
import { t as f } from "./compiler-runtime-CldRdSsv.js";
|
|
5
5
|
import { i as p, n as m, r as h, t as g } from "./copy-icon-CtllOdmg.js";
|
|
6
|
-
import { $ as _, A as v, At as y, C as b, D as x, Dt as S, G as C, Gt as w, H as T, Ht as E, It as D, K as O, Lt as k, M as A, Mt as j, N as M, Pt as N, Q as P, Rt as F, S as I, Tt as L, U as R, Ut as z, V as ee, Vt as te, W as ne, Wt as re, Y as B, Z as ie, at as ae, d as oe, ft as se, gt as ce, k as le, mt as ue, n as de, pt as fe, r as pe, s as me, t as he, w as ge, wt as _e, x as ve, y as ye, z as be } from "./html-to-image-
|
|
6
|
+
import { $ as _, A as v, At as y, C as b, D as x, Dt as S, G as C, Gt as w, H as T, Ht as E, It as D, K as O, Lt as k, M as A, Mt as j, N as M, Pt as N, Q as P, Rt as F, S as I, Tt as L, U as R, Ut as z, V as ee, Vt as te, W as ne, Wt as re, Y as B, Z as ie, at as ae, d as oe, ft as se, gt as ce, k as le, mt as ue, n as de, pt as fe, r as pe, s as me, t as he, w as ge, wt as _e, x as ve, y as ye, z as be } from "./html-to-image-BYh_MorV.js";
|
|
7
7
|
import { a as xe, f as Se, h as V, n as Ce, o as we, r as Te, t as H } from "./tooltip-DMMiOn2f.js";
|
|
8
8
|
import { r as Ee, s as De } from "./useLifecycle-SniivYmC.js";
|
|
9
9
|
import { a as Oe, i as ke, n as Ae, o as je, r as Me, t as Ne } from "./useDateFormatter-CPlava52.js";
|
|
@@ -11,7 +11,7 @@ import { t as Pe } from "./check-XFzZeH-y.js";
|
|
|
11
11
|
import { A as Fe, C as U, M as Ie, S as Le, T as Re, _ as ze, b as Be, c as Ve, d as He, f as Ue, g as We, h as Ge, i as Ke, l as qe, m as Je, n as Ye, s as Xe, t as Ze, u as Qe, v as $e, x as et, y as tt } from "./select-DsoP1qe8.js";
|
|
12
12
|
import { $ as nt, $t as rt, A as it, At as at, B as ot, Bt as st, C as ct, Ct as lt, D as ut, Dt as dt, E as ft, Et as pt, F as mt, Ft as ht, G as gt, Gt as _t, H as vt, Ht as yt, I as bt, It as xt, Jt as St, K as Ct, Kt as wt, L as Tt, Lt as Et, M as Dt, Mt as Ot, N as kt, Nt as At, O as jt, Ot as Mt, P as Nt, Pt, Q as Ft, Qt as It, R as Lt, Rt, S as zt, Sn as Bt, St as Vt, T as Ht, Tt as Ut, U as Wt, Ut as Gt, V as Kt, Vt as qt, W as Jt, Wt as Yt, X as Xt, Xt as Zt, Yt as Qt, Z as $t, Zt as en, _ as tn, _n as nn, _t as rn, a as an, an as on, at as sn, b as cn, bn as ln, bt as un, cn as dn, ct as fn, d as pn, dn as mn, dt as hn, en as gn, et as _n, f as vn, ft as yn, gn as bn, gt as xn, h as Sn, hn as Cn, ht as wn, i as Tn, it as En, j as Dn, jt as On, k as kn, kt as An, l as jn, lt as Mn, mn as Nn, mt as Pn, n as Fn, nn as In, nt as Ln, o as Rn, on as zn, ot as Bn, pn as Vn, q as Hn, qt as Un, rn as Wn, rt as Gn, s as Kn, sn as qn, st as Jn, t as Yn, tn as Xn, tt as Zn, u as Qn, un as $n, ut as er, vn as tr, vt as nr, wt as rr, x as ir, xn as ar, xt as or, yn as sr, yt as cr, z as lr, zt as ur } from "./dropdown-menu-Bb0bFOIk.js";
|
|
13
13
|
import { a as dr, n as fr, r as pr, t as mr } from "./config-C8MFHQ2E.js";
|
|
14
|
-
import { $ as hr, Bt as gr, D as _r, E as vr, Et as yr, Gt as br, H as xr, J as Sr, K as Cr, L as wr, M as Tr, Pt as Er, Rt as Dr, Tt as Or, U as kr, Ut as Ar, W as jr, Wt as Mr, b as Nr, ct as Pr, h as Fr, j as Ir, l as Lr, nt as Rr, t as zr, tt as Br, u as Vr, w as Hr, y as Ur, zt as Wr } from "./error-entries-
|
|
14
|
+
import { $ as hr, Bt as gr, D as _r, E as vr, Et as yr, Gt as br, H as xr, J as Sr, K as Cr, L as wr, M as Tr, Pt as Er, Rt as Dr, Tt as Or, U as kr, Ut as Ar, W as jr, Wt as Mr, b as Nr, ct as Pr, h as Fr, j as Ir, l as Lr, nt as Rr, t as zr, tt as Br, u as Vr, w as Hr, y as Ur, zt as Wr } from "./error-entries-9U4BFHjf.js";
|
|
15
15
|
import { n as Gr, o as Kr, r as qr, s as Jr, t as Yr } from "./assertNever-B-YzWzbL.js";
|
|
16
16
|
import { t as Xr } from "./clsx-CoeGtWvn.js";
|
|
17
17
|
import { t as Zr } from "./react-dom-DUmH0GXv.js";
|
|
@@ -33,7 +33,7 @@ import { o as ba } from "./dist-DU9ICsWZ.js";
|
|
|
33
33
|
import { a as xa, i as Sa, n as Ca, o as wa, r as Ta, t as Ea } from "./dialog-CaYm5imE.js";
|
|
34
34
|
import { t as Da } from "./useAsyncData-Ci4AvJff.js";
|
|
35
35
|
import { n as W, t as G } from "./objectWithoutPropertiesLoose-BRDcTsfB.js";
|
|
36
|
-
import { t as Oa } from "./ErrorBoundary-
|
|
36
|
+
import { t as Oa } from "./ErrorBoundary-fSq1YI-S.js";
|
|
37
37
|
import { D as ka, n as Aa } from "./vega-loader.browser-B9Pz0EGP.js";
|
|
38
38
|
import { a as ja, n as Ma, r as Na, t as Pa } from "./loader-DZvtzQoD.js";
|
|
39
39
|
import { t as Fa } from "./useIframeCapabilities-BXhDDoCG.js";
|
|
@@ -2,7 +2,7 @@ import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
|
|
|
2
2
|
import { t } from "./react-sHtZdjeP.js";
|
|
3
3
|
import { t as n } from "./react-dom-DUmH0GXv.js";
|
|
4
4
|
import { c as r, l as i, u as a } from "./data-grid-types-0PJ-9N5n.js";
|
|
5
|
-
import { a as o, i as s, n as c, r as l } from "./glide-data-editor-
|
|
5
|
+
import { a as o, i as s, n as c, r as l } from "./glide-data-editor-BdgfR8uu.js";
|
|
6
6
|
//#region ../node_modules/.pnpm/@glideapps+glide-data-grid@6.0.4-alpha24_lodash@4.17.21_marked@15.0.12_react-dom@19.3.0_27cffe7f1bc30287d59ac27db3240c5b/node_modules/@glideapps/glide-data-grid/dist/esm/internal/data-grid-overlay-editor/data-grid-overlay-editor-style.js
|
|
7
7
|
var u = /* @__PURE__ */ e(t(), 1), d = /* @__PURE__ */ e(n(), 1), f = /*#__PURE__*/ o("div")({
|
|
8
8
|
name: "DataGridOverlayEditorStyle",
|
|
@@ -211,7 +211,13 @@ function Fe(e) {
|
|
|
211
211
|
for (let [n, a] of Object.entries(e.depends_on)) {
|
|
212
212
|
let s = t.get(n) ?? [];
|
|
213
213
|
if (a === null) {
|
|
214
|
-
if (s.some((t) =>
|
|
214
|
+
if (s.some((t) => {
|
|
215
|
+
let n = r(t.execution_id);
|
|
216
|
+
if (n === void 0) return !1;
|
|
217
|
+
if (n.runtime_id === e.runtime_id) return !0;
|
|
218
|
+
let i = n.completed_at ?? n.started_at;
|
|
219
|
+
return i !== null && e.completed_at !== null && Date.parse(i) > Date.parse(e.completed_at);
|
|
220
|
+
})) return !0;
|
|
215
221
|
continue;
|
|
216
222
|
}
|
|
217
223
|
let c = s.find((e) => e.revision.execution === a.execution);
|
|
@@ -222,16 +228,14 @@ function Fe(e) {
|
|
|
222
228
|
return !1;
|
|
223
229
|
}
|
|
224
230
|
function a(t, n) {
|
|
225
|
-
let i = e.executions.latest.get(t.id);
|
|
226
|
-
|
|
227
|
-
let a = r(i);
|
|
228
|
-
return a !== void 0 && a.status !== "completed" && a.code_fingerprint === t.code_fingerprint;
|
|
231
|
+
let i = e.executions.latest.get(t.id), a = i === void 0 ? void 0 : r(i), o = a !== void 0 && a.status !== "completed" ? a : n;
|
|
232
|
+
return t.code_fingerprint !== o.code_fingerprint;
|
|
229
233
|
}
|
|
230
234
|
function o(t, r) {
|
|
231
235
|
let o = n.get(t.id);
|
|
232
236
|
if (o !== void 0) return o;
|
|
233
237
|
let s = t.cell_id === null ? void 0 : e.cells.get(t.cell_id), c = {
|
|
234
|
-
sourceChanged: s === void 0 ||
|
|
238
|
+
sourceChanged: s === void 0 || a(s, t),
|
|
235
239
|
inputsChanged: i(t, r)
|
|
236
240
|
};
|
|
237
241
|
return n.set(t.id, c), c;
|
|
@@ -3,14 +3,14 @@ import { h as t, t as n } from "./button-DZuNnIZO.js";
|
|
|
3
3
|
import { t as r } from "./react-sHtZdjeP.js";
|
|
4
4
|
import { t as i } from "./compiler-runtime-CldRdSsv.js";
|
|
5
5
|
import { t as a } from "./copy-icon-CtllOdmg.js";
|
|
6
|
-
import { D as o, E as s, F as c, Gt as l, L as u, i as d, j as f, n as p, q as m } from "./error-entries-
|
|
7
|
-
import { n as h, t as ee } from "./globals-
|
|
6
|
+
import { D as o, E as s, F as c, Gt as l, L as u, i as d, j as f, n as p, q as m } from "./error-entries-9U4BFHjf.js";
|
|
7
|
+
import { n as h, t as ee } from "./globals-CjnqsurJ.js";
|
|
8
8
|
import { r as g } from "./assertNever-B-YzWzbL.js";
|
|
9
9
|
import { t as _ } from "./jsx-runtime-3BD1kT0s.js";
|
|
10
10
|
import { Ft as te, p as v, yt as ne } from "./use-restore-focus-CosX7-gx.js";
|
|
11
11
|
import { a as re, i as ie, n as ae, r as oe } from "./dialog-CaYm5imE.js";
|
|
12
12
|
import { t as se } from "./useAsyncData-Ci4AvJff.js";
|
|
13
|
-
import { t as ce } from "./code-visibility-
|
|
13
|
+
import { t as ce } from "./code-visibility-BhtW7mrV.js";
|
|
14
14
|
//#region src/components/ui/skeleton.tsx
|
|
15
15
|
var y = /* @__PURE__ */ e(r(), 1), b = i(), x = _(), S = (e) => {
|
|
16
16
|
let n = (0, b.c)(8), r, i;
|
|
@@ -14,7 +14,7 @@ import { t as P } from "./jsx-runtime-3BD1kT0s.js";
|
|
|
14
14
|
import { u as oe } from "./use-restore-focus-CosX7-gx.js";
|
|
15
15
|
import { t as F } from "./useEvent-BRH-aCqi.js";
|
|
16
16
|
import { n as I, t as se } from "./objectWithoutPropertiesLoose-BRDcTsfB.js";
|
|
17
|
-
import { t as ce } from "./ErrorBoundary-
|
|
17
|
+
import { t as ce } from "./ErrorBoundary-fSq1YI-S.js";
|
|
18
18
|
import { A as le, C as ue, D as de, E as fe, F as pe, I as me, L as he, M as ge, N as _e, O as L, P as ve, R as ye, S as be, T as xe, _ as Se, a as R, b as Ce, c as z, d as we, f as B, g as V, h as Te, i as Ee, j as H, k as U, l as De, m as Oe, n as ke, o as Ae, p as je, r as W, s as Me, t as Ne, u as Pe, v as Fe, w as Ie, x as Le, y as Re, z as ze } from "./data-grid-types-0PJ-9N5n.js";
|
|
19
19
|
//#region ../node_modules/.pnpm/@emotion+memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js
|
|
20
20
|
function Be(e) {
|
|
@@ -7068,7 +7068,7 @@ function us(e, t, n, r, i) {
|
|
|
7068
7068
|
}
|
|
7069
7069
|
//#endregion
|
|
7070
7070
|
//#region ../node_modules/.pnpm/@glideapps+glide-data-grid@6.0.4-alpha24_lodash@4.17.21_marked@15.0.12_react-dom@19.3.0_27cffe7f1bc30287d59ac27db3240c5b/node_modules/@glideapps/glide-data-grid/dist/esm/data-editor/data-editor.js
|
|
7071
|
-
var ds = /* @__PURE__ */ e(wr(), 1), fs = /* @__PURE__ */ e(Or(), 1), ps = G.lazy(async () => await import("./data-grid-overlay-editor-
|
|
7071
|
+
var ds = /* @__PURE__ */ e(wr(), 1), fs = /* @__PURE__ */ e(Or(), 1), ps = G.lazy(async () => await import("./data-grid-overlay-editor-B8b_mHmv.js")), ms = 0;
|
|
7072
7072
|
function hs(e) {
|
|
7073
7073
|
return (0, ds.default)((0, fs.default)((0, fs.default)(e).filter((e) => e.span !== void 0).map((e) => (0, io.default)((e.span?.[0] ?? 0) + 1, (e.span?.[1] ?? 0) + 1))));
|
|
7074
7074
|
}
|
|
@@ -9299,7 +9299,7 @@ function Js(e, t, n, r, i) {
|
|
|
9299
9299
|
}
|
|
9300
9300
|
//#endregion
|
|
9301
9301
|
//#region ../node_modules/.pnpm/@glideapps+glide-data-grid@6.0.4-alpha24_lodash@4.17.21_marked@15.0.12_react-dom@19.3.0_27cffe7f1bc30287d59ac27db3240c5b/node_modules/@glideapps/glide-data-grid/dist/esm/cells/number-cell.js
|
|
9302
|
-
var Ys = G.lazy(async () => await import("./number-overlay-editor-
|
|
9302
|
+
var Ys = G.lazy(async () => await import("./number-overlay-editor-BQBhWG2O.js")), Xs = {
|
|
9303
9303
|
getAccessibilityString: (e) => e.data?.toString() ?? "",
|
|
9304
9304
|
kind: W.Number,
|
|
9305
9305
|
needsHover: (e) => e.hoverEffect === !0,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { h as e } from "./tooltip-DMMiOn2f.js";
|
|
2
2
|
import { yt as t } from "./use-restore-focus-CosX7-gx.js";
|
|
3
|
-
import { r as n } from "./code-visibility-
|
|
3
|
+
import { r as n } from "./code-visibility-BhtW7mrV.js";
|
|
4
4
|
var r = e("triangle-alert", [
|
|
5
5
|
["path", {
|
|
6
6
|
d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
|
|
@@ -9,7 +9,7 @@ import { a as ne, i as re, o as D, r as O, s as k, t as ie } from "./useLifecycl
|
|
|
9
9
|
import { a as ae, c as oe, i as se, n as ce, o as le, r as ue, s as de, t as fe } from "./select-DsoP1qe8.js";
|
|
10
10
|
import { Y as pe, mt as me, q as he } from "./dropdown-menu-Bb0bFOIk.js";
|
|
11
11
|
import { c as ge, l as _e, n as ve } from "./config-C8MFHQ2E.js";
|
|
12
|
-
import { C as A, E as j, Et as ye, G as be, I as xe, It as Se, K as M, L as N, Nt as Ce, O as we, Ot as Te, P as Ee, R as De, Rt as Oe, S as ke, T as Ae, Ut as je, _ as Me, _t as Ne, a as Pe, at as Fe, bt as Ie, dt as Le, f as Re, ft as ze, gt as Be, h as Ve, ht as He, it as Ue, k as We, mt as Ge, o as Ke, p as qe, pt as Je, rt as Ye, s as Xe, v as Ze, vt as Qe, wt as $e, x as et, xt as tt, yt as nt, zt as rt } from "./error-entries-
|
|
12
|
+
import { C as A, E as j, Et as ye, G as be, I as xe, It as Se, K as M, L as N, Nt as Ce, O as we, Ot as Te, P as Ee, R as De, Rt as Oe, S as ke, T as Ae, Ut as je, _ as Me, _t as Ne, a as Pe, at as Fe, bt as Ie, dt as Le, f as Re, ft as ze, gt as Be, h as Ve, ht as He, it as Ue, k as We, mt as Ge, o as Ke, p as qe, pt as Je, rt as Ye, s as Xe, v as Ze, vt as Qe, wt as $e, x as et, xt as tt, yt as nt, zt as rt } from "./error-entries-9U4BFHjf.js";
|
|
13
13
|
import { n as it } from "./assertNever-B-YzWzbL.js";
|
|
14
14
|
import { t as at } from "./react-dom-DUmH0GXv.js";
|
|
15
15
|
import { t as ot } from "./jsx-runtime-3BD1kT0s.js";
|
package/dist/main.js
CHANGED
|
@@ -3,20 +3,20 @@ import { _ as a, a as o, d as s, g as c, h as l, i as u, l as d, m as f, n as p,
|
|
|
3
3
|
import { t as y } from "./react-sHtZdjeP.js";
|
|
4
4
|
import { t as b } from "./compiler-runtime-CldRdSsv.js";
|
|
5
5
|
import { i as x, n as S, r as C, t as w } from "./copy-icon-CtllOdmg.js";
|
|
6
|
-
import { B as T, Bt as E, Dt as D, E as O, F as k, Ft as A, Ht as j, I as M, It as N, L as P, Lt as F, M as I, O as L, Ot as R, P as z, Pt as B, R as ee, Rt as te, St as ne, Ut as re, X as ie, Z as ae, _ as oe, _t as se, a as ce, at as le, b as ue, bt as de, c as fe, ct as pe, dt as me, i as he, it as ge, j as _e, jt as ve, lt as ye, mt as be, n as xe, o as Se, ot as Ce, q as we, rt as Te, ut as Ee, vt as De, yt as Oe, z as ke, zt as Ae } from "./html-to-image-
|
|
6
|
+
import { B as T, Bt as E, Dt as D, E as O, F as k, Ft as A, Ht as j, I as M, It as N, L as P, Lt as F, M as I, O as L, Ot as R, P as z, Pt as B, R as ee, Rt as te, St as ne, Ut as re, X as ie, Z as ae, _ as oe, _t as se, a as ce, at as le, b as ue, bt as de, c as fe, ct as pe, dt as me, i as he, it as ge, j as _e, jt as ve, lt as ye, mt as be, n as xe, o as Se, ot as Ce, q as we, rt as Te, ut as Ee, vt as De, yt as Oe, z as ke, zt as Ae } from "./html-to-image-BYh_MorV.js";
|
|
7
7
|
import { a as je, f as Me, h as Ne, i as Pe, m as Fe, n as Ie, o as Le, r as Re, t as ze } from "./tooltip-DMMiOn2f.js";
|
|
8
8
|
import { D as Be, E as Ve, O as He, S as Ue, T as We, _ as Ge, a as Ke, c as qe, d as Je, f as Ye, g as Xe, h as Ze, i as Qe, l as $e, m as et, n as tt, o as nt, p as rt, r as it, s as at, t as ot, u as st, v as ct, w as lt, x as ut, y as dt } from "./spec-BZMDxAu7.js";
|
|
9
|
-
import { $t as ft, A as pt, At as mt, B as ht, Bt as gt, C as _t, Cn as vt, Ct as yt, D as bt, Dt as xt, E as St, En as Ct, Et as wt, F as Tt, Ft as Et, G as Dt, Gt as Ot, H as kt, Ht as At, I as jt, It as Mt, J as Nt, Jt as Pt, K as Ft, Kt as It, L as Lt, Lt as Rt, M as zt, Mt as Bt, N as Vt, Nt as Ht, O as Ut, Ot as Wt, P as Gt, Pt as Kt, Qt as qt, R as Jt, Rt as Yt, S as Xt, Sn as Zt, T as Qt, Tn as $t, Tt as en, U as tn, Ut as nn, V as rn, Vt as an, W as on, Wt as sn, X as cn, Xt as ln, Y as un, Yt as dn, Z as fn, Zt as pn, _ as mn, _t as hn, an as gn, at as _n, b as vn, bn as yn, bt as bn, c as xn, cn as Sn, ct as Cn, d as wn, dn as Tn, dt as En, en as Dn, f as On, fn as kn, ft as An, g as jn, gn as Mn, gt as Nn, h as Pn, hn as Fn, ht as In, in as Ln, it as Rn, j as zn, jt as Bn, k as Vn, kt as Hn, ln as Un, lt as Wn, m as Gn, mn as Kn, mt as qn, nn as Jn, nt as Yn, on as Xn, ot as Zn, p as Qn, pn as $n, pt as er, q as tr, qt as nr, r as rr, rn as ir, rt as ar, sn as or, st as sr, t as cr, tn as lr, tt as ur, u as dr, un as fr, ut as pr, v as mr, vn as hr, vt as gr, w as _r, wn as vr, wt as yr, x as br, xn as xr, y as Sr, yn as Cr, yt as wr, z as Tr, zt as Er } from "./common-
|
|
9
|
+
import { $t as ft, A as pt, At as mt, B as ht, Bt as gt, C as _t, Cn as vt, Ct as yt, D as bt, Dt as xt, E as St, En as Ct, Et as wt, F as Tt, Ft as Et, G as Dt, Gt as Ot, H as kt, Ht as At, I as jt, It as Mt, J as Nt, Jt as Pt, K as Ft, Kt as It, L as Lt, Lt as Rt, M as zt, Mt as Bt, N as Vt, Nt as Ht, O as Ut, Ot as Wt, P as Gt, Pt as Kt, Qt as qt, R as Jt, Rt as Yt, S as Xt, Sn as Zt, T as Qt, Tn as $t, Tt as en, U as tn, Ut as nn, V as rn, Vt as an, W as on, Wt as sn, X as cn, Xt as ln, Y as un, Yt as dn, Z as fn, Zt as pn, _ as mn, _t as hn, an as gn, at as _n, b as vn, bn as yn, bt as bn, c as xn, cn as Sn, ct as Cn, d as wn, dn as Tn, dt as En, en as Dn, f as On, fn as kn, ft as An, g as jn, gn as Mn, gt as Nn, h as Pn, hn as Fn, ht as In, in as Ln, it as Rn, j as zn, jt as Bn, k as Vn, kt as Hn, ln as Un, lt as Wn, m as Gn, mn as Kn, mt as qn, nn as Jn, nt as Yn, on as Xn, ot as Zn, p as Qn, pn as $n, pt as er, q as tr, qt as nr, r as rr, rn as ir, rt as ar, sn as or, st as sr, t as cr, tn as lr, tt as ur, u as dr, un as fr, ut as pr, v as mr, vn as hr, vt as gr, w as _r, wn as vr, wt as yr, x as br, xn as xr, y as Sr, yn as Cr, yt as wr, z as Tr, zt as Er } from "./common-BIZJLLSc.js";
|
|
10
10
|
import { a as Dr, n as Or, s as kr, t as Ar } from "./useLifecycle-SniivYmC.js";
|
|
11
11
|
import { t as jr } from "./check-XFzZeH-y.js";
|
|
12
12
|
import { A as Mr, C as Nr, D as Pr, M as Fr, O as Ir, a as Lr, c as Rr, d as zr, i as Br, k as Vr, l as Hr, n as Ur, o as Wr, r as Gr, s as Kr, t as qr, w as Jr, x as Yr } from "./select-DsoP1qe8.js";
|
|
13
13
|
import { B as Xr, C as Zr, J as Qr, Mt as $r, Q as ei, S as ti, Sn as ni, W as ri, X as ii, Y as ai, Z as oi, _ as si, _t as ci, a as li, bn as ui, c as di, f as fi, g as pi, h as mi, i as hi, kt as gi, m as _i, n as vi, nt as yi, p as bi, pt as xi, r as Si, s as Ci, t as wi, v as Ti, w as Ei, xn as Di, y as Oi, z as ki } from "./dropdown-menu-Bb0bFOIk.js";
|
|
14
14
|
import { c as Ai, i as ji, l as Mi, o as Ni, s as Pi, t as Fi } from "./config-C8MFHQ2E.js";
|
|
15
|
-
import { A as Ii, At as Li, B as Ri, Ct as zi, E as Bi, Et as Vi, Ft as Hi, H as Ui, Ht as Wi, J as Gi, K as Ki, Lt as qi, Mt as Ji, P as Yi, Pt as Xi, Q as Zi, St as Qi, Ut as $i, V as ea, Vt as ta, X as na, Y as ra, Z as ia, _ as aa, c as oa, d as sa, dt as ca, g as la, h as ua, j as da, jt as fa, kt as pa, lt as ma, m as ha, ot as ga, p as _a, q as va, s as ya, st as ba, ut as xa, z as Sa, zt as Ca } from "./error-entries-
|
|
16
|
-
import { a as wa, c as Ta, d as Ea, f as Da, i as Oa, l as ka, n as Aa, o as ja, r as Ma, s as Na, t as Pa } from "./process-output-
|
|
15
|
+
import { A as Ii, At as Li, B as Ri, Ct as zi, E as Bi, Et as Vi, Ft as Hi, H as Ui, Ht as Wi, J as Gi, K as Ki, Lt as qi, Mt as Ji, P as Yi, Pt as Xi, Q as Zi, St as Qi, Ut as $i, V as ea, Vt as ta, X as na, Y as ra, Z as ia, _ as aa, c as oa, d as sa, dt as ca, g as la, h as ua, j as da, jt as fa, kt as pa, lt as ma, m as ha, ot as ga, p as _a, q as va, s as ya, st as ba, ut as xa, z as Sa, zt as Ca } from "./error-entries-9U4BFHjf.js";
|
|
16
|
+
import { a as wa, c as Ta, d as Ea, f as Da, i as Oa, l as ka, n as Aa, o as ja, r as Ma, s as Na, t as Pa } from "./process-output-bS3MGJ3f.js";
|
|
17
17
|
import { t as Fa } from "./pencil-DYUlSKxZ.js";
|
|
18
18
|
import { a as Ia, c as La, d as Ra, f as za, i as Ba, l as Va, r as Ha } from "./glide-utils-BSQr4d90.js";
|
|
19
|
-
import { n as Ua, t as Wa } from "./globals-
|
|
19
|
+
import { n as Ua, t as Wa } from "./globals-CjnqsurJ.js";
|
|
20
20
|
import { a as Ga, i as Ka, n as qa, r as Ja, s as Ya, t as Xa } from "./assertNever-B-YzWzbL.js";
|
|
21
21
|
import { t as Za } from "./react-dom-DUmH0GXv.js";
|
|
22
22
|
import { t as Qa } from "./jsx-runtime-3BD1kT0s.js";
|
|
@@ -40,10 +40,10 @@ import { n as qs, t as Js } from "./esm-BDqqT86j.js";
|
|
|
40
40
|
import { p as Ys } from "./dist-B8pkfkzc.js";
|
|
41
41
|
import { t as Xs } from "./useAsyncData-Ci4AvJff.js";
|
|
42
42
|
import { t as Zs } from "./semaphore-89jsoHtS.js";
|
|
43
|
-
import { t as Qs } from "./ErrorBoundary-
|
|
43
|
+
import { t as Qs } from "./ErrorBoundary-fSq1YI-S.js";
|
|
44
44
|
import { D as $s, O as ec } from "./vega-loader.browser-B9Pz0EGP.js";
|
|
45
45
|
import { a as tc, n as nc } from "./loader-DZvtzQoD.js";
|
|
46
|
-
import { a as rc, c as ic, i as ac, l as oc, o as sc, s as cc, t as lc } from "./code-visibility-
|
|
46
|
+
import { a as rc, c as ic, i as ac, l as oc, o as sc, s as cc, t as lc } from "./code-visibility-BhtW7mrV.js";
|
|
47
47
|
import { t as uc } from "./useDeepCompareMemoize-NaaWoFlX.js";
|
|
48
48
|
import { t as dc } from "./esm-BgKjMvWw.js";
|
|
49
49
|
//#region ../node_modules/.pnpm/iconify-icon@2.3.0/node_modules/iconify-icon/dist/iconify-icon.mjs
|
|
@@ -11929,7 +11929,7 @@ var xE = (e) => {
|
|
|
11929
11929
|
output: t
|
|
11930
11930
|
};
|
|
11931
11931
|
} };
|
|
11932
|
-
} }, DE = J.lazy(() => import("./chat-ui-
|
|
11932
|
+
} }, DE = J.lazy(() => import("./chat-ui-ByGe2rP1.js").then((e) => ({ default: e.Chatbot }))), OE = H(K({
|
|
11933
11933
|
id: W(),
|
|
11934
11934
|
role: V([
|
|
11935
11935
|
"system",
|
|
@@ -12398,7 +12398,7 @@ function ED(e, t) {
|
|
|
12398
12398
|
}
|
|
12399
12399
|
//#endregion
|
|
12400
12400
|
//#region src/plugins/impl/DataEditorPlugin.tsx
|
|
12401
|
-
var DD = J.lazy(() => import("./glide-data-editor-
|
|
12401
|
+
var DD = J.lazy(() => import("./glide-data-editor-BdgfR8uu.js").then((e) => e.t)), OD = cE("marimo-data-editor", { cssStyles: [jE, ME] }).withData(K({
|
|
12402
12402
|
initialValue: K({ edits: H(K({
|
|
12403
12403
|
rowIdx: U(),
|
|
12404
12404
|
columnId: W(),
|
|
@@ -32188,7 +32188,7 @@ function DH(e) {
|
|
|
32188
32188
|
}
|
|
32189
32189
|
//#endregion
|
|
32190
32190
|
//#region src/components/editor/renderers/slides-layout/slides-layout.tsx
|
|
32191
|
-
var OH = J.lazy(() => import("./reveal-component-
|
|
32191
|
+
var OH = J.lazy(() => import("./reveal-component-BqyL-_xE.js")), kH = (e) => {
|
|
32192
32192
|
let t = (0, X.c)(33), { layout: n, setLayout: r, cells: i, mode: a } = e, o = lo(Fs), s = a === "read" || o, c = lo(Qi) > 1, [l, u] = (0, J.useState)(null), d;
|
|
32193
32193
|
t[0] !== i || t[1] !== n ? (d = TR(i, n), t[0] = i, t[1] = n, t[2] = d) : d = t[2];
|
|
32194
32194
|
let { slideCells: f, skippedIds: p, noOutputIds: m, slideTypes: h, startCellIndex: g } = d, _;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
|
|
2
2
|
import { t } from "./react-sHtZdjeP.js";
|
|
3
|
-
import { a as n } from "./glide-data-editor-
|
|
3
|
+
import { a as n } from "./glide-data-editor-BdgfR8uu.js";
|
|
4
4
|
//#region ../node_modules/.pnpm/@glideapps+glide-data-grid@6.0.4-alpha24_lodash@4.17.21_marked@15.0.12_react-dom@19.3.0_27cffe7f1bc30287d59ac27db3240c5b/node_modules/@glideapps/glide-data-grid/dist/esm/internal/data-grid-overlay-editor/private/number-overlay-editor-style.js
|
|
5
5
|
var r = /* @__PURE__ */ e(t()), i = /*#__PURE__*/ n("div")({
|
|
6
6
|
name: "NumberOverlayEditorStyle",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { T as e } from "./html-to-image-
|
|
1
|
+
import { T as e } from "./html-to-image-BYh_MorV.js";
|
|
2
2
|
import { h as t } from "./tooltip-DMMiOn2f.js";
|
|
3
|
-
import { et as n, tt as r } from "./error-entries-
|
|
3
|
+
import { et as n, tt as r } from "./error-entries-9U4BFHjf.js";
|
|
4
4
|
import { r as i } from "./assertNever-B-YzWzbL.js";
|
|
5
5
|
import { n as a } from "./semaphore-89jsoHtS.js";
|
|
6
6
|
var o = t("file", [["path", {
|
|
@@ -3,15 +3,15 @@ import { g as t, h as n, i as r, m as i, t as a } from "./button-DZuNnIZO.js";
|
|
|
3
3
|
import { t as o } from "./react-sHtZdjeP.js";
|
|
4
4
|
import { t as s } from "./compiler-runtime-CldRdSsv.js";
|
|
5
5
|
import { h as c, t as l } from "./tooltip-DMMiOn2f.js";
|
|
6
|
-
import { $ as u, Q as d, _n as f, an as p, bn as m, et as h, gn as g, i as _, l as v, n as y, on as b, r as x, t as S, u as C } from "./common-
|
|
6
|
+
import { $ as u, Q as d, _n as f, an as p, bn as m, et as h, gn as g, i as _, l as v, n as y, on as b, r as x, t as S, u as C } from "./common-BIZJLLSc.js";
|
|
7
7
|
import { M as w } from "./select-DsoP1qe8.js";
|
|
8
8
|
import { Y as T } from "./dropdown-menu-Bb0bFOIk.js";
|
|
9
|
-
import { Ft as E } from "./error-entries-
|
|
9
|
+
import { Ft as E } from "./error-entries-9U4BFHjf.js";
|
|
10
10
|
import { t as D } from "./jsx-runtime-3BD1kT0s.js";
|
|
11
11
|
import { Ft as O, Rt as k, d as A, r as ee } from "./use-restore-focus-CosX7-gx.js";
|
|
12
12
|
import { t as j } from "./useEvent-BRH-aCqi.js";
|
|
13
13
|
import { o as te } from "./static-state-D-Q-Ajaa.js";
|
|
14
|
-
import { n as ne, t as re } from "./code-visibility-
|
|
14
|
+
import { n as ne, t as re } from "./code-visibility-BhtW7mrV.js";
|
|
15
15
|
/* empty css */
|
|
16
16
|
var M = c("sticky-note", [["path", {
|
|
17
17
|
d: "M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",
|
package/package.json
CHANGED
|
@@ -354,6 +354,43 @@ describe("cellFreshness", () => {
|
|
|
354
354
|
});
|
|
355
355
|
});
|
|
356
356
|
|
|
357
|
+
it.each(["running", "completed"] as const)(
|
|
358
|
+
"detects a binding in a newer runtime while its execution is %s",
|
|
359
|
+
(status) => {
|
|
360
|
+
const reader = record({
|
|
361
|
+
id: "reader-r2",
|
|
362
|
+
cell_id: "k7f2",
|
|
363
|
+
runtime_id: "r2",
|
|
364
|
+
code_fingerprint: K7F2_FINGERPRINT,
|
|
365
|
+
depends_on: { x: null },
|
|
366
|
+
started_at: "2026-10-01T09:21:00Z",
|
|
367
|
+
completed_at: "2026-10-01T09:21:01Z",
|
|
368
|
+
});
|
|
369
|
+
const binder = record({
|
|
370
|
+
id: "binder-r3",
|
|
371
|
+
cell_id: "c3",
|
|
372
|
+
runtime_id: "r3",
|
|
373
|
+
code_fingerprint: C3_FINGERPRINT,
|
|
374
|
+
status,
|
|
375
|
+
started_at: "2026-10-01T09:22:00Z",
|
|
376
|
+
completed_at: status === "completed" ? "2026-10-01T09:22:01Z" : null,
|
|
377
|
+
});
|
|
378
|
+
const state = inputs({
|
|
379
|
+
cells: [c3, k7f2],
|
|
380
|
+
executions: [
|
|
381
|
+
execution(binder, [variable("x", binder.id)]),
|
|
382
|
+
execution(reader),
|
|
383
|
+
],
|
|
384
|
+
results: [e12, reader],
|
|
385
|
+
});
|
|
386
|
+
|
|
387
|
+
expect(freshnessOf(state)("k7f2")).toEqual({
|
|
388
|
+
sourceChanged: false,
|
|
389
|
+
inputsChanged: true,
|
|
390
|
+
});
|
|
391
|
+
},
|
|
392
|
+
);
|
|
393
|
+
|
|
357
394
|
it("treats a name bound only by an earlier runtime as unbound", () => {
|
|
358
395
|
const reader = record({
|
|
359
396
|
id: "e20",
|
|
@@ -390,6 +427,31 @@ describe("cellFreshness", () => {
|
|
|
390
427
|
});
|
|
391
428
|
});
|
|
392
429
|
|
|
430
|
+
it.each(["queued", "running"] as const)(
|
|
431
|
+
"flags reverting to completed source while different source is %s",
|
|
432
|
+
(status) => {
|
|
433
|
+
const pending = record({
|
|
434
|
+
id: "e14",
|
|
435
|
+
cell_id: "c3",
|
|
436
|
+
code_fingerprint: "ffff000011112222",
|
|
437
|
+
status,
|
|
438
|
+
outcome: null,
|
|
439
|
+
started_at: status === "running" ? T0 : null,
|
|
440
|
+
completed_at: null,
|
|
441
|
+
});
|
|
442
|
+
const state = inputs({
|
|
443
|
+
cells: [c3],
|
|
444
|
+
executions: [execution(pending)],
|
|
445
|
+
results: [e12],
|
|
446
|
+
});
|
|
447
|
+
|
|
448
|
+
expect(freshnessOf(state)("c3")).toEqual({
|
|
449
|
+
sourceChanged: true,
|
|
450
|
+
inputsChanged: false,
|
|
451
|
+
});
|
|
452
|
+
},
|
|
453
|
+
);
|
|
454
|
+
|
|
393
455
|
it("does not report changed source while a newer execution runs it", () => {
|
|
394
456
|
const edited = cell("c3", "ffff000011112222");
|
|
395
457
|
const running = record({
|
|
@@ -21,7 +21,7 @@ import type * as Protocol from "@marimo-team/client/protocol";
|
|
|
21
21
|
import type { Executions, Results } from "@/core/notebook/replica";
|
|
22
22
|
|
|
23
23
|
export interface CellFreshness {
|
|
24
|
-
/** This cell's source
|
|
24
|
+
/** This cell's source differs from its pending execution, or its last result. */
|
|
25
25
|
readonly sourceChanged: boolean;
|
|
26
26
|
/**
|
|
27
27
|
* A value the result read changed since, by a rerun or an update, here
|
|
@@ -87,11 +87,24 @@ export function freshnessOf(inputs: CellFreshnessInputs): CellFreshnessLookup {
|
|
|
87
87
|
for (const [name, revision] of Object.entries(record.depends_on)) {
|
|
88
88
|
const variables = bound.get(name) ?? [];
|
|
89
89
|
if (revision === null) {
|
|
90
|
-
//
|
|
90
|
+
// Older runtimes bind nothing here, but a later binding invalidates
|
|
91
|
+
// the result even if its runtime has since stopped.
|
|
91
92
|
if (
|
|
92
|
-
variables.some(
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
variables.some((v) => {
|
|
94
|
+
const binder = recordOf(v.execution_id);
|
|
95
|
+
if (binder === undefined) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
if (binder.runtime_id === record.runtime_id) {
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
const boundAt = binder.completed_at ?? binder.started_at;
|
|
102
|
+
return (
|
|
103
|
+
boundAt !== null &&
|
|
104
|
+
record.completed_at !== null &&
|
|
105
|
+
Date.parse(boundAt) > Date.parse(record.completed_at)
|
|
106
|
+
);
|
|
107
|
+
})
|
|
95
108
|
) {
|
|
96
109
|
return true;
|
|
97
110
|
}
|
|
@@ -117,21 +130,18 @@ export function freshnessOf(inputs: CellFreshnessInputs): CellFreshnessLookup {
|
|
|
117
130
|
return false;
|
|
118
131
|
}
|
|
119
132
|
|
|
120
|
-
/**
|
|
121
|
-
function
|
|
133
|
+
/** Compare against pending work before the result it will replace. */
|
|
134
|
+
function sourceChanged(
|
|
122
135
|
cell: Protocol.Cell,
|
|
123
|
-
|
|
136
|
+
result: Protocol.Execution,
|
|
124
137
|
): boolean {
|
|
125
138
|
const latest = inputs.executions.latest.get(cell.id);
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
pending.status !== "completed" &&
|
|
133
|
-
pending.code_fingerprint === cell.code_fingerprint
|
|
134
|
-
);
|
|
139
|
+
const pending = latest === undefined ? undefined : recordOf(latest);
|
|
140
|
+
const source =
|
|
141
|
+
pending !== undefined && pending.status !== "completed"
|
|
142
|
+
? pending
|
|
143
|
+
: result;
|
|
144
|
+
return cell.code_fingerprint !== source.code_fingerprint;
|
|
135
145
|
}
|
|
136
146
|
|
|
137
147
|
function ofRecord(
|
|
@@ -145,10 +155,7 @@ export function freshnessOf(inputs: CellFreshnessInputs): CellFreshnessLookup {
|
|
|
145
155
|
const cell =
|
|
146
156
|
record.cell_id === null ? undefined : inputs.cells.get(record.cell_id);
|
|
147
157
|
const freshness: CellFreshness = {
|
|
148
|
-
sourceChanged:
|
|
149
|
-
cell === undefined ||
|
|
150
|
-
(cell.code_fingerprint !== record.code_fingerprint &&
|
|
151
|
-
!coveredByPending(cell, record)),
|
|
158
|
+
sourceChanged: cell === undefined || sourceChanged(cell, record),
|
|
152
159
|
inputsChanged: inputsChanged(record, visiting),
|
|
153
160
|
};
|
|
154
161
|
memo.set(record.id, freshness);
|