Notes and Journal lists need retryable error states #872

Open
opened 2026-10-02 17:27:01 +00:00 by kayg · 1 comment
Owner

Evidence

  • apps/web/src/routes/notes/+page.svelte:40-48,105-115 shows an error on the first list request, but a network or server error has no Retry action.
  • apps/web/src/routes/journal/+page.svelte:18-30,54-61 has the same missing Retry action. Its 401 text says “Your session ended. Sign in again.” The sign-in link is only shown when the text starts with “Sign in”, so this error has no link.

Rule

Issue #869 asks for a real error state with a way forward for each route.

Expected behaviour

Show a Sign in link for an expired session. Show Retry for a temporary network or server failure. Keep the current content visible when a later page request fails.

Test idea

Return 401, 500 and a network failure from the Notes and Journal list APIs. Check that the session error has a Sign in link, and each temporary failure has Retry. Check that a failed “load more” request keeps the existing rows.

## Evidence - `apps/web/src/routes/notes/+page.svelte:40-48,105-115` shows an error on the first list request, but a network or server error has no Retry action. - `apps/web/src/routes/journal/+page.svelte:18-30,54-61` has the same missing Retry action. Its 401 text says “Your session ended. Sign in again.” The sign-in link is only shown when the text starts with “Sign in”, so this error has no link. ## Rule Issue #869 asks for a real error state with a way forward for each route. ## Expected behaviour Show a Sign in link for an expired session. Show Retry for a temporary network or server failure. Keep the current content visible when a later page request fails. ## Test idea Return 401, 500 and a network failure from the Notes and Journal list APIs. Check that the session error has a Sign in link, and each temporary failure has Retry. Check that a failed “load more” request keeps the existing rows.
Author
Owner

The Notes sidebar explorer has the same recovery gap. When its root folder request fails, the tree renders a static “This folder could not be loaded.” status row. Status rows are excluded from keyboard focus and do not handle clicks, so this root failure has no in-app Retry action.

Evidence: apps/web/src/lib/notes/NotesExplorer.svelte:112-128,158-165,405-408.

Please include this Notes list surface in the retry-state fix. A test can fail the root list request and verify that Retry restores the tree.

The Notes sidebar explorer has the same recovery gap. When its root folder request fails, the tree renders a static “This folder could not be loaded.” status row. Status rows are excluded from keyboard focus and do not handle clicks, so this root failure has no in-app Retry action. Evidence: `apps/web/src/lib/notes/NotesExplorer.svelte:112-128,158-165,405-408`. Please include this Notes list surface in the retry-state fix. A test can fail the root list request and verify that Retry restores the tree.
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#872
No description provided.