Had to delay initialization of these classes in `ReportsWidgetBase`
because they caused crashes in the constructor initialization list. This
is because the base class hasn't been initialized enough yet.
Adds utility functions to create groups and entries for them.
Add test to make sure the right amount of entries show up in the
database report for password health.
Add signal when password health calculation is done so the test harness
can wait on it; otherwise the test finishes too soon and doesn't get the
right result from the application.
When I tried adding a checkbox, the label for it was too big and it
pushed everything to the right. Adding a vertical layout, moving the
grid into it, and putting the checkbox into the horizontal layout fixes
this issue.
* This condition will only happen when KeePassXC is installed by MECM or similar deployment tool. This prevents accidental launch on exit if the packager forgot to set LAUNCHAPPONEXIT=0 in the msiexec call. Allowing launch on exit in these conditions would potentially allow a non-privileged user to assume the role of SYSTEM through the KeePassXC application.
* Fixes weakness reported by HackAndPwn, thank you!
Fix the issue where CSV export/import creates nested root groups when the database has a custom root group name.
Added comprehensive tests to verify the fix works for both custom and default root group names, and preserves existing behavior for single-level groups.
Implement heuristic approach for CSV import root group detection:
- Analyzes all CSV rows before processing to find consistent first path components
- Only skips the first component if it appears in 80% or more of paths
- Handles absolute paths (starting with "/") by ignoring them in analysis
- Preserves existing behavior when no clear common root is found
Co-authored-by: droidmonkey <2809491+droidmonkey@users.noreply.github.com>
Addendum to #12689
The previous default of 240 seconds was too low. If we enable the lock
timeout by default, we should also set a more lenient default timeout by
default.
- Fix markdown type for >= QT 5.15.18 (#12654)
- Fix deprecation warnings about implicit capturing of "this"
- Advance vcpkg baseline to fix macOS Qt building
Fixes Qt build errors on macOS 26 Tahoe.
See https://github.com/microsoft/vcpkg/pull/48298
The menubar theme detection on macOS has always been wonky, and with Liquid Glass it has become entirely useless. This removes the icon theme switch and uses the monochrome light icon as a mask until we find a better solution. This should look okay in most cases, unless the user has a very bright wallpaper.
Installs bundle icons to the Resources folder during the build stage and not during the install stage. This ensures that the app has an icon when run directly from the .app folder inside the IDE. Previously, the icon would be installed only when running make install or cpack.
Fixes#11998
Avoids UI lockups by removing several unnecessary mutex blocks and avoiding redundant key detection calls.
Detect Yubikeys dynamically when challenging:
Prevents issue where correct key cannot be found if the internal state was reset prior to saving
This can occur if a user has multiple tabs open and multiple keys connected. Then switches to a locked tab without their DB key inserted which resets detection state.
Side Benefit - ensures proper cascade between USB and PC/SC interfaces so users can switch between the two modes seamlessly.