From f92dfc158aeb23ec8a07be75f4359a8342d392cb Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Tue, 22 Jul 2025 19:00:55 -0400 Subject: [PATCH] dedupe --- packages/svelte/src/internal/client/reactivity/sources.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/svelte/src/internal/client/reactivity/sources.js b/packages/svelte/src/internal/client/reactivity/sources.js index 41fda858a5..00c788596d 100644 --- a/packages/svelte/src/internal/client/reactivity/sources.js +++ b/packages/svelte/src/internal/client/reactivity/sources.js @@ -324,14 +324,16 @@ export function mark_reactions(signal, status, schedule_async = true) { continue; } + var should_schedule = (flags & DIRTY) === 0 && (schedule_async || (flags & ASYNC) === 0); + // don't set a DIRTY reaction to MAYBE_DIRTY - if ((flags & DIRTY) === 0 && (schedule_async || (flags & ASYNC) === 0)) { + if (should_schedule) { set_signal_status(reaction, status); } if ((flags & DERIVED) !== 0) { mark_reactions(/** @type {Derived} */ (reaction), MAYBE_DIRTY); - } else if ((flags & DIRTY) === 0 && (schedule_async || (flags & ASYNC) === 0)) { + } else if (should_schedule) { schedule_effect(/** @type {Effect} */ (reaction)); } }