mirror of
https://github.com/Studio-Saelix/sencho.git
synced 2026-08-12 11:47:11 +00:00
feat: acknowledge Compose Doctor preflight findings per stack (#1560)
* feat: acknowledge Compose Doctor preflight findings per stack Add node-scoped preflight acknowledgements with read-time filtering. Supports four expiry modes and activeStatus for banner, tab dot, and readiness. * fix: align preflight acknowledge UI with design system Use Combobox, modal chrome, mono fields, and non-destructive clear confirm. * fix: update test mocks to match new preflight field names The preflight-acknowledgements feature renamed status-\>activeStatus and highestSeverity-\>activeHighestSeverity in the preflight report shape. The corresponding test mocks in three files still used the old field names, causing 6 test failures across backend and frontend. - backend: update-guard-service mock now passes activeStatus - frontend PreflightPanel: Report interface and report() helper now include activeStatus, activeHighestSeverity, activeCount, acknowledgedCount - frontend StackAnatomyPanel doctor: mock API response now includes activeHighestSeverity and activeStatus
This commit is contained in:
@@ -27,13 +27,13 @@ const formatAge = (timestamp: number, now: number): string => {
|
||||
};
|
||||
|
||||
export function preflightSignal(
|
||||
input: { status: PreflightStatus } | Errored,
|
||||
input: { activeStatus: PreflightStatus } | Errored,
|
||||
): ReadinessSignal {
|
||||
const base = { id: 'preflight' as const, title: 'Compose Doctor' };
|
||||
if (input === 'error') {
|
||||
return { ...base, status: 'unknown', affectsVerdict: false, detail: 'The stored preflight report could not be read.' };
|
||||
}
|
||||
switch (input.status) {
|
||||
switch (input.activeStatus) {
|
||||
case 'never-run':
|
||||
return { ...base, status: 'unknown', affectsVerdict: false, detail: 'Compose Doctor has not been run for this stack yet. Run it for a deeper pre-update check.' };
|
||||
case 'blocker':
|
||||
|
||||
Reference in New Issue
Block a user