Root cause: $derived with store getter functions (.filter/.map/?.operator) created new object references on every evaluation. Svelte 5 interpreted these as "changed values" → triggered re-render → re-evaluated $derived → new references → infinite loop (115% CPU). Fix: replaced ALL $derived in ProjectCard with plain getter functions. Functions are called in the template — Svelte tracks the inner $state reads but doesn't create intermediate reactive nodes that can loop. Verified via bisect: - Skeleton (no ProjectCard): 0% CPU - ProjectCard with $derived: 115% CPU - ProjectCard with plain functions: 0% CPU (0 ticks in 5s) Also fixed: CommandPalette $effect that read+wrote selectedIdx. |
||
|---|---|---|
| .. | ||
| bun | ||
| mainview | ||
| shared | ||