From 12f499cb986e79ba6fb923b2c7ca045d524c0f0a Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Wed, 22 Apr 2026 15:39:02 +0200 Subject: [PATCH] fix(home): $effect-Loop bei sort=viewed via untrack MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der Profile-Switch-Refetch-Effect las allLoading in der sync tracking- Phase. Der await fetch beendete die Sync-Phase, das finale allLoading = false im finally lief ausserhalb → wurde als externer Write interpretiert → Effect rerun → naechster Fetch → Endlosschleife. 2136 GETs auf /api/recipes/all?sort=viewed in 8s beobachtet. Fix: nur profileStore.active bleibt tracked (der tatsaechliche Trigger). allSort/allLoading werden in untrack() gelesen — die Writes auf allLoading im finally triggern damit keinen Effect-Rerun mehr. Verifiziert lokal: 1 Request statt 2000+ bei mount mit allSort=viewed. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/routes/+page.svelte | 46 ++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 0f209e5..c206c6a 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,5 +1,5 @@