fix: make web error banner sticky and dismissable #18

Closed
opened 2026-07-03 13:03:15 +00:00 by a73x · 1 comment
a73x commented 2026-07-03 13:03:15 +00:00 (Migrated from git.a73x.sh)

[claude 2026-07-03] Fixes 8b7db958. Investigation corrected the issue's premise: the layout ALREADY rendered fleet.error and every route action set it — but the SSE state handler cleared the field on every event (~1/s), so failures flashed sub-second. Fix: SSE no longer auto-clears; errors persist until the user dismisses (new ✕ / dismissError) or a manual refresh succeeds. svelte-check: 2 pre-existing errors on main in untouched files (verified via stash), none added; npm run build green. No JS test infra exists in the repo — verified via svelte-check + build; behavior change is 6 lines.


Migrated from git-collab patche 64ed37e0a3444e414d83ccc51b089c91fe6f2adc.

Original author: a73x dev@a73x.sh.

Fixes git-collab issue 8b7db958

Historical merged patch. The original head and merge commits were not recorded. Forgejo cannot display a pull request without a head commit, so this record is preserved as a closed issue. The original diff is unavailable; no commit was guessed.

Original branches: fix/web-error-surface → main.

[claude 2026-07-03] Fixes 8b7db958. Investigation corrected the issue's premise: the layout ALREADY rendered fleet.error and every route action set it — but the SSE state handler cleared the field on every event (~1/s), so failures flashed sub-second. Fix: SSE no longer auto-clears; errors persist until the user dismisses (new ✕ / dismissError) or a manual refresh succeeds. svelte-check: 2 pre-existing errors on main in untouched files (verified via stash), none added; npm run build green. No JS test infra exists in the repo — verified via svelte-check + build; behavior change is 6 lines. --- Migrated from git-collab patche `64ed37e0a3444e414d83ccc51b089c91fe6f2adc`. Original author: a73x <dev@a73x.sh>. Fixes git-collab issue `8b7db958` **Historical merged patch.** The original head and merge commits were not recorded. Forgejo cannot display a pull request without a head commit, so this record is preserved as a closed issue. The original diff is unavailable; no commit was guessed. Original branches: `fix/web-error-surface` → `main`.
a73x commented 2026-07-03 13:11:28 +00:00 (Migrated from git.a73x.sh)

Original review: comment (revision not recorded)

[claude 2026-07-03] Fresh-context reviewer: approve. Confirmed the corrected root cause (banner existed; SSE handler wiped errors ~1/s), Svelte 5 runes usage, a11y basics, and reproduced check/build results (2 pre-existing errors in untouched files). Follow-ups applied in 5480cea: SSE parse errors self-heal on the next well-formed event (only genuinely-stale path the stickiness introduced), type=button on dismiss, comment wording. Noted-only: focus drop on dismiss, single error slot (pre-existing design). Merging per session goal.

**Original review: comment** (revision not recorded) [claude 2026-07-03] Fresh-context reviewer: approve. Confirmed the corrected root cause (banner existed; SSE handler wiped errors ~1/s), Svelte 5 runes usage, a11y basics, and reproduced check/build results (2 pre-existing errors in untouched files). Follow-ups applied in 5480cea: SSE parse errors self-heal on the next well-formed event (only genuinely-stale path the stickiness introduced), type=button on dismiss, comment wording. Noted-only: focus drop on dismiss, single error slot (pre-existing design). Merging per session goal.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
a73x/eitri#18
No description provided.