Commit Graph

4 Commits

Author SHA1 Message Date
Giancarmine Salucci
53b3d36ca3 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>
2026-03-25 14:34:26 +01:00
Giancarmine Salucci
a63de39473 fix(svelte): replace $effect with onMount for side effects
$effect runs during SSR and re-runs on every reactive dependency change,
causing polling loops and URL reads to fire at the wrong time. onMount
runs once on the client after first render, which is the correct lifecycle
for polling, URL param reads, and async data loads.

- IndexingProgress: polling loop now starts on mount, not on reactive trigger
- search/+page.svelte: URL param init moved to onMount; use window.location
  directly instead of the page store to avoid reactive re-runs
- settings/+page.svelte: config load and local provider probe moved to onMount

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 14:30:04 +01:00
Giancarmine Salucci
c20df6bc97 feat(EMBEDDINGS-0001): add save feedback banners and fix Svelte 5 runes compliance
Replace onMount with $effect for initial config loading. Add auto-dismissing
green success banner (3 s) and persistent red error banner after save attempts.
Remove inline status text in favour of full-width banners with icons.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 18:15:52 +01:00
Giancarmine Salucci
90d93786a8 feat(TRUEREF-0015): implement web UI repository dashboard
- Repository list with state badges, stats, and action buttons
- Add repository modal for GitHub URLs and local paths
- Live indexing progress bar polling every 2s
- Confirm dialog for destructive actions
- Repository detail page with versions and recent jobs
- Settings page placeholder

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 09:07:06 +01:00