Skip to content

feat(errors): server-side Closed tab, issue search, errors:tick and errors:replay - #1465

Merged
Makisuo merged 2 commits into
mainfrom
worktree-errors-findability
Oct 14, 2026
Merged

Makisuo merged 2 commits into
mainfrom
worktree-errors-findability

fix(errors): regenerate iOS spec, clamp issue search, name every lane…

32a37bb
Select commit
Loading
Failed to load commit list.
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_issues accepts state=open|closed, search and include_archived
  • /errors tabs become Open/Closed/All, each narrowed by the server
  • hubViewOf remaps legacy view=triage|active|resolved links onto the new tabs
  • The hub slices q to ERROR_ISSUE_SEARCH_MAX_LENGTH before sending search

Fixed since the last review

  • ✅ F1 · ?q= is sent unbounded although the API caps search at 200 characters
What was checked
  • ?q= is clamped to the shared 200-char cap at apps/web/src/components/errors/errors-hub.tsx:147, which is the cap V2ErrorIssueListQuery enforces
  • The server's closed set (ErrorIssueReadModelsService.ts:61) and the client's VIEW_STATES.closed (errors-hub-view.tsx:79) hold the same four states, so the Closed tab drops no rows
  • No stale ACTIONABLE_VIEWS, HUB_VIEWS or view=triage|active|resolved references remain at the head; hubViewOf covers 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.