fix app lock hanging on macOS and blocking the photo picker
- Lock only when the scene really backgrounds: transient inactive states (system photo picker, app switcher) no longer swap in the lock screen and break gallery selection on iOS. - Cache biometric availability once per session off the main thread instead of calling LAContext.canEvaluatePolicy in view bodies, which froze the macOS lock screen, and auto-prompt biometrics on iOS only. - Keep UI tests as an opt-in target and guard both fixes in verify.sh.
This commit is contained in:
1 parent
8b86e33186
commit
6ed5cb3ce9
9 files changed
+86
-78
No files matched your search
@@ -428,17 +428,19 @@ final class XMPPService {
|
||||
throw LumaXMPPError.omemoInitializationFailed
|
||||
}
|
||||
// Clean up an invalid self-session left behind by a previous buggy
|
||||
// build (one-time migration per account), then make sure a working
|
||||
// self-session exists: encrypt-to-self needs it and deleting it on
|
||||
// every connect made archived self-copies undecryptable.
|
||||
// build (one-time migration per account).
|
||||
omemoStorage.removeSessionWithOwnDeviceOnce()
|
||||
ensureSelfSession(client: client, omemoStorage: omemoStorage)
|
||||
|
||||
configureModules(client: client, signalContext: signalContext, omemoStorage: omemoStorage)
|
||||
configureConnection(client: client, account: account, password: password)
|
||||
activePassword = password
|
||||
subscribe(to: client, omemoStorage: omemoStorage)
|
||||
|
||||
// The self-session must be rebuilt after the modules exist: the
|
||||
// ensureSelfSession lookup goes through the modules manager and
|
||||
// crashes on a not-yet-registered OMEMO module.
|
||||
ensureSelfSession(client: client, omemoStorage: omemoStorage)
|
||||
|
||||
self.client = client
|
||||
self.omemoStorage = omemoStorage
|
||||
callEngine.attach(client: client)
|
||||
|
||||
Reference in new issue
Block a user