From fda92ecd4e870c7164bafc6c79c63f18299878d8 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 11 Mar 2026 21:06:37 -0400 Subject: [PATCH] always populate batch_values when updating a derived --- .../src/internal/client/reactivity/deriveds.js | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/packages/svelte/src/internal/client/reactivity/deriveds.js b/packages/svelte/src/internal/client/reactivity/deriveds.js index 3478784309..60baf7853b 100644 --- a/packages/svelte/src/internal/client/reactivity/deriveds.js +++ b/packages/svelte/src/internal/client/reactivity/deriveds.js @@ -28,13 +28,7 @@ import { import { equals, safe_equals } from './equality.js'; import * as e from '../errors.js'; import * as w from '../warnings.js'; -import { - async_effect, - destroy_effect, - destroy_effect_children, - effect_tracking, - teardown -} from './effects.js'; +import { async_effect, destroy_effect, destroy_effect_children, teardown } from './effects.js'; import { eager_effects, internal_set, set_eager_effects, source } from './sources.js'; import { get_error } from '../../shared/dev.js'; import { async_mode_flag, tracing_mode_flag } from '../../flags/index.js'; @@ -400,11 +394,7 @@ export function update_derived(derived) { // During time traveling we don't want to reset the status so that // traversal of the graph in the other batches still happens if (batch_values !== null) { - // only cache the value if we're in a tracking context, otherwise we won't - // clear the cache in `mark_reactions` when dependencies are updated - if (effect_tracking() || current_batch?.is_fork) { - batch_values.set(derived, value); - } + batch_values.set(derived, value); } else { update_derived_status(derived); }