Wrap public/share route trees in ErrorBoundary #109
Labels
No labels
bug
duplicate
enhancement
future
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rbrooks/TeaLeaves#109
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Severity: Medium · Confidence: High · Effort: XS · Category: ui
Evidence
app/src/App.tsx:97,122- onlyAuthenticatedAppwraps its<Routes>in<ErrorBoundary>;:131-139(/share/:tokentree) and:140-156(/u/...public tree) are uncovered.Problem
A render-time throw on any public page (
PublicMotifPage,PublicProjectPage,PublicProfilePage,EmbedPage,ProjectSharePage) - all reachable by anonymous visitors, including embedded iframes - white-screens with no recovery UI, whereas authenticated pages show the fallback.Impact
Public/embedded surfaces (the published face of the tool) fail hard and blank instead of degrading gracefully.
Fix
Wrap both public route trees in
<ErrorBoundary>.Acceptance criteria
Filed from the 2026-07-15 codebase audit. Full report:
docs/.internal/report-2026-07-15.md(gitignored).Both public route trees (
/share/*and/u/*— PublicMotif/Project/Profile, Embed, ProjectShare) are now wrapped in<ErrorBoundary>. A render-time throw on a public/embed page shows the recoverable fallback instead of a blank screen.Shipped in
59e4fdd(test fix6561f9a), part of the v7.3.0 milestone. Verified on dev (v7.2.1-3-g6561f9a): app suite 65/65 and api suite 268/268 green on the dev server; the one CI red was the known runner flake (iac#159), not this change.