From df50aa8384921a80681db354c10a51a72ad10827 Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Thu, 24 Sep 2026 00:47:28 +0200 Subject: [PATCH] eager batches don't need to run inside forks and don't need to notify them --- packages/svelte/src/internal/client/reactivity/batch.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/svelte/src/internal/client/reactivity/batch.js b/packages/svelte/src/internal/client/reactivity/batch.js index 9bf075867b..9b4d9b4d2d 100644 --- a/packages/svelte/src/internal/client/reactivity/batch.js +++ b/packages/svelte/src/internal/client/reactivity/batch.js @@ -876,7 +876,7 @@ export class Batch { source.wv = wv; } - for (let batch = first_batch; batch !== null; batch = batch.next) { + for (let batch = first_batch; batch !== null && !this.is_eager; batch = batch.next) { if (batch.id < this.id && batch.current.has(source)) { this.dependent.add(batch); } @@ -1470,7 +1470,7 @@ export function eager(fn) { get(version); eager_effect(() => { - if (initial) { + if (initial && !current_batch?.is_fork) { // the first time this runs, we create an eager effect // that will run eagerly whenever the expression changes var previous_batch_values = batch_values;