Commit graph

4929 commits

Author SHA1 Message Date
Agoston Szepessy
be137a2cac Use ReportsWidgetBase for HIBP report widget 2025-12-29 21:12:28 -08:00
Agoston Szepessy
bcac630a9f Use ReportsWidgetBase for browser statistics 2025-12-29 21:11:58 -08:00
Agoston Szepessy
d7cb5b1374 Factor out QSortProxyFilterModel implementations
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.
2025-12-29 21:10:59 -08:00
Agoston Szepessy
1825bcad1d Start refactoring report widgets 2025-12-29 21:06:38 -08:00
Agoston Szepessy
643ad2c792 Remove grid layout and add exclude checkbox 2025-12-29 16:29:18 -08:00
Agoston Szepessy
6042ee15d7 Revert "Move grid into vertical layout and add checkbox"
This reverts commit e23aee1f67.
2025-12-29 15:53:58 -08:00
Agoston Szepessy
06f6b31d63 Missed Copilot feedback 2025-12-28 22:43:21 -08:00
Agoston Szepessy
44daeee9c0 Test including all entries from excluded group 2025-12-28 22:38:56 -08:00
Agoston Szepessy
2a02e029d2 Copilot PR feedback 2025-12-28 22:30:32 -08:00
Agoston Szepessy
a27d827090 Remove redundant test and cleanup 2025-12-28 21:47:08 -08:00
Agoston Szepessy
8df50d1eb6 Add test for reincluding excluded group entries
Entries in the group get marked as excluded. Entry that was selected is
marked for inclusion.
2025-12-28 16:54:02 -08:00
Agoston Szepessy
3b3bb9a949 Add test for healthcheck exclusion
Adds 2 groups, excludes one and makes sure it doesn't show up in the
health check.
2025-12-25 23:07:42 -08:00
Agoston Szepessy
49e945d1c0 Add test for database reports
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.
2025-12-23 21:52:10 -08:00
Agoston Szepessy
4ffded3169 Annotate whether group or entry is excluded 2025-12-22 23:34:16 -08:00
Agoston Szepessy
09efef0a97 Add exclusion support for HIBP report 2025-12-22 23:31:24 -08:00
Agoston Szepessy
c1210d7707 Add exclusion support for browser statistics 2025-12-22 23:24:10 -08:00
Agoston Szepessy
67e81fe58d Start working on including entries from excluded groups 2025-12-22 23:23:45 -08:00
Agoston Szepessy
b1fa002bef Add tooltips and info for group exclusions 2025-12-22 20:51:21 -08:00
Agoston Szepessy
79ad4a6ae9 Exclude groups from database reports 2025-12-22 20:30:49 -08:00
Agoston Szepessy
316ea082b9 Use CustomData for storing excluded groups
This isn't part of the kdbx format so we can't write it there directly.
2025-12-22 20:30:07 -08:00
Agoston Szepessy
c75a6887d3 Connect signals and slots 2025-12-22 17:10:07 -08:00
Agoston Szepessy
e23aee1f67 Move grid into vertical layout and add checkbox
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.
2025-12-22 16:44:14 -08:00
Agoston Szepessy
3b55b51865 Add option to exclude Group from reports 2025-12-21 22:34:33 -08:00
Tobias Stoeckmann
331a2de136 Fix typos
Typos found with hunspell and during file investigation.
2025-12-06 14:08:35 -05:00
Janek Bevendorff
967dc5937f Fix Docker run cwd 2025-11-25 01:48:22 +01:00
Jonathan White
adba5095c3 Fix AppImage not finding Auto-Type library
* Fixes #12719 and Fixes #12721
* Also fixes missing <ul> in the appdata xml
2025-11-25 01:48:22 +01:00
Jonathan White
98bbad0a4c Fix setting entitlements on KeePassXC executable
* Fixes #12713
* Also fixes motorization to use the built packages instead of glob discovery
2025-11-25 01:08:47 +01:00
Janek Bevendorff
87c63ff9ee Update changelog 2025-11-24 11:52:18 +01:00
Jonathan White
cb24df7aae Add explicit encoding when reading text from files 2025-11-24 11:52:08 +01:00
Janek Bevendorff
0f3def03b6 Fix release-tool merge cmd and rename to "tag" 2025-11-24 11:52:08 +01:00
Jonathan White
97d4edd9b8 Take delays into account when Auto-Type TOTP values
* Fixes #12682
2025-11-23 16:13:26 -05:00
Jonathan White
72308a1706 Prevent launch on installer finish when run as SYSTEM
* 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!
2025-11-23 13:31:40 +01:00
copilot-swe-agent[bot]
a5c9ffbef7 Fix CSV import regression with root group names
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>
2025-11-23 13:09:23 +01:00
Janek Bevendorff
2900f919c8 Fix AppRun path issue, fixes #12612 2025-11-22 19:23:12 -05:00
dependabot[bot]
6c59b5db98 Bump golang.org/x/crypto in /utils/keepassxc-cr-recovery
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.35.0 to 0.45.0.
- [Commits](https://github.com/golang/crypto/compare/v0.35.0...v0.45.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.45.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-22 17:51:53 -05:00
Janek Bevendorff
1a4e9ca4e2 Correctly restore window geometry when minimised to tray on startup
Fixes #10537
Fixes #11982
2025-11-22 17:51:24 -05:00
Jonathan White
a2e7132ead Support building with clang on Windows 2025-11-22 17:51:02 -05:00
Janek Bevendorff
4e59c1c579 Integrate macOS code signing into CMake
Moves code signing from the release-tool to CMake and unifies the Windows-equivalent code.
2025-11-22 17:51:02 -05:00
Janek Bevendorff
c09ba0113b Set default idle lock timeout to 15 minutes.
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.
2025-11-22 23:27:39 +01:00
xboxones1
f39e0937b9
Fix markdown type for >= QT 5.15.18 (#12654) and advance vcpkg baseline
- 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
2025-11-22 21:26:40 +01:00
Janek Bevendorff
f484d7f5ed Change Security/LockDatabaseIdle default to true 2025-11-16 17:22:00 +01:00
Janek Bevendorff
10bd651355 Enable CodeQL for all PRs and production branches 2025-11-16 09:51:48 +01:00
Janek Bevendorff
b3dbc49161 Remove theme-based menubar icon toggle on macOS
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.
2025-11-15 20:14:15 +01:00
Janek Bevendorff
eefee1f092 Install macOS bundle icons on build
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.
2025-11-15 00:57:30 +01:00
Janek Bevendorff
5332075193 Update sponsors list and translators fetch script 2025-11-12 16:24:22 +01:00
Jonathan White
964bb59f71 Fix error in hardware key detection code on Windows 2025-11-09 16:11:38 -05:00
Jonathan White
5acfcc6a1f Prevent interface lockups during startup with multiple tabs
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.
2025-11-09 16:11:38 -05:00
Jonathan White
d87554e6d2
Implement Group sync for KeeShare (#11593)
---------

Co-authored-by: ever <ever@brokenmouse.studio>
Co-authored-by: Ben Kluwe <ben.kl@go4more.de>
2025-11-09 16:10:45 -05:00
Jonathan White
e542070902 Allow for escape syntax to enable literal placeholders
* Fixes #11890
2025-11-09 10:45:07 -05:00
Jonathan White
301c64d68c Don't clear clipboard if previously cleared
* Fixes #12591
2025-11-09 10:44:33 -05:00