cloudflare / cloudflare/agentic-inbox

Frontend: add loading/error states to mutations and search

Open
#19 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
7.5k
Forks
964
PR merge metrics
No merged PRs in 30d

Description

Most `useMutation` / `useQuery` sites in the SPA render results without surfacing pending or error states, so failed sends/moves/searches look indistinguishable from no-ops and double-clicks aren't prevented.

### Hot spots
- Mutations in `app/components/email-list.tsx`, `app/components/AgentPanel.tsx`, `app/components/ComposeEmail.tsx` — wire `isPending` to disable the trigger button and `isError` to a toast.
- Search in `app/routes/search-results.tsx` — show a skeleton while loading, toast on error.
- Pagination in `app/routes/email-list.tsx` — show skeleton on `isLoading` so the next page doesn't render stale data silently.

### Proposal
Use the existing kumo `Spinner` / `Skeleton` / disabled-button props plus a shared toast helper. No new deps.

### Why
Cheapest credibility win. Today a failed reply-send or quarantine move is invisible to the user.

### Effort
Half a day for a sweep across the listed components; can be split per-component if preferred.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.