a0774f4f1a
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com> Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2.7 KiB
2.7 KiB
id, title, status, wave, depends_on, plan, requirements, acceptance_criteria, system_design
| id | title | status | wave | depends_on | plan | requirements | acceptance_criteria | system_design | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 07-source-settings-ui | Schema-driven alert source settings UI | pending | 2 |
|
plan.md |
|
|
|
T07: Schema-driven alert source settings UI
Outcome
One settings surface configures every alert source, rendering each form from the descriptor schema, so a new source type needs no frontend work.
In scope
- Alert sources list and add/edit dialog under Settings, Integrations.
- A generic form renderer driven by the schema served from
GET /api/v1/alert-sources/types. - Field rendering honoring
Secret(masked, never populated from a read),Default,Description,OptionalandAdvanced(collapsed). - Reuse of the existing integration shells:
IntegrationAuthStatusBannerandIntegrationAuthErrorMessage. - Hooks under
hooks/domains/alertsource/, following the repository rule that hooks do not live undercomponents/. - All copy localized in the five supported languages.
Exclusions
- No per-source custom components. A source that cannot be expressed in the field spec is a field spec gap and is fixed in T05.
- No watch editing UI beyond what the existing watcher surfaces already provide.
Applicable specifications
REQ-INTEGRATIONS-ALERT-INGEST-002,AC-INTEGRATIONS-ALERT-INGEST-002.3,AC-INTEGRATIONS-ALERT-INGEST-002.4- Alert ingest system design, Components.
Implementation acceptance conditions
- Adding a new source type to the backend registry causes it to appear in the type selector with a working form, with no frontend change.
- A field declared
Secretrenders masked, submits a new value when changed, and is never populated from a read response. - A field declared
Advancedis collapsed by default and does not block submission when left at its default.
Verification
cd apps/web && pnpm run typecheck
cd apps && pnpm --filter @kandev/web lint
cd apps/web && pnpm run i18n:check
cd apps/web && pnpm run i18n:ratchet
Likely files
apps/web/components/integrations/alert-sources/apps/web/hooks/domains/alertsource/apps/web/src/locales/*/for the five catalogs
ASCII UI previews
See UI-01 in plan.md. The list and dialog specified there are this
work order's deliverable. Structural requirements restated: field order follows
the descriptor; Secret renders masked; Advanced collapses.
Dependencies
T04 for the schema shape, T06 for the endpoints that serve it.
Results
Not started.