* 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.
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.
- 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
A Entry that gets shared containing a reference Attribute would not write a history entry upon resolving said Attribute resulting in the import into the target database not beeing triggered despite the changes beeing written to the keeshare db.
* Allow read-only native message files
It's possible[^1] for a native message file to be both correct and read-only.
When current versions of `keepassxc` encounter this, it fails, because
it can't write to the file. In this situation it should only fail if
the read-only file's contents are different to those it's trying to
write.
[^1]: e.g. when using an immutable OS management system like NixOS or
home-manager.
---------
Co-authored-by: Jonathan White <support@dmapps.us>
* Adds donation, contact and up-to-date transifex URL
* Add features to appdata.xml for FlatHub
* Remove old releases to reduce file size
* Improve summary and description text
* Closes#12509
* Implement the {UUID} placeholder
* Implement nested placeholder de-referencing when resolving entry references to support a reference like {REF:U@I:{UUID}} which is equivalent to {USERNAME} placeholder.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: droidmonkey <2809491+droidmonkey@users.noreply.github.com>
Co-authored-by: Jonathan White <support@dmapps.us>
* Add Entry::calculateDifference()
This new function contains the logic that was previously in
EntryHistoryModel::calculateHistoryModifications().
It allows the re-use to display the differences in case of a merge.
* Introduce Database Merge Confirmation Dialog
Adds a dialog allowing a user to review the changes of a merge operation.
This dialog displays the changes and allows the user to abort the merge
without modifying the database.
Fixes#1152
* Added dry run option to Merger
* Changed behavior when actual merge differs from dry run to just output a warning to console
* Fixed KeeShare conflicting with merge operations in the middle of a merge
---------
Co-authored-by: Jonathan White <support@dmapps.us>
* Fix translation issues for "FIT" and "New Attachment" in attachment editor
* Fix markdown preview persistence and enable external links in attachment editor
* Update preview panel if manually moved from collapsed position
* Match edit view scroll position (by percentage) when changed. This ensures the preview remains in relative sync with the edited document, for example when a large amount of HTML reduces down to a short preview document.
* Fix default preview size to be half the width of the edit widget.
* Set tab stop to 10 and remove base ui file
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Jonathan White <support@dmapps.us>
* Fix background color error for invalid autotype shortcut
* Fix alignment in autotype settings
* Fix contrast for splitter handle
* Fix font size reset when changing theme
---------
Co-authored-by: Jonathan White <support@dmapps.us>
Creation and last modification time stamps are imported incorrectly
during CSV import:
* the imported created time is set to the CSV's last modified time
* the imported last modified time is set to the CSV's icon index
(which isn't a valid time usually and gets set to the current
date & time instead).
The reason is commit 33a3796074 ("Add ability to parse tags from CSV
files") which shifted indices but missed to update all relevant time
related code locations.
Update the missing indices for those two to fix the import.
* Closes#12378
Fixes: 33a3796074 ("Add ability to parse tags from CSV files")
Signed-off-by: André Draszik <andre.draszik@linaro.org>