https://bugs.winehq.org/show_bug.cgi?id=55709
Bug ID: 55709 Summary: Flutter apps that use the local_auth package need Windows.Security.Credentials.UI.UserConsentVerifier Product: Wine Version: 8.17 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: alexhenrie24@gmail.com Distribution: ---
Created attachment 75217 --> https://bugs.winehq.org/attachment.cgi?id=75217 Flutter local_auth initialization demo
I have a proprietary Flutter app, that I can't share, that uses the local_auth package: https://pub.dev/packages/local_auth
Before crashing, messages like the following are printed:
0114:fixme:combase:RoGetActivationFactory (L"Windows.Security.Credentials.UI.UserConsentVerifier", {af4f3f91-564c-4ddc-b8b5-973447627c65}, 000000000011E890): semi-stub 0114:err:combase:RoGetActivationFactory Failed to find library for L"Windows.Security.Credentials.UI.UserConsentVerifier" 0114:fixme:combase:RoOriginateLanguageException 0x80040154, L"", 0000000000000000: stub wine: Call from 0000000174013C07 to unimplemented function combase.dll.RoFailFastWithErrorContext, aborting
I'm attaching a small demo app I made that crashes in the same way.
https://bugs.winehq.org/show_bug.cgi?id=55709
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #1 from Fabian Maurer dark.shadow4@web.de --- Would it be enough to just return a "no biometric devices" found error when trying to use biometric sensors?
That should be pretty easy to implement.
https://bugs.winehq.org/show_bug.cgi?id=55709
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
https://bugs.winehq.org/show_bug.cgi?id=55709
--- Comment #2 from Alex Henrie alexhenrie24@gmail.com --- Yes, it's enough to just tell the app that the computer does not have a fingerprint reader.
https://bugs.winehq.org/show_bug.cgi?id=55709
Mohamad Al-Jaf mowinebugs@mail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mowinebugs@mail.com
--- Comment #3 from Mohamad Al-Jaf mowinebugs@mail.com --- (In reply to Fabian Maurer from comment #1)
Would it be enough to just return a "no biometric devices" found error when trying to use biometric sensors?
That should be pretty easy to implement.
Are you planning on implementing this? I've already started, but if you want to work on it let me know. Also, the return value should be the default for a fresh Windows installation, probably NotConfiguredForUser, though it's best to see what the tests say.
https://bugs.winehq.org/show_bug.cgi?id=55709
--- Comment #4 from Alex Henrie alexhenrie24@gmail.com --- I've also started work on it, but I haven't gotten very far: https://gitlab.winehq.org/alexhenrie/wine/-/commits/windows.security.credent...
Mohamad, I think you are the best person to work on this bug because you seem to be the expert on adding WinRT classes to Wine. Do you think you will have time to finish it in the near future? I am happy to help in any way I can and I'm sure Fabian would be happy to help too.
https://bugs.winehq.org/show_bug.cgi?id=55709
--- Comment #5 from Mohamad Al-Jaf mowinebugs@mail.com --- Heh, thank you for the kind words, Alex. I don't consider myself an expert in WinRT classes, I think that would be RĂ©mi. Yeah, I think I can finish it soon, but I'll wait for Fabian to respond.
https://bugs.winehq.org/show_bug.cgi?id=55709
--- Comment #6 from Fabian Maurer dark.shadow4@web.de --- Feel free to work on it, I just would have offered to do it if noone else will. You know how it sometimes is with bug reports :)
https://bugs.winehq.org/show_bug.cgi?id=55709
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=55740 URL| |https://bugs.winehq.org/att | |achment.cgi?id=75217
https://bugs.winehq.org/show_bug.cgi?id=55709
--- Comment #7 from Mohamad Al-Jaf mowinebugs@mail.com --- (In reply to Fabian Maurer from comment #6)
Feel free to work on it, I just would have offered to do it if noone else will. You know how it sometimes is with bug reports :)
Yeah, I know, I just don't want any of us to waste their time if the other is already working on it. :)
https://bugs.winehq.org/show_bug.cgi?id=55709
--- Comment #8 from Mohamad Al-Jaf mowinebugs@mail.com --- Created attachment 75243 --> https://bugs.winehq.org/attachment.cgi?id=75243 windows.security.credentials.ui.userconsentverifier: Implement IUserConsentVerifierStatics::CheckAvailabilityAsync().
I've finished implementing this class. For some reason, there's a race condition happening and it only works consistently when WINEDEBUG=+credentials is added. I'm not sure why this is happening.
I've attached a patch that you can test yourself. Maybe it's just happening on my PC. I used a fresh prefix though.
MR: https://gitlab.winehq.org/wine/wine/-/merge_requests/4042
https://bugs.winehq.org/show_bug.cgi?id=55709
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |infyquest@gmail.com Resolution|--- |FIXED Fixed by SHA1| |a8f6183030d22bee01ac2bc6c8e | |9292837d8ea55 Status|NEW |RESOLVED
--- Comment #9 from Vijay Kamuju infyquest@gmail.com --- Fixed by commit a8f6183030d22bee01ac2bc6c8e9292837d8ea55
https://bugs.winehq.org/show_bug.cgi?id=55709
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.21.