This fixes a compiler error I got,
when trying to build with Botan 3.10.
A static_cast to RSA_PrivateKey was not possible,
as the base class is virtual.
Fix by using a dynamic_cast instead.
Signed-off-by: Markus Theil <theil.markus@gmail.com>
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>
* Added "Type {URL}" option to the auto-type selection popup right-click context menu
* Added "Copy {URL}" option to the auto-type selection popup right-click context menu
* Added keyboard shortcuts: CTRL+4 for "Type {URL}" and CTRL+SHIFT+4 for "Copy {URL}"
* Updated "Use Virtual Keyboard" shortcut from CTRL+4 to CTRL+5 to avoid inconsistency with order of shortcuts
* Added URL auto-type options "{URL}" and "{URL}{ENTER}" to main window entry view right-click menu
* Added URL auto-type options "{URL}" and "{URL}{ENTER}" to toolbar auto-type button dropdown menu
* Added translation strings for "Type {URL}" and "Copy {URL}" to support internationalization
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: juzu-o <3142026+juzu-o@users.noreply.github.com>
Co-authored-by: Jonathan White <support@dmapps.us>
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 <support@dmapps.us>