Repository navigation
feat(errors): server-side Closed tab, issue search, errors:tick and errors:replay - #1465
Merged
Merged
Maple Review Bot / Maple / review
succeeded
Oct 14, 2026 in 2m 55s
Confidence 8/10 · No issues found
🟢 Confidence 8/10 · likely safe to merge
The q clamp now matches the v2 cap, and the closed/open state sets line up on both sides; the web search and tab behavior carries no test.
quality 100/100 · no findings · tests partial · risk medium
Moves the /errors Open/Closed/All narrowing and free-text search server-side, adds state/search/include_archived to v2 GET /error_issues, and gives the search term a shared length cap. The earlier unbounded ?q= finding is fixed and I found nothing new in the files changed since the last review; the regenerated iOS spec only mirrors the new query fields.
- v2
GET /error_issuesacceptsstate=open|closed,searchandinclude_archived /errorstabs become Open/Closed/All, each narrowed by the serverhubViewOfremaps legacyview=triage|active|resolvedlinks onto the new tabs- The hub slices
qtoERROR_ISSUE_SEARCH_MAX_LENGTHbefore sendingsearch
Fixed since the last review
- ✅
F1 ·?q=is sent unbounded although the API capssearchat 200 characters
What was checked
?q=is clamped to the shared 200-char cap atapps/web/src/components/errors/errors-hub.tsx:147, which is the capV2ErrorIssueListQueryenforces- The server's closed set (
ErrorIssueReadModelsService.ts:61) and the client'sVIEW_STATES.closed(errors-hub-view.tsx:79) hold the same four states, so the Closed tab drops no rows - No stale
ACTIONABLE_VIEWS,HUB_VIEWSorview=triage|active|resolvedreferences remain at the head;hubViewOfcovers every legacy value
32a37bb · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.
Loading