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>