Focus daemon authorization failures on auth-token recovery instead of engine remediation. - Pass auth-token recovery state into dashboard banners so engine unavailable and status remediation banners stay hidden while recovery is open. - Improve auth recovery dialog focus styling and tests for unauthorized daemon responses. - Add release notes for focused auth-token recovery behavior. Files changed: .changeset/auth-token-recovery-focus.md | 7 ++ .changeset/fn-7243-auth-recovery-banner.md | 7 ++ packages/dashboard/app/App.tsx | 1 + packages/dashboard/app/__tests__/auth.test.ts | 31 ++++- .../app/components/AuthTokenRecoveryDialog.css | 7 +- .../__tests__/AuthTokenRecoveryDialog.test.tsx | 41 +++++- .../app/components/dashboard/DashboardBanners.tsx | 14 ++- .../dashboard/__tests__/DashboardBanners.test.tsx | 138 ++++++++++++++++++++- .../dashboard/app/components/dashboard/types.ts | 1 + .../hooks/__tests__/useAuthTokenRecovery.test.ts | 9 +- 10 files changed, 238 insertions(+), 18 deletions(-) Fusion-Task-Id: FN-7243 Fusion-Task-Lineage: 8292080d-a310-4fdc-9b5f-baa17a592bad Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
39 lines
855 B
CSS
39 lines
855 B
CSS
/*
|
|
FNXC:AuthTokenRecovery 2026-06-29-00:00:
|
|
The daemon-auth recovery dialog is blocking but must use the shared modal-overlay stacking contract. Do not add auth-specific z-index rules; the dashboard banner stack is suppressed separately while recovery is open.
|
|
*/
|
|
|
|
.auth-token-recovery-header h3 {
|
|
margin: 0;
|
|
}
|
|
|
|
.auth-token-recovery-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-lg);
|
|
padding: var(--space-lg) var(--space-xl);
|
|
}
|
|
|
|
.auth-token-recovery-content p {
|
|
margin: 0;
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
.auth-token-recovery-field {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-sm);
|
|
}
|
|
|
|
.auth-token-recovery-field label {
|
|
color: var(--text-muted);
|
|
font-size: 0.75rem;
|
|
font-weight: 600;
|
|
letter-spacing: 0.04em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.auth-token-recovery-actions {
|
|
gap: var(--space-sm);
|
|
}
|