-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New entries can be discarded if user only presses Apply #2191
Comments
oh wow good catch, this is a big deal. |
After debugging this it looks like it cannot be fixed without a major refactor. Basically the changes are not notified up the chain to the database because the new entry is not added to the current group until AFTER the EditEntryWidget is closed by the DatabaseWidget. Further, the actual group the entry should belong to is not given to the EditEntryWidget so it can do that job instead (hence the refactor). I think disabling the apply button in 2.3.4 for new entries is an acceptable option and does not require a refactor. Any thoughts? |
We had many issue with it, what about removing it entirely? Anyway I agree we should disable it in the meantime |
I am going to use this issue to springboard into a refactor of the open/edit/save process for entries and groups in 2.4. The whole chain is very fragile and based on timed/hidden signal/slot calls. Even trying to debug this issue itself took over 2 hours of finding the right place to put the breakpoint because nothing at all is linear about this process, it's also spread across 5 different source files. |
Even when it's obvious, I'll just add that lock on lid close / suspend can also trigger this or just manually locking a database while the dialog is open (like Ctrl-L). Guess who just lost a newly created password when my system automatically suspended on low battery 😉 |
* Don't show apply button when creating new entries or groups (Fix #2191) * Don't mark entry/group as dirty when first creating a new one (prevents unnecessary discard dialog on cancel) * Properly enable/disable apply button when changes are made to entries and groups * Don't show discard change warning when locking database unless their are actual changes made NOTE: Extra pages in the group edit widget are not watched for changes yet. Requires a major refactor.
* Don't show apply button when creating new entries or groups (Fix #2191) * Don't mark entry/group as dirty when first creating a new one (prevents unnecessary discard dialog on cancel) * Properly enable/disable apply button when changes are made to entries and groups * Don't show discard change warning when locking database unless their are actual changes made NOTE: Extra pages in the group edit widget are not watched for changes yet. Requires a major refactor.
* Don't show apply button when creating new entries or groups (Fix #2191) * Don't mark entry/group as dirty when first creating a new one (prevents unnecessary discard dialog on cancel) * Properly enable/disable apply button when changes are made to entries and groups * Don't show discard change warning when locking database unless their are actual changes made NOTE: Extra pages in the group edit widget are not watched for changes yet. Requires a major refactor.
* Don't show apply button when creating new entries or groups (Fix #2191) * Don't mark entry/group as dirty when first creating a new one (prevents unnecessary discard dialog on cancel) * Properly enable/disable apply button when changes are made to entries and groups * Don't show discard change warning when locking database unless their are actual changes made NOTE: Extra pages in the group edit widget are not watched for changes yet. Requires a major refactor.
(using KeepassXC 2.3.3)
Clicking
Apply
(but notOk
) on a new entry can lead to data loss in some circumstances. For example, if a user is creating a new entry and only pressesApply
, they can exit keepass without a modal asking them to save. When the user relaunches keepass, the entry will be gone.Similarly, if a user creates a new entry and only
Apply
s it, the inactivity lock can come up without a warning modal and cause the entry to be lost.Expected Behavior
The modals for preventing loss of unsaved data should come up when an entry has only been
Apply
d.Current Behavior
A new entry which has been
Apply
d will not prompt the warning modals when exiting keepass or when the database is locked.Steps to Reproduce (for bugs)
Apply
(but notOk
)OR
Apply
(but notOk
)Context
I've lost irrecoverable credentials due to an inactivity lock screen. Clicking
Apply
displays a nice green alert saying "Entry successfully updated", which gave me a false sense of security about my data.Debug Info
The text was updated successfully, but these errors were encountered: