-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Hang Risk warning on configure call #13081
Comments
I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight. |
FirebaseDynamicLinks is deprecated and support will end in 2025. We may not be able to address this and recommend that you transition the app away from Dynamic Links. |
Hey Paul, We use Dynamic Links purely for Firebase Authentication. The docs say "we will provide an update that will require a client- side update to ensure that email link auth continues working after the Firebase Dynamic Links service is shut down" but as far as I can see, this change has not been made yet. |
@tristan-warner-smith It's true that the Firebase Auth Dynamic Links replacement is not yet available. However, Firebase Authentication only requires the Firebase Dynamics Links back end to be set up on the console. It does not need the SDK to be built into the app. |
Firebase Auth isn't our only auth provider and we need to know for a given deeplink, whether it's been handled by Firebase Auth. func handle(url: URL, completion: ((URL?) -> Void)?) -> Bool {
DynamicLinks.dynamicLinks().handleUniversalLink(url) { dynamicLink, _ in
completion?(dynamicLink?.url)
}
} |
Do you need the link processing that
|
We do, this code could definitely use a refactor but this is internally wrapped in: func parseFirebase(url: URL) async -> Deeplink? {
await withCheckedContinuation { continuation in
_ = dynamicLinks.handle(url: url, completion: { _ in
if let parsedDeeplink = Self.parseInternalNavigationDeeplink(from: url.relativePath) {
continuation.resume(returning: parsedDeeplink)
} else {
continuation.resume(returning: nil)
}
})
}
} |
Description
We have a SwiftUI app and we're occasionally seeing these
Hang Risk
warnings.We initialise Firebase in our app Initialiser.
The warning is:
Thread running at User-interactive quality-of-service class waiting on a lower QoS thread running at Default quality-of-service class. Investigate ways to avoid priority inversions
Here's the stack trace.
Reproducing the issue
Create a SwiftUI app as above, configuring Firebase.
Run the app in Xcode with the debugger attached.
Sporadically, witness behaviour as described.
Firebase SDK Version
10.25
Xcode Version
15.4
Installation Method
Swift Package Manager
Firebase Product(s)
AB Testing, Analytics, Authentication, Crashlytics, DynamicLinks, Firestore, Functions, In-App Messaging, Performance, Remote Config, Storage
Targeted Platforms
iOS
Relevant Log Output
No response
If using Swift Package Manager, the project's Package.resolved
Expand
Package.resolved
snippetReplace this line with the contents of your Package.resolved.
If using CocoaPods, the project's Podfile.lock
Expand
Podfile.lock
snippetReplace this line with the contents of your Podfile.lock!
The text was updated successfully, but these errors were encountered: