Repository navigation
Finish the desktop dialogs' button order, keys and destructive styling - #1607
Conversation
Enter never presses a button that removes, stops or approves: the launch prompt is Topmost and can appear mid-typing, and a destructive primary is one keystroke from data loss. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PR Summary by QodoStandardize desktop dialog actions and prevent unsafe Enter shortcuts
AI Description
Diagram
High-Level Assessment
Files changed (8)
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Code Review by Qodo
1.
|
|
/agentic_review |
|
Code review by qodo was updated up to the latest commit c2a1280 |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
/agentic_review |
|
Code review by qodo was updated up to the latest commit 3a2b070 |
Closes #1242 — AI-3372
What & why
This finishes the dialog button rule that #1600 started on the re-auth dialog: dismiss → secondary → primary, dismiss on Esc, primary on Enter. The exception is a primary that removes, stops or approves something.
kcapDangerFillstyle is used by Remove profile (the lifecycle prompt) and Stop anyway (the force-stop dialog). Neither is on Enter any more; Remove profile was previously a blue default button and Stop anyway a hard-coded red default.Not changed:
This touches files that #1508 rewrites, so #1508 will need a rebase.
Where to look
ConsentPromptWindow.axaml: the key-binding comment states the no-Enter rule.LifecyclePromptViewModel.AcceptIsDestructive, and its two-way class binding inLifecyclePromptWindow.axaml.App.BuildConfirmForceStopWindowandKcapBrush. Before the theme loads,KcapBrushreturns null, so the window keeps the platform default.Verification
DialogActionRowTests:SignInStepViewTests2,FeedbackWindowSmokeTests1,LifecyclePromptViewModelTests17,ConsentPromptViewModelTests29, and the startup-error window test.🤖 Generated with Claude Code
Summary by CodeRabbit