diff --git a/packages/svelte/src/internal/client/reactivity/effects.js b/packages/svelte/src/internal/client/reactivity/effects.js index ac1255eaed..2097eac054 100644 --- a/packages/svelte/src/internal/client/reactivity/effects.js +++ b/packages/svelte/src/internal/client/reactivity/effects.js @@ -73,7 +73,6 @@ function create_effect(type, fn, sync, init = true) { try { set_is_flushing_effect(true); execute_effect(effect); - set_signal_status(effect, CLEAN); effect.f |= EFFECT_RAN; } finally { set_is_flushing_effect(previously_flushing_effect); diff --git a/packages/svelte/src/internal/client/runtime.js b/packages/svelte/src/internal/client/runtime.js index 1af31622a6..a38a16fbad 100644 --- a/packages/svelte/src/internal/client/runtime.js +++ b/packages/svelte/src/internal/client/runtime.js @@ -384,6 +384,8 @@ export function execute_effect(signal) { return; } + set_signal_status(signal, CLEAN); + const previous_effect = current_effect; const previous_component_context = current_component_context; @@ -439,7 +441,6 @@ function flush_queued_effects(effects) { if ((signal.f & (DESTROYED | INERT)) === 0) { if (check_dirtiness(signal)) { - set_signal_status(signal, CLEAN); execute_effect(signal); } }