Repository navigation
feat(alerts): full-page escalation chain editor - #2436
Confidence 8/10 · No issues found
🟢 Confidence 8/10 · likely safe to merge. Held at 8 because 2 reviewed files were not read.
no findings · tests covered · risk medium · 2 files not read · 1 fix not yet re-checked against the whole diff
Moves escalation chains from a dialog to a full page (/alerts/escalation-chains/new and /:chainId) with inline target chips, per-step menus, a delete confirm shared with the hub and an unsaved-changes guard. Both open findings are fixed and nothing new blocks the merge. The open McpQueryError issues come from the MCP query registry in apps/ai (registry.js, withTableListOnUnknownTable), not the page registry this diff touches, so they are neither fixed nor worsened here; the deleted dialog's view went only partly read.
AlertsEscalationChain/...Newroutes replace the chain dialog; hub links and the rule editor's "Create a chain" now navigate to the pagechainDeleteConfirmlists the rules that start a chain and holds Delete while any remainspickChipsandchainConnectoradd inline chips and the step-to-step "+" to the page kitisBlockingNavigation/blockedNavigationguard unsaved edits; viewers withoutalerts:manageget read-only
Fixed since the last review
- ✅
F4 · Delete confirm says "These rules" for a chain one rule starts - ✅
F5 · Notes field has no test:ChangedDescriptionis never driven
Production impact
Open errors in the changed files (2)
| Issue | Service | Occurrences | File |
|---|---|---|---|
| @maple/mcp/errors/McpQueryError (2 issues) | maple-chat | 6 | apps/web/src/page/registry.ts |
| @maple/mcp/errors/McpQueryError (7 issues) | maple-ai | 21 | apps/web/src/page/registry.ts |
After this merges, Maple checks whether they stop.
What was checked
- A chain deleted elsewhere reads
resourceNotFoundwith a way back, not a retry loop (view.ts:34) - Delete refused with
CHAIN_IN_USE_CODEre-reads the chain and keeps the typed form (update.ts:377) - Rule names are unique per org, so
h.Key(ruleName)in the confirm cannot collide (db/src/tables/alerts.ts:132)
Files not reviewed (2)
The review ended before it read these diffs, so nothing above vouches for them.
apps/web/src/page/alerts/escalation-dialog/dialog.scene.test.tsapps/web/src/page/alerts/escalation-dialog/dialog.test.ts
0c18b56 · Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.