From a5c671094fc884bfd6266eaeb29723d60f792946 Mon Sep 17 00:00:00 2001 From: Matei-Paul Trandafir Date: Fri, 13 Jun 2025 18:25:59 +0300 Subject: [PATCH] Better fix --- packages/svelte/src/internal/client/constants.js | 1 - .../svelte/src/internal/client/reactivity/effects.js | 7 +++---- packages/svelte/src/internal/client/runtime.js | 9 ++++----- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/packages/svelte/src/internal/client/constants.js b/packages/svelte/src/internal/client/constants.js index e9be00c17d..98cef658bf 100644 --- a/packages/svelte/src/internal/client/constants.js +++ b/packages/svelte/src/internal/client/constants.js @@ -21,7 +21,6 @@ export const INSPECT_EFFECT = 1 << 18; export const HEAD_EFFECT = 1 << 19; export const EFFECT_HAS_DERIVED = 1 << 20; export const EFFECT_IS_UPDATING = 1 << 21; -export const TEMPLATE_EFFECT = 1 << 22; export const STATE_SYMBOL = Symbol('$state'); export const LEGACY_PROPS = Symbol('legacy props'); diff --git a/packages/svelte/src/internal/client/reactivity/effects.js b/packages/svelte/src/internal/client/reactivity/effects.js index d0ad8466c4..3cfbb9b43f 100644 --- a/packages/svelte/src/internal/client/reactivity/effects.js +++ b/packages/svelte/src/internal/client/reactivity/effects.js @@ -32,8 +32,7 @@ import { HEAD_EFFECT, MAYBE_DIRTY, EFFECT_HAS_DERIVED, - BOUNDARY_EFFECT, - TEMPLATE_EFFECT + BOUNDARY_EFFECT } from '#client/constants'; import { set } from './sources.js'; import * as e from '../errors.js'; @@ -345,12 +344,12 @@ export function template_effect(fn, thunks = [], d = derived) { define_property(inner, 'name', { value: '{expression}' }); const deriveds = thunks.map(d); - block(inner, TEMPLATE_EFFECT); + block(inner); }); } const deriveds = thunks.map(d); - return block(() => fn(...deriveds.map(get)), TEMPLATE_EFFECT); + return block(() => fn(...deriveds.map(get))); } /** diff --git a/packages/svelte/src/internal/client/runtime.js b/packages/svelte/src/internal/client/runtime.js index 0efdcb8f44..7a187daa5a 100644 --- a/packages/svelte/src/internal/client/runtime.js +++ b/packages/svelte/src/internal/client/runtime.js @@ -22,8 +22,7 @@ import { ROOT_EFFECT, LEGACY_DERIVED_PROP, DISCONNECTED, - EFFECT_IS_UPDATING, - TEMPLATE_EFFECT + EFFECT_IS_UPDATING } from './constants.js'; import { flush_tasks } from './dom/task.js'; import { internal_set, old_values } from './reactivity/sources.js'; @@ -204,8 +203,8 @@ export function check_dirtiness(reaction, resuming = false) { for (i = 0; i < length; i++) { dependency = dependencies[i]; - if (check_dirtiness(/** @type {Derived} */ (dependency))) { - /* Don't execute deriveds of template effects when unpausing, for example when outer resumes + if (check_dirtiness(/** @type {Derived} */ (dependency), resuming)) { + /* Don't execute deriveds when unpausing, for example when outer resumes {#if outer} {#if inner} @@ -215,7 +214,7 @@ export function check_dirtiness(reaction, resuming = false) { inner might be undefined, so don't eagerly execute `inner.func()` */ - if (resuming && (reaction.f & TEMPLATE_EFFECT) !== 0) return true; + if (resuming) return true; update_derived(/** @type {Derived} */ (dependency)); }