-
Notifications
You must be signed in to change notification settings - Fork 4.1k
[firebase_dynamic_links] make sure the initial link resolves #2580
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
Conversation
@hffmnn thanks for that fix. I tested and seems to work. I tested with a custom deep link and also As this is a recurring issue open now for a year can someone with the authority press the merge button? Thanks. |
@degloff Good to hear that it works for you.
Would need quite some conflict resolution and some retesting because |
@hffmnn actually I don't think it is too much of an issue, your changes are just in FLTFirebaseDynamicLinksPlugin.m and that did not change too much. But better if someone looks at it again with good ObjectiveC knowledge. |
I think there's a misunderstanding of what The actual app start link (initial link) can be delivered to either |
@koskimas Thanks for the clarification. However I exactly tested the ^0.6.0+2 version of the plugin by first registering The downside of @hffmnn implementation is of course that the startup phase of the app shows the white screen for a little longer before the first screen can be rendered. |
384e058
to
5b6382c
Compare
Closing in favour of #4354 |
Description
We found that sometimes the initial link might not resolve correctly. This is because of a possible race condition:
and link resolving starts by calling
onInitialLink
.handleMethodCall
is called with@"FirebaseDynamicLinks#getInitialLink"
while the initial link still gets resolved_initialLink
is stillnil
that gets send via the channel.To resolve this issue, this PR
BOOL isResolvingInitialLink
toYES
while resolving.isResolvingInitialLink
isYES
when@"FirebaseDynamicLinks#getInitialLink"
gets called and waits until it isNO
.Not sure if this solution is too simplistic, but at least it worked for our case.
Related Issues
#1624
#100
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (
[x]
). This will ensure a smooth and quick review process.///
).flutter analyze
) does not report any problems on my PR.Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?