Improve channel failure recovery #88
- MA
## Before
A failed channel-detail request discarded repository and channel context already visible in the tab. The failure card offered only Back to repositories, including for transient failures.
## After
- Retain known channel title, channel ID, and repository name in user-scoped per-tab recovery context. - Show a direct route to the repository channel list when that context exists. - Offer Try again only for the safe channel-detail read on network, timeout, rate-limit, or server failures. - Keep missing 404 channels non-retryable. - Keep unknown direct links privacy-safe: they show only the channel ID already present in the URL. - Keep Back to repositories as the secondary escape.
## Evidence
Targeted hosted browser coverage verifies:
- a known deleted channel retains context, links back to its repository, and has no retry - a transient failure retries the read and opens the channel - an unknown direct link exposes no cached title or repository
## Verification
- bun test — 848 passed, 2 skipped - bun run types - bun run ci - bun run build - E2E_SKIP_BUILD=1 bun scripts/e2e.ts e2e/hosted.e2e.ts --grep recovery scenarios — 3 passed
The E2E harness stopped both servers and removed both disposable PostgreSQL services after the run.
MaggieAppletonmerged 38d92e284c142 months ago on GitHub
MaggieAppletonhead-ref-deleted2 months ago on GitHub