feat: settings banner when OAuth tokens use file fallback (#81) #86
No reviewers
Labels
No labels
source:analyste
source:defenseur
source:human
source:medic
status:approved
status:blocked
status:in-progress
status:needs-fix
status:ready
status:review
status:triage
type:bug
type:feature
type:infra
type:refactor
type:schema
type:security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: maximus/Simpl-Resultat#86
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-81-fallback-banner"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes #81
Refs #66
Summary
getTokenStoreMode()wrapper inauthService.tscalling the Tauri command added in #78.TokenStoreFallbackBannercomponent: amber warning card that renders only whenmode === "file". Silent (returns null) when keychain is active or mode is null (not yet authenticated).SettingsPageright underAccountCardso the user sees the warning where they manage their session.account.tokenStore.fallback.*.UX
ShieldAlerticon, localized title + description explaining the state and how to recover (keyring service needed).Test plan
npm run buildcleannpm test25/25 vitest tests passDBUS_SESSION_BUS_ADDRESS=/dev/nullstart → banner visible in Settings (deferred to #82)Review — APPROVE ✓
Security
sessionStoragedans un try/catch pour les cas où le storage est indisponibleCorrectness
cancelleddans le useEffect évite les setState post-unmountmode !== "file"oudismissed— pas de flashsessionStorage: réapparaît au prochain démarrage de l'app si le fallback est toujours actif (matche le critère d'acceptance)getTokenStoreMode— la bannière se masque plutôt que planterQuality
var(--foreground),var(--muted-foreground)) + amber-500 pour la couleur warning (consistant avec d'autres cards d'alerte dans le projet)aria-labelsur le bouton close (accessibilité)common.close(FR: Fermer, EN: Close)Observations
Verdict : APPROVE