Commit graph

3522 commits

Author SHA1 Message Date
Jonathan White
8c7cc90363 Fix TOTP visibility on unlock and setting change
Also fix invalid key message being visible when adding new TOTP secret to an entry.
2025-06-22 11:12:20 -04:00
Samuel Rac
217ee01572 Fix Proton Pass importer not importing email when there is no username 2025-06-22 11:00:25 -04:00
shotor
7a5cd6105c Maintain selected sort option when toggling filters 2025-06-22 10:58:17 -04:00
Jonathan White
64078933ab Fix icon download dialog not appearing above windows
* Fixes #12070
2025-06-19 16:22:17 -04:00
Jonathan White
e2cf37a91f Replace newlines with HTML line breaks in message dialogs
* Keeps readability of translation strings without losing line breaks due to forced rich text display
2025-06-19 16:22:17 -04:00
Jonathan White
f62ea95499 Don't add space to invalid TOTP strings
* Fixes #11357
* Introduces validity parameter to TOTP generator function for future use elsewhere in the code base
* Fixes this in preview panel and TOTP dialog
* Disable actions to copy/show TOTP if the settings are invalid
* Show an error message on the TOTP setup dialog if the settings are invalid
* Show a TOTP icon with an x if the settings are invalid
2025-06-19 16:22:17 -04:00
Jonathan White
b5f4e98925 Fix handling of small passphrase wordlists
* Fixes #11856
* Set the minimum recommended wordlist size to 1,296 - equal to the EFF Short List
* Issue a clear warning when using a smaller wordlist but do not prevent generation of passphrases
* Improve wording when removing custom wordlist
2025-06-19 16:22:17 -04:00
Jonathan White
20aefd0c7a Show main page when editing entry or database settings
* Fixes #11891
2025-06-19 16:22:17 -04:00
Jonathan White
9baf77cbc4 Disable save button when viewing non-database screens
* Fixes #11662 - disable the save button when viewing Password Generator and Application Settings to restore previous behavior of toolbar
2025-06-19 16:22:17 -04:00
Jonathan White
5dfcc72f98 Fix minor issues with tags context menu
* Fixes #11808
* Don't show tear off menu or option to tear off if there are no tags
* Fix "No Tags" not being shown on first hover
* Fix issues when using a tag named "No Tags"
* Fix #12153 - tags becoming unsorted in the context menu when switching between database tabs
2025-06-19 16:22:17 -04:00
Kuznetsov Oleg
f2a4cc7e66
Refactor attachment handling system with enhanced UI (#12085)
* Renamed NewEntryAttachmentsDialog to EditEntryAttachmentsDialog for clarity.
* Introduced EditEntryAttachmentsDialog class to manage editing of existing attachments.
* Added functionality to preview attachments while editing them.
* Enhanced EntryAttachmentsModel with rowByKey method for better key management.
* Add image attachment support with zoom functionality.
* Add html and markdown detection.
* Improve button layout on the attachment section when editing an entry
2025-06-19 13:27:23 -04:00
Copilot
2c3a1a03cb
Add predefined search for TOTP entries (#12199)
Fixes #9362
This commit was authored by GitHub copilot agent and reviewed by @droidmonkey.

---------

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>
2025-06-19 09:24:01 -04:00
varjolintu
3c7c3b0a5f Fix loose URL comparison 2025-06-15 09:27:12 -04:00
varjolintu
5cb6ad6335 Passkeys: Fix ordering of clientDataJSON 2025-05-27 07:09:19 -04:00
Jonathan White
f32ed71dfc
Add safeguards to secure input on macOS (#11928)
* Add safeguards to secure input on macOS

* Fixes #11906
* Disable secure input when password widget is hidden as well as focused out
* Add safeguard to ensure the internal counter that macOS keeps is always set to 1 preventing the ability to disable secure input by focus/unfocus a password field
2025-05-23 09:25:25 -04:00
varjolintu
8a32b3bc5e Explicitly allow access to newly created browser group 2025-05-22 16:55:07 -04:00
8-Bit-Brain-Guy
f53c7e5af5
Reduce tab indentation width in notes fields (#11919)
---------

Co-authored-by: 8-Bit-Brain-Guy <>
Co-authored-by: Tim Baumgarten <tbaumgarten@dspace.de>
2025-04-19 19:44:34 -04:00
varjolintu
a6e92c96d5 Fix settings native messaging path with Tor Browser launcher in Linux 2025-04-12 06:42:03 -04:00
Jan Schwietzer
af2479da8d Implement database closing question on escape 2025-03-30 17:48:47 -04:00
Jonathan White
b50fad47ac Fix saving database backup file
* Fixes #11831
* Also fixes weird issues like saving backup of a backup due to function reuse
2025-03-30 16:42:29 -04:00
Jonathan White
ed0429ad4e Write to buffer before writing directly to database file
* Fixes #11819

When direct write save option is enabled and a hardware key is used with a press required, it is possible that the database file will be truncated to 0 bytes. This is avoided by writing the database to a memory buffer first allowing for key transform to occur, then dumping the buffer into the database file.

This change also improves the overall safety of the direct write save option as there is far less chance for an error to occur while writing to the database file.

Thanks to @ChrisLnrn for reporting this issue!
2025-03-30 16:42:17 -04:00
Jonathan White
37ddbb3cd2 Remove Config::createTempFileInstance 2025-03-30 08:14:12 -04:00
Jonathan White
fcb32efd05 Improve handling of remote sync saving
* Fixes sporadic failures on gui tests on Windows
* Corrects inability to write to temporary config file while running tests
* Corrects errors when using MockRemoteProcess due to missing functions
2025-03-30 08:14:12 -04:00
Jonathan White
33a3796074 Add ability to parse tags from CSV files
* Closes #7956
2025-03-01 17:14:13 -05:00
Jonathan White
1b1643b5d1 Fix various quirks with CSV import widget and parser
* Fixes #11502 - correct improper handling of text qualifiers

* Improve layout of csv import widget
* Hide error messages when trying to import again
2025-03-01 17:14:13 -05:00
w15dev
af2d0b1429 Enhance image attachment handling by caching loaded images and improving scaling logic 2025-02-23 17:20:34 -05:00
Adrian Martin
ab6b6f36a0
Feature: HTML export from CLI tool (#11590)
This commit introduces support for exporting a KeePassXC database in
HTML format via the CLI tool. The key changes include:
- Refactoring HtmlExporter:
  - Moved HtmlExporter to the format directory and made its API
    compatible with CsvExporter.
  - Since the original HtmlExporter had a direct dependency on the
    gui/Icons functions and indirect dependencies on the
    gui/DatabaseIcons class, only the non-GUI parts were moved to
    format/HtmlExporter.
  - All icon-related functionality was encapsulated in a new child
    class, gui/HtmlGuiExporter.
    - The gui/HtmlGuiExporter retains the original functionality of the
      HtmlExporter class.
    - The format/HtmlExporter now generates HTML export without icons.
      Adding icon support to format/HtmlExporter would require moving
      icon management logic to the core, which could have broader
      implications.
- CLI integration:
  - Updated cli/Export to use format/HtmlExporter.
- GUI Integration:
  - Updated gui/export/ExportDialog to use gui/HtmlGuiExporter.
- Build System Updates:
  - Updated CMakeLists.txt to build HtmlExporter as part of core_SOURCES
    and HtmlGuiExporter as part of gui_SOURCES.
- Testing:
  - Updated TestCli to automatically verify the output of the HTML
    export.

Signed-off-by: AdriandMartin <adriandmartin@protonmail.com>
2025-02-23 08:43:06 -05:00
xboxones1
5a3289ee3c
Dynamically change the status bar color depending on the current screen (#11672)
* Revert (https://github.com/keepassxreboot/keepassxc/pull/11455)
* Do not use styles for QStatusBar
* Dynamically change the status bar color depending on the current screen
2025-02-23 07:32:51 -05:00
Jonathan White
e4bb80b96c
Support tearing off tags menu (#11652)
* Support tearing off tags menu
* Closes #11649 - tags menu can be torn off to set and unset tags without having to dive into the context menu every time.
* Tags menu will hide when database is locked or view is switched away from the main database view (eg, settings)
2025-02-22 20:44:12 -05:00
Jonathan White
d6e726a9cf Improve browser notice about snap/flatpak support 2025-02-22 16:42:08 -05:00
Jonathan White
518dd71de6 Update fuzz testing instructions
* Also fix env var name
2025-02-22 16:42:08 -05:00
Jonathan White
41b6247178 Always reset Auto-Type state on finished signal
There were a couple code paths that did not reset the state appropriately and could cause undefined behavior in the auto-type processing.
2025-02-22 06:39:02 -05:00
Jonathan White
2ea656bc27 Show Auto-Type select dialog even if window title is empty
* Fixes #11597
2025-02-22 06:39:02 -05:00
Jonathan White
253bb42ac0 Prevent AltGr showing the menubar on Windows
* Fixes #11549
2025-02-22 06:36:53 -05:00
varjolintu
0b5ae1775c Prevent using URL wildcards in TLD 2025-02-12 16:05:01 -05:00
Sami Vänttinen
9ba6ada266
Add support for URL wildcards and exact URL (#9835)
* Add support for URL wildcards with Additional URL feature

* Only check TLD if wildcard is used

* Avoid using network function in no-feature build

---------

Co-authored-by: varjolintu <sami.vanttinen@ahmala.org>
Co-authored-by: Jonathan White <support@dmapps.us>
2025-02-09 20:03:15 -05:00
Jonathan White
51e8c042af
Show database public icon on tab when visible (#11725)
* Show database public icon on tab when visible

* Remove unnecessary assert
2025-02-09 20:02:44 -05:00
outfoxxed
c9a64be699 Add --minimized CLI option 2025-02-09 14:37:53 -05:00
Alexandre Petit
15ac8ac4f8
Implement function to clear all ssh-agent identities (#10649)
Fixes #8346

---------

Co-authored-by: Jonathan White <support@dmapps.us>
2025-02-01 12:01:22 -05:00
Marco Langer
8ca90a070a
Fix sorting of advanced attribute list (#10091)
Sort advanced attribute list using locale aware sort.

Fixes #6175
2025-02-01 11:59:53 -05:00
vuurvli3g
811887e591
Fix issues with reloading and handling of externally modified db file (#10612)
Fixes #5290 
Fixes #9062
Fixes #8545 

* Fix data loss on failed reload

- External modifications to the db file can no longer be missed.
- Fixed dialogFinished signal of DatabaseOpenDialog was not emitted when dialog was closed via the 'X' (close) button
- For reloading with a modified db, an additional choice has been added to allow the user to ignore the changes in the file on disk.
- User is now presented with an unlock database dialog if reload fails to open the db automatically. For example when the user removed the YubiKey, failed to touch the YubiKey within the timeout period, or db pw has been changed.
- Mark db as modified when db file is gone or invalid.
- Prevent saving when db is being reloaded
- If merge is triggered by a save action, continue on with the save action after the user makes their choice

---------

Co-authored-by: vuurvlieg <vuurvli3g@protonmail.com>
Co-authored-by: Jonathan White <support@dmapps.us>
2025-02-01 11:58:45 -05:00
w15dev
81fa8d5947 Refactor YubiKey key to avoid deadlock
- Add mutex to get m_connectedKeys
- Fix deadlock when the app uses Quick Unlock and the YubiKey is unplugged
2025-02-01 08:01:31 -05:00
Kuznetsov Oleg
5ee5e4998a
Improve attachment handling when changes are discarded
This change avoids a situation where the open file has changed or an entry in the application has changed (possibly to be implemented in the future) and when you open that entry the editor shows you outdated data.

* Fixes bug from previous attachments preview commit
* Fix logic error when creating new attachment
2025-02-01 07:59:02 -05:00
Jonathan White
046cb9bd70 Allow adjusting application font size
* Closes #6822
* Fix fixed font not following default font's point size
2025-01-26 07:16:55 -05:00
Jonathan White
831704f3b2 Trim file path settings fields prior to save
* Fixes #11630
2025-01-26 07:04:57 -05:00
Felix Nüsse
4d7eae34c2 make tag-suggestions case insensitive 2025-01-19 18:00:25 -05:00
xavives
f5bb5985ee
Add Group Path column choice in entry view
* Closes #9574
2025-01-12 18:08:06 -05:00
Martin van Zijl
6494cdbb4c Remember sort order in Autotype popup dialog
Fixes #1684.
2025-01-12 18:07:26 -05:00
sewe2000
9de623120b Fix displaying html characters in message boxes 2025-01-12 17:28:51 -05:00
Matteson
29ac4da240
Add ability to expire entries from context menus (#8731)
Closes #1972

Add ability to immediately expire an entry from the context menu

---------
Co-authored-by: Jonathan White <support@dmapps.us>
2025-01-12 07:55:22 -05:00