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.
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>