Skip to content
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

Cumulative updates to secret service integration #4009

Merged
merged 5 commits into from
Dec 27, 2019

Conversation

Aetf
Copy link
Contributor

@Aetf Aetf commented Dec 11, 2019

Type of change

  • ✅ Bug fix (non-breaking change which fixes an issue)
  • ✅ Refactor (significant modification to existing code)

Description and Context

This PR contains multiple fixes and refactor. I just think they're not worth separate PRs. But @droidmonkey, if you prefer, I can also do that.

  • UI improvements (mostly refactor)
    • Use proper models for database and session in the settings page
    • Fix button text (unlock/lock) not changed according to the database locking status
    • Fix button icons not present on icon themes other than Breeze
    • Fix the disconnect button may get clipped when a new session opens
  • Remove half created entries if the creation fails.
  • Cleanup all connections when the database is replaced due to locking, fix KeepassXC not providing Freedesktop.Secrets after lock/unlock of database. #4004
  • Fix when exposing groups, the root group is considered in recycle bin
  • Fix service not registered if starting with the plugin enabled

Update:

(Checking PID for existing services is saved for targeting 2.6.0 due to translation freeze).

Testing strategy

Test manually.

Checklist:

  • ✅ I have read the CONTRIBUTING document. [REQUIRED]
  • ✅ My code follows the code style of this project. [REQUIRED]
  • ✅ All new and existing tests passed. [REQUIRED]
  • ✅ I have compiled and verified my code with -DWITH_ASAN=ON. [REQUIRED]

@Aetf Aetf force-pushed the fdo-secrets-ui branch 2 times, most recently from d269f94 to cca0e1d Compare December 13, 2019 22:16
@droidmonkey droidmonkey added this to the v2.5.2 milestone Dec 15, 2019
@droidmonkey droidmonkey added feature: Secret Service pr: refactoring Pull request that refactors code ux labels Dec 15, 2019
@droidmonkey droidmonkey self-requested a review December 15, 2019 02:27
src/fdosecrets/FdoSecretsPlugin.cpp Outdated Show resolved Hide resolved
src/fdosecrets/FdoSecretsPlugin.cpp Outdated Show resolved Hide resolved
src/fdosecrets/objects/Collection.cpp Outdated Show resolved Hide resolved
src/fdosecrets/objects/Service.cpp Outdated Show resolved Hide resolved
src/fdosecrets/objects/Service.cpp Outdated Show resolved Hide resolved
@Aetf Aetf force-pushed the fdo-secrets-ui branch 2 times, most recently from 53ab99b to bb583d8 Compare December 16, 2019 22:44
@Aetf
Copy link
Contributor Author

Aetf commented Dec 16, 2019

  • Address comments
  • Remove the checking PID for existing services from this PR. I'll have a separate PR for that targeting develop.

@Aetf
Copy link
Contributor Author

Aetf commented Dec 17, 2019

Added two more small bug fixes.

@droidmonkey droidmonkey self-requested a review December 21, 2019 15:11
Aetf added 5 commits December 21, 2019 15:24
- Use proper model for database and session in settings page
- Fix button text (unlock/lock) not changed according to the database locking status
- Fix button icons not present on icon themes other than Breeze
- Fix the disconnect button may got clipped when new session opens
@Aetf
Copy link
Contributor Author

Aetf commented Dec 21, 2019

Rebased on latest release/2.5.2

databaseAdded(dbWidget, false);
}
// connect signals
connect(m_dbTabs, &DatabaseTabWidget::databaseOpened, this, [this](DatabaseWidget* db) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not like this because it is the exact opposite of how signal/slots should be used. The Settings Model should be created, then the signals connected from the parent. The settings model should have no knowledge of the db tab widget.

I keep it as-is for now, but this would be a good upgrade for 2.6.0 to break some hard dependencies.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll keep that in mind. In general, I'm also thinking about removing dependencies on db tab widget.

(Or even better, don't depend on any GUI classes at all. But that's quite difficult for now, given the db widget is the only one keeping the filename and lock state).

Copy link
Member

@droidmonkey droidmonkey Dec 28, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The filename is located in the Database class. You can determine if its locked by checking to see if it has a key associated with it. We should make a convenience function that returns that state...

@droidmonkey droidmonkey merged commit 90cdfc4 into keepassxreboot:release/2.5.2 Dec 27, 2019
@Aetf
Copy link
Contributor Author

Aetf commented Dec 28, 2019

Thanks for reviewing!

@Aetf
Copy link
Contributor Author

Aetf commented Dec 28, 2019 via email

@droidmonkey
Copy link
Member

Yes that is correct

droidmonkey added a commit that referenced this pull request Jan 4, 2020
Added

- Browser: Show UI warning when entering invalid URLs [#3912]
- Browser: Option to use an entry only for HTTP auth [#3927]

Changed

- Disable the user interface when merging or saving the database [#3991]
- Ability to hide protected attribute after reveal [#3877]
- Remove mention of "snaps" in Windows and macOS [#3879]
- CLI: Merge parameter for source database key file (--key-file-from) [#3961]
- Improve GUI tests reliability on Hi-DPI displays [#4075]
- Disable deprecation warnings to allow building with Qt 5.14+ [#4075]
- OPVault: Use 'otp' attribute for TOTP field imports [#4075]

Fixed

- Fix crashes when saving a database to cloud storage [#3991]
- Fix crash when pressing enter twice while opening database [#3885]
- Fix handling of HTML when displayed in the entry preview panel [#3910]
- Fix start minimized to tray on Linux [#3899]
- Fix Auto Open with key file only databases [#4075]
- Fix escape key closing the standalone password generator [#3892]
- macOS: Fix monospace font usage in password field and notes [#4075]
- macOS: Fix building on macOS 10.9 to 10.11 [#3946]
- Fix TOTP setup dialog not closing on database lock [#4075]
- Browser: Fix condition where additional URLs are ignored [#4033]
- Browser: Fix subdomain matching to return only relevant site entries [#3854]
- Secret Service: Fix multiple crashes and incompatibilities [#3871, #4009, #4074]
- Secret Service: Fix searching of entries [#4008, #4036]
- Secret Service: Fix behavior when exposed group is recycled [#3914]
- CLI: Release the database instance before exiting interactive mode [#3889]
- Fix (most) memory leaks in tests [#3922]
@Aetf Aetf deleted the fdo-secrets-ui branch January 6, 2020 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature: Secret Service pr: refactoring Pull request that refactors code ux
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants