[web] make route state ownership explicit and clear Svelte warnings #189

Merged
eleith merged 1 commits from fix/reactive-state-ownership into main 2026-11-03 23:58:37 +00:00

Summary

Follow-up to landed #188, based on current main:

  • Scope asset drafts and language selection to an asset-path-keyed editor; save refreshes do not remount it.
  • Keep only explicit field-level seeds for independent drafts and per-job SSE progress. No blanket initialData aliases.
  • Resolve Preview destinations reactively in markup without resetting live progress.
  • Let tag pagination follow incoming loader results and ignore stale responses.
  • Make Health observe current loader probe promises with rejection handling and teardown; ignore superseded manual retests and reset pending state on a new load.

Includes a patch changeset. Full asset clean/dirty refresh reconciliation remains separate work.

Verification

  • Type check: 0 errors, 0 warnings (previously 15 warnings).
  • 2,124 web tests and 61 native production HTTP tests pass.
  • Web build, lint/format, and whitespace checks pass.
  • Correctness/readability and test reviews have no remaining actionable findings.
  • Asset ownership has an explicit structural guard; Preview href assertions no longer depend on eager resolver call order/count.

Browser verification boundary

The checks above do not exercise real client remounts or request races. Manual verification remains for asset switching versus same-file saves, Health refresh/retest/unmount while pending, tag navigation during pagination, and Preview same-job tabs versus new-job stream cleanup. No browser infrastructure was added.

## Summary Follow-up to landed #188, based on current `main`: - Scope asset drafts and language selection to an asset-path-keyed editor; save refreshes do not remount it. - Keep only explicit field-level seeds for independent drafts and per-job SSE progress. No blanket `initialData` aliases. - Resolve Preview destinations reactively in markup without resetting live progress. - Let tag pagination follow incoming loader results and ignore stale responses. - Make Health observe current loader probe promises with rejection handling and teardown; ignore superseded manual retests and reset pending state on a new load. Includes a patch changeset. Full asset clean/dirty refresh reconciliation remains separate work. ## Verification - Type check: **0 errors, 0 warnings** (previously 15 warnings). - **2,124 web tests** and **61 native production HTTP tests** pass. - Web build, lint/format, and whitespace checks pass. - Correctness/readability and test reviews have no remaining actionable findings. - Asset ownership has an explicit structural guard; Preview href assertions no longer depend on eager resolver call order/count. ## Browser verification boundary The checks above do not exercise real client remounts or request races. Manual verification remains for asset switching versus same-file saves, Health refresh/retest/unmount while pending, tag navigation during pagination, and Preview same-job tabs versus new-job stream cleanup. No browser infrastructure was added.
eleith-gitea-agent Bot added 1 commit 2026-11-03 23:55:47 +00:00
[web] give route UI state explicit ownership
ci/woodpecker/pr/web Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
4ec5e524e5
eleith merged commit 4ec5e524e5 into main 2026-11-03 23:58:37 +00:00
eleith deleted branch fix/reactive-state-ownership 2026-11-03 23:58:37 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eleith/luzzle#189