From 6d835a00fb7080704abaa5541ddb325cf3f7e331 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Fri, 22 May 2026 15:37:01 -0400 Subject: [PATCH] fix. almost there --- .../svelte/src/internal/client/reactivity/sources.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/svelte/src/internal/client/reactivity/sources.js b/packages/svelte/src/internal/client/reactivity/sources.js index 47ed57ce18..ae53fc17ce 100644 --- a/packages/svelte/src/internal/client/reactivity/sources.js +++ b/packages/svelte/src/internal/client/reactivity/sources.js @@ -28,7 +28,8 @@ import { WAS_MARKED, CONNECTED, STATE_EAGER_EFFECT, - REACTION_IS_UPDATING + REACTION_IS_UPDATING, + REACTION_RAN } from '#client/constants'; import * as e from '../errors.js'; import { legacy_mode_flag, tracing_mode_flag } from '../../flags/index.js'; @@ -361,7 +362,11 @@ export function mark_reactions(batch, signal, wv, updated_during_traversal) { if ((flags & WAS_MARKED) === 0) { // Only connected deriveds can be reliably unmarked right away - if (flags & CONNECTED) { + if ( + flags & CONNECTED && + active_reaction !== null && + (active_reaction.f & REACTION_RAN) !== 0 + ) { reaction.f |= WAS_MARKED; }