-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Add more granular Auto-Type confirmation settings #12370
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add more granular Auto-Type confirmation settings #12370
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds granular control over Auto-Type confirmation settings by introducing a new option to skip confirmation prompts for main window Auto-Type actions while maintaining confirmation for global Auto-Type operations. This enhancement allows users to streamline their workflow for routine Auto-Type usage from within KeePassXC while preserving security for potentially risky global Auto-Type invocations.
Key changes:
- Added new configuration option "Skip confirmation for main window Auto-Type actions"
- Modified Auto-Type confirmation logic to differentiate between main window and global Auto-Type actions
- Enhanced settings UI with proper hierarchical layout and enable/disable logic
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
src/gui/DatabaseWidget.cpp | Updated Auto-Type confirmation logic to check both parent and new settings |
src/gui/ApplicationSettingsWidgetGeneral.ui | Added new indented checkbox for the granular confirmation setting |
src/gui/ApplicationSettingsWidget.h | Added slot declaration for handling parent setting toggle |
src/gui/ApplicationSettingsWidget.cpp | Implemented loading, saving, and UI state management for new setting |
src/core/Config.h | Added new configuration key for the Auto-Type skip confirmation setting |
src/core/Config.cpp | Added configuration directive with default value of false |
share/translations/keepassxc_en.ts | Added translation entry for the new setting label |
60bb1ed
to
53fc8cf
Compare
This new setting gives users more control and safety: * When Auto-Type is invoked globally (e.g., via a system-wide hotkey), the confirmation popup will always appear, letting the user confirm which credentials will be auto-typed. * When Auto-Type is invoked from within KeePassXC's main window, the confirmation step can be skipped, since the user already can visually confirm which entry is being auto-typed. This balances usability and security, reducing friction for intended actions while providing an extra safeguard for potentially ambiguous global Auto-Type triggers. --------- Co-authored-by: Jonathan White <[email protected]>
This new setting gives users more control and safety: * When Auto-Type is invoked globally (e.g., via a system-wide hotkey), the confirmation popup will always appear, letting the user confirm which credentials will be auto-typed. * When Auto-Type is invoked from within KeePassXC's main window, the confirmation step can be skipped, since the user already can visually confirm which entry is being auto-typed. This balances usability and security, reducing friction for intended actions while providing an extra safeguard for potentially ambiguous global Auto-Type triggers. --------- Co-authored-by: Jonathan White <[email protected]>
Description
This pull request adds a new setting to KeePassXC that allows for more granular control over the Auto-Type confirmation popup. Specifically, it introduces an option to always prompt for confirmation before performing global Auto-Type actions, while allowing users to skip the confirmation when invoking Auto-Type from within the main KeePassXC window.
Problem
Currently, the "Always ask before performing Auto-Type" setting affects all Auto-Type invocations uniformly:
This may leave users wanting more granular control to streamline their workflow for routine Auto-Type usage while maintaining security for global Auto-Type.
Rationale
Why introduce this feature?
With global Auto-Type, there is a potential risk of accidentally auto-typing the wrong credentials if the currently focused window title matches a single entry in KeePassXC, when the "Always ask before performing Auto-Type" setting is disabled. This could lead to sensitive information being sent to the wrong application or website.
This new setting gives users more control and safety:
This balances usability and security, reducing friction for intended actions while providing an extra safeguard for potentially ambiguous global Auto-Type triggers.
AI Disclosure
This pull request was created with assistance from Copilot AI (Claude Sonnet 4 language model) for code generation and implementation guidance.
Solution
Added a new checkbox setting: "Skip confirmation for main window Auto-Type actions"
Behavior Matrix
Key Features
Screenshots
Implementation Details
Technical Changes
Configuration Storage (
src/core/Config.h
,src/core/Config.cpp
):Security_AutoTypeSkipMainWindowConfirmation
configuration keyfalse
to maintain existing behaviorSettings UI (
src/gui/ApplicationSettingsWidgetGeneral.ui
):Settings Logic (
src/gui/ApplicationSettingsWidget.cpp
,src/gui/ApplicationSettingsWidget.h
):Auto-Type Confirmation Logic (
src/gui/DatabaseWidget.cpp
):Auto-Type Invocation Paths
Main Window Actions →
DatabaseWidget::performAutoType()
→ Uses new granular confirmation logic:Global Auto-Type →
AutoType::performGlobalAutoType()
→ Unchanged behavior (always shows selection popup)Testing strategy
Type of change