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

TouchID support refactoring #8311

Conversation

yowidin
Copy link
Contributor

@yowidin yowidin commented Jul 27, 2022

TouchID and Apple Watch support is now detected both at compile time and runtime.

We need both runtime and compile time checks to solve the following problems:

  • Not all flags are available in all OS versions, so we have to check it at compile time
  • Requesting Biometry/TouchID when to fingerprint sensor is available will result in runtime error. Same probably goes for Apple Watch.

Should fix #7695:

Testing strategy

  • Manual tests on an iMac (12.3) with an Apple Watch.
  • Manual tests on a MacBook (12.3) with both TouchID and Apple Watch with either open or closed lid and using either the watch or the fingerprint sensor.

Type of change

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

Should fix keepassxreboot#7695: TouchID and Apple Watch support is now detected both at compile time and runtime
@codecov-commenter
Copy link

codecov-commenter commented Jul 27, 2022

Codecov Report

Merging #8311 (e552c11) into develop (dab6d94) will increase coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #8311      +/-   ##
===========================================
+ Coverage    64.45%   64.48%   +0.03%     
===========================================
  Files          339      339              
  Lines        43709    43709              
===========================================
+ Hits         28172    28184      +12     
+ Misses       15537    15525      -12     
Impacted Files Coverage Δ
src/core/FileWatcher.cpp 86.75% <0.00%> (+1.20%) ⬆️
src/fdosecrets/dbus/DBusMgr.cpp 53.67% <0.00%> (+1.47%) ⬆️
...rc/fdosecrets/widgets/SettingsWidgetFdoSecrets.cpp 59.09% <0.00%> (+3.03%) ⬆️

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Each authentication method can become unavailable during runtime:
user can close the laptop lid or take off the watch.

This also means that we probably have to add some sort of timer to the
DatabaseOpenWidget to check the unlock method periodically in case
if quick unlock is enabled and a previously unavailable authentication
method becomes available again.
src/touchid/TouchID.h Outdated Show resolved Hide resolved
- Password data removal
- TODOs and descriptions for some functions
@yowidin yowidin force-pushed the fix/7695-quick-unlock-with-apple-watch branch from 73a63d4 to e552c11 Compare August 6, 2022 10:20
@droidmonkey droidmonkey added platform: macOS feature: QuickUnlock pr: backport pending Pull request yet to be backported to a previous release labels Aug 13, 2022
@droidmonkey droidmonkey added this to the v2.7.2 milestone Aug 13, 2022
@droidmonkey droidmonkey merged commit bd809ba into keepassxreboot:develop Sep 5, 2022
pull bot pushed a commit to annihilatorrrr/keepassxc that referenced this pull request Sep 5, 2022
Fixes keepassxreboot#7695 - Properly set compile flags based on availability of watch unlock in the API.
pull bot pushed a commit to tigerwill90/keepassxc that referenced this pull request Sep 5, 2022
Fixes keepassxreboot#7695 - Properly set compile flags based on availability of watch unlock in the API.
@droidmonkey droidmonkey added pr: backported Pull request backported to previous release and removed pr: backport pending Pull request yet to be backported to a previous release labels Sep 11, 2022
droidmonkey pushed a commit that referenced this pull request Sep 11, 2022
Fixes #7695 - Properly set compile flags based on availability of watch unlock in the API.
droidmonkey pushed a commit that referenced this pull request Sep 22, 2022
Fixes #7695 - Properly set compile flags based on availability of watch unlock in the API.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature: QuickUnlock platform: macOS pr: backported Pull request backported to previous release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Quick unlock with apple watch not working
4 participants