Skip to content

feat(incident,maintenance): select affected services from a list instead of typing IDs#228

Open
wispy92 wants to merge 1 commit into
operacle:developfrom
wispy92:feat/incident-maintenance-service-selector
Open

feat(incident,maintenance): select affected services from a list instead of typing IDs#228
wispy92 wants to merge 1 commit into
operacle:developfrom
wispy92:feat/incident-maintenance-service-selector

Conversation

@wispy92

@wispy92 wispy92 commented Jun 20, 2026

Copy link
Copy Markdown

What

Let users pick the affected service(s) for an incident or a maintenance from the uptime-services list, instead of typing a raw service ID / service names by hand.

Why

  • The incident form's Service ID field was a free-text input expecting an internal record id — not discoverable, easy to get wrong.
  • The maintenance Affected services field was free text ("separate with commas"), so names had to be typed exactly.

How

  • Incident (IncidentBasicFields): the Service ID field is now a dropdown of uptime services (single select, with a status dot, mirroring the operational-page ComponentsSelector). It writes the selected service's id to service_id — unchanged data shape.
  • Maintenance (MaintenanceAffectedFields): Affected services becomes a multi-select — add services from a dropdown, shown as removable badges. Still stored in the existing affected text field as a comma-separated list of service names, so downstream display (table, detail dialog) is unchanged.
  • Frontend-only. The create and edit dialogs both reuse these field components, so both are covered. No new i18n keys (reuses serviceId, selectUptimeService, affectedServices).

Testing

npx tsc --noEmit, npx eslint (changed files), and npx vite build all pass.

…d of typing IDs

The incident form required pasting a raw service_id and the maintenance
form a free-text comma-separated list, so users had to know internal IDs
and exact service names. Both now use the uptime services list.

- Incident: the "Service ID" field becomes a dropdown of uptime services
  (single select, with a status dot) that writes the chosen service's id
  to service_id.
- Maintenance: "Affected services" becomes a multi-select — pick services
  from a dropdown, shown as removable badges; still stored in the existing
  `affected` text field as comma-separated service names.

Frontend-only. Create and edit dialogs both reuse these field components.
No new i18n keys (reuses serviceId / selectUptimeService / affectedServices).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@wispy92 wispy92 requested a review from tolaleng as a code owner June 20, 2026 20:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant