Version 1.3.2
What's Changed
Fixed
- Stale value and lost propagation after all consumers of a
SlotorMemodisconnect and reconnect: Previously, when the lastEffectunsubscribed from aSlot(or any intermediateMemoNode),unlinkcorrectly cascaded into theMemoNodeviatrimSources— pruning the upstreamState → MemoNodeedge — but leftflagsasFLAG_CLEAN. On reconnect,refresh()sawFLAG_CLEANand returned immediately without callingrecomputeMemo: the source edge was never re-established, the node returned its stale cached value, and subsequentState.set()calls did not propagate at all (the source's sink list no longer contained theMemoNode). NowsinkNode.flags |= FLAG_DIRTYis set after the cascadetrimSourcesinunlink(src/graph.ts). The nextrefresh()triggersrecomputeMemo, which re-runsfnwithactiveSink = node, re-links the upstream edge vialink(), and returns a fresh value. Downstream propagation then works correctly for the lifetime of the new consumer.
Full Changelog: v1.3.1...v1.3.2