fix(svelte): restore $effect runes, replacing incorrect onMount usage

onMount is Svelte 4 idiom. In Svelte 5 runes mode $effect is the correct
primitive for side effects and it provides additional behaviour onMount
cannot:

- IndexingProgress: $effect re-runs when jobId prop changes, restarting
  the polling loop for the new job. onMount would have missed prop changes.

- search/+page.svelte: $effect with untrack() reads page.url params once
  on mount without tracking the URL as a reactive dependency, preventing
  goto() calls inside searchDocs() from triggering an infinite re-run loop.
  Restores the page store import from $app/state.

- settings/+page.svelte: $effect with no reactive reads in the body runs
  exactly once on mount — equivalent to onMount but idiomatic Svelte 5.

All three verified with svelte-autofixer: no issues.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Giancarmine Salucci
2026-03-25 14:34:26 +01:00
parent fd46328a8b
commit 53b3d36ca3
3 changed files with 8 additions and 8 deletions

View File

@@ -1,12 +1,11 @@
<script lang="ts">
import { onMount } from 'svelte';
import type { IndexingJob } from '$lib/types';
let { jobId }: { jobId: string } = $props();
let job = $state<IndexingJob | null>(null);
onMount(() => {
$effect(() => {
job = null;
let stopped = false;