From a45b1f96f6af0d4c54a6cbc37a237292db953c5d Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Thu, 12 Mar 2026 11:38:56 +0100 Subject: [PATCH] fix fork / more effect.pending fixes --- packages/svelte/src/internal/client/reactivity/batch.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/svelte/src/internal/client/reactivity/batch.js b/packages/svelte/src/internal/client/reactivity/batch.js index 1e4a3b36fe..e75501fe83 100644 --- a/packages/svelte/src/internal/client/reactivity/batch.js +++ b/packages/svelte/src/internal/client/reactivity/batch.js @@ -636,6 +636,8 @@ export class Batch { * @param {Value | Reaction} reaction */ static upsert(reaction) { + if (current_batch?.is_fork) return reaction.batch; + if (reaction.f & RENDER_EFFECT && !(reaction.f & USER_EFFECT)) { return Batch.ensure(); } @@ -1152,11 +1154,14 @@ export function eager(fn) { // the first time this runs, we create an eager effect // that will run eagerly whenever the expression changes var previous_batch_values = batch_values; + var previous_current_batch = current_batch; try { + current_batch = null; batch_values = null; value = fn(); } finally { + current_batch = previous_current_batch; batch_values = previous_batch_values; }