You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A reader created in the flush that clears an upstream error shows an empty hole instead of the async memo's result #4378
Found by the async app generator's E8 pair, the carve audit's birth-seat pair: a reader born before a write vs one born in the flush that applies it (#4371). Reproduces on next5f60713.
const[s,setS]=createSignal(3);constm0=createMemo(()=>{constv=1+latest(s);if(v%4===0)thrownewError("m0");// throws at s = 3returnv;});constm1=createMemo(()=>fetchM1(1+m0()));// at s = 2 asks for 4, which rejectsconst[epoch,setEpoch]=createSignal(1);render(()=>(<Erroredfallback={e=>"[ERR]"}><Loadingfallback="[LOAD]"><Showwhen={epoch()}keyed><span>{m1()}</span></Show></Loading></Errored>),el);// [ERR]setS(2);setEpoch(2);// same batch: the <span> reader is recreated in the flush that applies the write// settle every request
Without setEpoch(2), the existing reader ends at [ERR] (m1 rejects). This matches a fresh render.
With setEpoch(2), the screen ends at <span></span>, with nothing in flight. The new reader of m1 neither shows its error nor waits for it.
Activity
test(web): async-gen pairs E8 (birth seat) and E9 (latest in a derive)
test(web): async app generator — generated async apps, liveness oracl…
chore(size): ledger for #4378 (+16 B minified), over next @ 40cde2c
fix(signals): move the #4378 re-derive into the boundary's redraw so …
chore: describe the #4378 redraw fix in the changeset
fix(signals): gate the #4378 re-derive on the held output, not its st…
chore(size): ledger for #4378 (boundary scenarios only), over next @ 4…
fix(signals): back to recompute's arm for the #4378 re-derive
test(web): pin the generator's E8 case for #4378
chore(size): ledger for #4378 (+16 B minified), over next @ b68942c
fix(signals): a frame node re-run outside its hold re-derives the rea…
ryansolid commentedon Oct 28, 2026
Fixed on
nextby #4390 (1b32ff2); it ships in the next RC.Generated by Claude Code
test(web): async-gen refetch oracle counts only answers the payload c…