Ask loses its deep link when the plugin check fails #912

Open
opened 2026-10-02 17:39:43 +00:00 by kayg · 0 comments
Owner

Evidence

On a cold /ask open, refreshAccess() waits for the auth and plugin requests. If the plugin request fails, searchAccess keeps its default plugin set, which does not include Ask. The route then treats this as a confirmed disabled plugin and navigates to /today. The User sees no error or Retry action, and the deep link is lost.

  • apps/web/src/routes/ask/+page.svelte:16-28,55-58
  • apps/web/src/lib/search/access.svelte.ts:39-55

Expected behaviour

Keep the safe access default. When the server cannot confirm plugin access, show an error with Retry and keep the Ask route. Navigate away only after a successful response confirms that Ask is disabled.

Owner rules

The UX-completeness rule requires a real error state with a way forward. DESIGN.md §33 requires a deep link to restore the requested view.

Test idea

Open /ask with a cold access cache while the plugin request returns a server error. Verify the route shows a retryable error. Then verify a successful response for an enabled plugin opens Ask and a successful response for a disabled plugin follows the existing disabled-plugin route.

## Evidence On a cold `/ask` open, `refreshAccess()` waits for the auth and plugin requests. If the plugin request fails, `searchAccess` keeps its default plugin set, which does not include Ask. The route then treats this as a confirmed disabled plugin and navigates to `/today`. The User sees no error or Retry action, and the deep link is lost. - `apps/web/src/routes/ask/+page.svelte:16-28,55-58` - `apps/web/src/lib/search/access.svelte.ts:39-55` ## Expected behaviour Keep the safe access default. When the server cannot confirm plugin access, show an error with Retry and keep the Ask route. Navigate away only after a successful response confirms that Ask is disabled. ## Owner rules The UX-completeness rule requires a real error state with a way forward. DESIGN.md §33 requires a deep link to restore the requested view. ## Test idea Open `/ask` with a cold access cache while the plugin request returns a server error. Verify the route shows a retryable error. Then verify a successful response for an enabled plugin opens Ask and a successful response for a disabled plugin follows the existing disabled-plugin route.
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#912
No description provided.