404 page is the bare SvelteKit error with no way back #138

Closed
opened 2026-09-25 22:17:58 +00:00 by kayg · 4 comments
Owner

Severity: low

Problem

/this/route/does/not/exist shows the bare SvelteKit error: "404 / Not Found" in the top-left, an empty sidebar, no link back and a console error. /home/kayg/Developer/calternal/target/breakit/run1/404_1440-paper.png.

Expected

A real empty state in the app style ("This page does not exist", a link to Today and Files), like the item-not-found states (LinkResolveState).

Found by the break-it sweep (#117). Re-run: cd apps/web && bun run build && bun e2e/breakit.mjs --keep <dir> (script on branch job/breakit-fixes). Screenshots: /home/kayg/Developer/calternal/target/breakit (run 1 in run1/, fix checks in verify/).

**Severity:** low ## Problem `/this/route/does/not/exist` shows the bare SvelteKit error: "404 / Not Found" in the top-left, an empty sidebar, no link back and a console error. `/home/kayg/Developer/calternal/target/breakit/run1/404_1440-paper.png`. ## Expected A real empty state in the app style ("This page does not exist", a link to Today and Files), like the item-not-found states (`LinkResolveState`). Found by the break-it sweep (#117). Re-run: `cd apps/web && bun run build && bun e2e/breakit.mjs --keep <dir>` (script on branch `job/breakit-fixes`). Screenshots: `/home/kayg/Developer/calternal/target/breakit` (run 1 in `run1/`, fix checks in `verify/`).
Author
Owner

Reproduced on the fresh merged branch build during #117 preflight. The unknown route rendered SvelteKit's bare 404 and emitted a console error at both 390 px and 1440 px. Screenshots: /home/kayg/Developer/calternal/target/breakit/cont-breakit-117/404_390-paper.png and /home/kayg/Developer/calternal/target/breakit/cont-breakit-117/404_1440-paper.png. I am applying the small empty-state fix in this sweep.

Reproduced on the fresh merged branch build during #117 preflight. The unknown route rendered SvelteKit's bare 404 and emitted a console error at both 390 px and 1440 px. Screenshots: `/home/kayg/Developer/calternal/target/breakit/cont-breakit-117/404_390-paper.png` and `/home/kayg/Developer/calternal/target/breakit/cont-breakit-117/404_1440-paper.png`. I am applying the small empty-state fix in this sweep.
Author
Owner

The unknown-route empty state is now implemented in apps/web/src/routes/+error.svelte, reusing LinkResolveState with links to Today and Files.

Verification on the production SPA and the merged local server:

  • bun e2e/breakit.mjs --quick --only 404 --keep ... --out .../verify-404
  • Both 390px and 1440px route visits passed; the break-it check asserted the expected “This page does not exist” text.
  • Report: /home/kayg/Developer/calternal/target/breakit/cont-breakit-117/verify-404/report.json
  • Screenshots: /home/kayg/Developer/calternal/target/breakit/cont-breakit-117/verify-404/404_390-paper.png and .../404_1440-paper.png
  • Fix commit: 6326fb0; verification and harness follow-up commits: f13a2fa, f7a7480.

The production app still logs SvelteKit’s expected Not found route error before rendering the route error boundary. The break-it harness now treats only explicitly expected missing routes as expected and still asserts that the app empty state renders.

The unknown-route empty state is now implemented in `apps/web/src/routes/+error.svelte`, reusing `LinkResolveState` with links to Today and Files. Verification on the production SPA and the merged local server: - `bun e2e/breakit.mjs --quick --only 404 --keep ... --out .../verify-404` - Both 390px and 1440px route visits passed; the break-it check asserted the expected “This page does not exist” text. - Report: `/home/kayg/Developer/calternal/target/breakit/cont-breakit-117/verify-404/report.json` - Screenshots: `/home/kayg/Developer/calternal/target/breakit/cont-breakit-117/verify-404/404_390-paper.png` and `.../404_1440-paper.png` - Fix commit: `6326fb0`; verification and harness follow-up commits: `f13a2fa`, `f7a7480`. The production app still logs SvelteKit’s expected `Not found` route error before rendering the route error boundary. The break-it harness now treats only explicitly expected missing routes as expected and still asserts that the app empty state renders.
Author
Owner

The full layout sweep found that its mobile 404 navigation check left the phone sidebar sheet open, then tried to click the route link behind that modal sheet. The app showed the custom 404 title and Today/Files links. The sweep now closes the sheet before following Files and the focused 404 run passes both desktop and phone screens (checked 2 screens). The remaining full sweep is being rerun after this test correction.

The full layout sweep found that its mobile 404 navigation check left the phone sidebar sheet open, then tried to click the route link behind that modal sheet. The app showed the custom 404 title and Today/Files links. The sweep now closes the sheet before following Files and the focused 404 run passes both desktop and phone screens (checked 2 screens). The remaining full sweep is being rerun after this test correction.
Author
Owner

Fixed. The full layout sweep passed 180 screens. The 404 checks cover phone and desktop, verify the app's “This page does not exist” state, and follow the Files link after closing the phone sidebar sheet.

Fixed. The full layout sweep passed 180 screens. The 404 checks cover phone and desktop, verify the app's “This page does not exist” state, and follow the Files link after closing the phone sidebar sheet.
kayg closed this issue 2026-09-26 12:52:11 +00:00
Sign in to join this conversation.
No labels
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
kayg/calternal#138
No description provided.