From 8776ab894b5e23f2765eff55f68a937163c4baad Mon Sep 17 00:00:00 2001 From: Alexander Bocken Date: Wed, 4 Feb 2026 16:52:09 +0100 Subject: [PATCH] fix: remove Svelte 4 object reassignment causing $effect infinite loop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The splitAmounts = { ...splitAmounts } pattern created a circular dependency inside $effect blocks—reading and writing the same reactive value—which Svelte 5 killed via loop protection, leaving the split method selector non-reactive when selecting "50/50 + personal". --- src/lib/components/SplitMethodSelector.svelte | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/lib/components/SplitMethodSelector.svelte b/src/lib/components/SplitMethodSelector.svelte index 73e3afb..b25715b 100644 --- a/src/lib/components/SplitMethodSelector.svelte +++ b/src/lib/components/SplitMethodSelector.svelte @@ -58,7 +58,6 @@ splitAmounts[user] = splitAmount; } }); - splitAmounts = { ...splitAmounts }; } function calculateFullPayment() { @@ -75,7 +74,6 @@ splitAmounts[user] = amountPerOtherUser; } }); - splitAmounts = { ...splitAmounts }; } function calculatePersonalEqualSplit() { @@ -100,7 +98,6 @@ splitAmounts[user] = totalOwed; } }); - splitAmounts = { ...splitAmounts }; } function handleSplitMethodChange() { @@ -116,7 +113,6 @@ splitAmounts[user] = 0; } }); - splitAmounts = { ...splitAmounts }; } }