fix(desktop): label yolo approval bypass control - #46405
Conversation
2c1ddef to
e660718
Compare
|
I checked the failing |
e660718 to
96e9544
Compare
|
Rebased this on current Validation:
The prior failing |
|
Thanks for the focused Desktop safety-affordance improvement. Current The change remains at the renderer/i18n layer and preserves the existing Automated hermes-sweeper review. |
|
Closing as superseded by current main. The desktop now uses the shared |
What does this PR do?
Makes the Desktop statusbar YOLO approval-bypass control explicit instead of icon-only. The control still uses the existing per-session/global YOLO behavior, but now renders a visible approval state and exposes the existing explanatory title to hover and assistive technologies.
This keeps the fix at the UI affordance layer: no approval policy, config, or backend behavior changes.
Related Issue
Fixes #46371
Related: #43071, #43077
Duplicate check
#43077 covers the generic statusbar tooltip bug by passing
titlethrough to statusbar render paths. This PR is focused on the separate #46371 safety affordance: the YOLO approval-bypass control should not be an icon-only lightning bolt. It adds the visibleApprovals Manual/Bypassedstate and keeps the title/aria propagation in this branch so the new control is accessible on currentmain.If #43077 lands first, I can rebase this PR and keep the non-duplicate visible-label portion.
Type of Change
Changes Made
apps/desktop/src/app/shell/statusbar-controls.tsx: passestitlethrough to statusbar buttons/links/menu triggers and uses it as an accessible label for interactive controls.apps/desktop/src/app/shell/hooks/use-statusbar-items.tsx: changes the YOLO statusbar item from an unlabeled bolt toApprovals Manual/Bypassedwhile preserving the full explanatory title.apps/desktop/src/i18n/*: adds short localized labels for the visible approval state.apps/desktop/src/app/shell/statusbar-controls.test.tsx: regression coverage for title/aria label propagation and visible status text.How to Test
npm --workspace apps/desktop run test:ui -- statusbar-controls.test.tsxnpm --workspace apps/desktop run typecheckgit diff --check main..HEADChecklist
Code
Documentation & Housekeeping
docs/, docstrings) — N/Acli-config.yaml.exampleif I added/changed config keys — N/ACONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — N/AScreenshots / Logs
Focused UI test:
Typecheck:
Whitespace: