firebase / flutterfire

🔥 A collection of Firebase plugins for Flutter apps.
https://firebase.google.com/docs/flutter/setup
BSD 3-Clause "New" or "Revised" License
8.64k stars 3.96k forks source link

🐛 [firebase_dynamic_links] Invalid Dynamic Link after updating...Passwordless used to work #5396

Closed bartonhammond closed 3 years ago

bartonhammond commented 3 years ago

Bug report

Describe the bug After updating I can not process the email link for passwordless. This used to work on both iOS & Android but now the Android is broken.

 firebase_auth: ^0.18.3+1
 firebase_dynamic_links: ^0.6.2

to

  firebase_auth: ^0.20.1
  firebase_core: ^0.7.0
  firebase_dynamic_links: ^0.7.0+1
  firebase_messaging: ^8.0.0-dev.15

Steps to reproduce

I am using Passwordless Auth I send the email I open the email I click the link and get "Invalid Dynamic Link"

Expected behavior

I expect to see a button in the browser to Open the App


Additional context

Add any other context about the problem here.


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand ``` [✓] Flutter (Channel stable, 1.22.6, on macOS 11.2.3 20D91 darwin-x64, locale en-US) • Flutter version 1.22.6 at /Users/bartonhammond/tools/flutter • Framework revision 9b2d32b605 (8 weeks ago), 2021-01-22 14:36:39 -0800 • Engine revision 2f0af37152 • Dart version 2.10.5 [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2) • Android SDK at /Users/bartonhammond/Library/Android/sdk • Platform android-30, build-tools 30.0.2 • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 12.4) • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 12.4, Build version 12D4e • CocoaPods version 1.10.0 [!] Android Studio (version 4.1) • Android Studio at /Applications/Android Studio.app/Contents ✗ Flutter plugin not installed; this adds Flutter specific functionality. ✗ Dart plugin not installed; this adds Dart specific functionality. • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495) [✓] VS Code (version 1.54.1) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.20.0 [✓] Connected device (2 available) • LGL322DL (mobile) • LGL322DL716c9ac1 • android-arm • Android 9 (API 28) • iPhone 12 Pro Max (mobile) • EA9C626B-7D56-4A6B-B28F-9A1C5D2C5E52 • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator) ! Doctor found issues in 1 category. ```

Flutter dependencies

Run flutter pub deps -- --style=compact and paste the output below:

Click To Expand ``` Dart SDK 2.10.5 Flutter SDK 1.22.6 MyFamilyVoice 0.1.3+1 dependencies: - audioplayers 0.17.2 [uuid path_provider flutter flutter_web_plugins] - auto_size_text 2.1.0 [flutter] - badges 1.1.6 [flutter] - carousel_slider 2.3.1 [flutter] - configurable_expansion_tile 1.0.0 [flutter] - convert 2.1.1 [charcode typed_data] - crop 0.4.2 [flutter vector_math] - crypto 2.1.5 [collection convert typed_data] - cupertino_icons 0.1.3 - event_bus 1.1.1 - extended_image 1.5.0 [flutter extended_image_library meta] - file 6.0.0-nullsafety.2 [meta path] - file_picker 2.1.5+1 [flutter flutter_web_plugins flutter_plugin_android_lifecycle plugin_platform_interface] - firebase_auth 0.20.1 [meta firebase_core firebase_core_platform_interface firebase_auth_platform_interface firebase_auth_web flutter] - firebase_core 0.7.0 [firebase_core_platform_interface flutter quiver meta firebase_core_web] - firebase_dynamic_links 0.7.0+1 [flutter firebase_core] - firebase_messaging 8.0.0-dev.15 [meta flutter firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web] - flag 3.1.0 [flutter flutter_svg] - flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine] - flutter_animation_progress_bar 1.0.6 [flutter] - flutter_app_badger 1.1.2 [flutter] - flutter_audio_recorder 0.5.5 [path flutter file] - flutter_device_locale 0.4.0 [flutter flutter_web_plugins plugin_platform_interface] - flutter_downloader 1.5.2 [flutter] - flutter_local_notifications 4.0.1+1 [flutter flutter_local_notifications_platform_interface platform timezone] - flutter_localizations 0.0.0 [flutter intl characters collection meta path typed_data vector_math] - flutter_reaction_button 1.0.6+1 [flutter] - flutter_staggered_grid_view 0.3.3 [flutter] - flutter_widget_from_html 0.5.1+5 [cached_network_image chewie flutter flutter_layout_grid flutter_svg flutter_widget_from_html_core html url_launcher video_player webview_flutter] - fluttertoast 7.1.6 [flutter flutter_web_plugins] - get 3.24.0 [flutter] - get_it 4.0.4 [async meta] - graphql 3.1.0 [meta http mime path crypto http_parser uuid_enhanced gql rxdart websocket quiver] - graphql_flutter 3.1.0 [graphql flutter meta path path_provider rxdart connectivity gql] - http 0.12.2 [http_parser path pedantic] - i18n_extension 1.4.6 [sprintf args flutter] - image 2.1.19 [archive xml meta] - image_cropper 1.3.1 [flutter] - image_editor 0.1.6 [flutter] - image_picker 0.6.7+21 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface] - intl 0.16.1 [path] - isolate 2.0.3 - material_design_icons_flutter 4.0.5755 [flutter] - microphone 0.0.2+3 [flutter meta microphone_platform_interface microphone_web] - open_file 3.0.3 [flutter ffi] - overlay_support 1.0.5 [flutter async] - package_info 0.4.3+2 [flutter] - path 1.8.0-nullsafety.1 - path_provider 1.6.27 [flutter path_provider_platform_interface path_provider_macos path_provider_linux path_provider_windows] - permission_handler 5.1.0+2 [flutter meta permission_handler_platform_interface] - provider 4.3.2+4 [collection flutter nested] - random_string 2.1.0 - responsive_builder 0.2.0+2 [flutter] - rxdart 0.24.1 - shared_preferences 0.5.12+4 [meta flutter shared_preferences_platform_interface shared_preferences_linux shared_preferences_macos shared_preferences_web shared_preferences_windows] - simple_timer 1.0.1 [flutter] - uuid 2.2.2 [crypto convert] - youtube_player_iframe 1.2.0+2 [flutter flutter_inappwebview url_launcher] dev dependencies: - flutter_driver 0.0.0 [file json_rpc_2 meta path web_socket_channel vm_service_client webdriver flutter flutter_test fuchsia_remote_debug_protocol archive args async boolean_selector characters charcode clock collection convert crypto fake_async matcher platform process pub_semver source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math] - flutter_gherkin 1.1.9 [flutter flutter_test flutter_driver glob meta gherkin] - flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data] - glob 1.2.0 [async collection node_io path pedantic string_scanner] transitive dependencies: - _fe_analyzer_shared 12.0.0 [meta] - analyzer 0.40.6 [_fe_analyzer_shared args cli_util collection convert crypto glob meta package_config path pub_semver source_span watcher yaml] - archive 2.0.13 [crypto args path] - args 1.6.0 - async 2.5.0-nullsafety.1 [collection] - boolean_selector 2.1.0-nullsafety.1 [source_span string_scanner] - cached_network_image 2.5.0 [flutter flutter_cache_manager octo_image] - characters 1.1.0-nullsafety.3 - charcode 1.2.0-nullsafety.1 - chewie 0.10.1 [open_iconic_flutter video_player wakelock flutter] - cli_util 0.2.0 [path] - clock 1.1.0-nullsafety.1 - collection 1.15.0-nullsafety.3 - connectivity 0.4.9+5 [flutter meta connectivity_platform_interface connectivity_macos connectivity_for_web] - connectivity_for_web 0.3.1+4 [connectivity_platform_interface flutter_web_plugins flutter] - connectivity_macos 0.1.0+7 [flutter] - connectivity_platform_interface 1.0.6 [flutter meta plugin_platform_interface] - coverage 0.14.2 [args logging package_config path source_maps stack_trace vm_service] - csslib 0.16.2 [source_span] - extended_image_library 0.3.1 [flutter path_provider http_client_helper crypto path] - fake_async 1.2.0-nullsafety.1 [clock collection] - ffi 0.1.3 - firebase_auth_platform_interface 3.1.0 [flutter meta firebase_core plugin_platform_interface] - firebase_auth_web 0.3.3 [flutter flutter_web_plugins meta http_parser intl firebase_core firebase_core_web firebase_auth_platform_interface js] - firebase_core_platform_interface 3.0.1 [flutter meta plugin_platform_interface quiver] - firebase_core_web 0.2.1+3 [firebase_core_platform_interface flutter flutter_web_plugins meta js] - firebase_messaging_platform_interface 1.0.0-dev.10 [flutter meta firebase_core plugin_platform_interface] - firebase_messaging_web 0.1.0-dev.6 [flutter flutter_web_plugins meta firebase_core firebase_core_web firebase_messaging_platform_interface js service_worker] - flutter_blurhash 0.5.0 [flutter meta] - flutter_cache_manager 2.1.1 [flutter path_provider uuid http path sqflite pedantic clock file rxdart image] - flutter_inappwebview 4.0.0+4 [flutter uuid mime] - flutter_layout_grid 0.10.3 [collection flutter meta quiver] - flutter_local_notifications_platform_interface 2.0.0+1 [flutter plugin_platform_interface] - flutter_plugin_android_lifecycle 1.0.11 [flutter] - flutter_svg 0.19.1 [flutter meta path_drawing vector_math xml] - flutter_web_plugins 0.0.0 [flutter characters collection meta typed_data vector_math] - flutter_widget_from_html_core 0.5.1+4 [flutter html] - fuchsia_remote_debug_protocol 0.0.0 [json_rpc_2 process web_socket_channel flutter_test flutter_driver archive args async boolean_selector charcode clock collection convert crypto fake_async file matcher meta path platform pub_semver source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math vm_service_client webdriver] - gherkin 1.2.0 [glob path test matcher] - gql 0.12.4 [source_span meta collection] - html 0.14.0+4 [csslib source_span] - http_client_helper 0.2.1 [http] - http_multi_server 2.2.0 [async] - http_parser 3.1.4 [charcode collection source_span string_scanner typed_data] - image_picker_platform_interface 1.1.1 [flutter meta http plugin_platform_interface] - io 0.3.4 [charcode meta path string_scanner] - js 0.6.3-nullsafety.2 - json_rpc_2 2.2.2 [stack_trace stream_channel] - logging 0.11.4 - matcher 0.12.10-nullsafety.1 [stack_trace] - meta 1.3.0-nullsafety.3 - microphone_platform_interface 0.0.1+2 [flutter meta] - microphone_web 0.0.1+3 [flutter flutter_web_plugins microphone_platform_interface] - mime 0.9.7 - nested 0.0.4 [flutter] - node_interop 1.2.1 [js] - node_io 1.1.1 [node_interop path] - node_preamble 1.4.12 - octo_image 0.3.0 [flutter flutter_blurhash] - open_iconic_flutter 0.3.0 [flutter] - package_config 1.9.3 [path charcode] - path_drawing 0.4.1+1 [vector_math meta path_parsing flutter] - path_parsing 0.1.4 [vector_math meta] - path_provider_linux 0.0.1+2 [path xdg_directories path_provider_platform_interface flutter] - path_provider_macos 0.0.4+8 [flutter] - path_provider_platform_interface 1.0.4 [flutter meta platform plugin_platform_interface] - path_provider_windows 0.0.4+3 [path_provider_platform_interface meta path flutter ffi win32] - pedantic 1.10.0-nullsafety.2 - permission_handler_platform_interface 2.0.2 [flutter meta plugin_platform_interface] - petitparser 3.1.0 [meta] - platform 3.0.0-nullsafety.2 - plugin_platform_interface 1.0.3 [meta] - pool 1.5.0-nullsafety.2 [async stack_trace] - process 4.0.0-nullsafety.2 [file path platform] - pub_semver 1.4.4 [collection] - quiver 2.1.5 [matcher meta] - service_worker 0.2.4 [js] - shared_preferences_linux 0.0.2+4 [file flutter meta path path_provider_linux shared_preferences_platform_interface] - shared_preferences_macos 0.0.1+11 [shared_preferences_platform_interface flutter] - shared_preferences_platform_interface 1.0.4 [meta flutter] - shared_preferences_web 0.1.2+7 [shared_preferences_platform_interface flutter flutter_web_plugins meta] - shared_preferences_windows 0.0.1+3 [shared_preferences_platform_interface flutter ffi file meta path path_provider_platform_interface path_provider_windows] - shelf 0.7.9 [async collection http_parser path stack_trace stream_channel] - shelf_packages_handler 2.0.0 [path shelf shelf_static] - shelf_static 0.2.9+1 [convert http_parser mime path shelf] - shelf_web_socket 0.2.3 [shelf web_socket_channel stream_channel] - sky_engine 0.0.99 - source_map_stack_trace 2.1.0-nullsafety.3 [path stack_trace source_maps] - source_maps 0.10.10-nullsafety.2 [source_span] - source_span 1.8.0-nullsafety.2 [charcode collection path term_glyph] - sprintf 5.0.0 - sqflite 1.3.2+2 [flutter sqflite_common path] - sqflite_common 1.0.3 [synchronized path meta] - stack_trace 1.10.0-nullsafety.1 [path] - stream_channel 2.1.0-nullsafety.1 [async] - string_scanner 1.1.0-nullsafety.1 [charcode source_span] - sync_http 0.2.0 - synchronized 2.2.0+2 - term_glyph 1.2.0-nullsafety.1 - test 1.16.0-nullsafety.5 [analyzer async boolean_selector coverage http http_multi_server io js node_preamble package_config path pedantic pool shelf shelf_packages_handler shelf_static shelf_web_socket source_span stack_trace stream_channel typed_data web_socket_channel webkit_inspection_protocol yaml test_api test_core] - test_api 0.2.19-nullsafety.2 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher] - test_core 0.3.12-nullsafety.5 [analyzer async args boolean_selector collection coverage glob io meta package_config path pedantic pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api] - timezone 0.6.1 [path] - typed_data 1.3.0-nullsafety.3 [collection] - url_launcher 5.7.10 [flutter url_launcher_platform_interface url_launcher_web url_launcher_linux url_launcher_macos url_launcher_windows] - url_launcher_linux 0.0.1+4 [flutter] - url_launcher_macos 0.0.1+9 [flutter] - url_launcher_platform_interface 1.0.9 [flutter meta plugin_platform_interface] - url_launcher_web 0.1.5+1 [url_launcher_platform_interface flutter flutter_web_plugins meta] - url_launcher_windows 0.0.1+3 [flutter] - uuid_enhanced 3.0.2 [crypto convert collection] - vector_math 2.1.0-nullsafety.3 - video_player 1.0.1 [meta video_player_platform_interface video_player_web flutter] - video_player_platform_interface 2.2.0 [flutter meta] - video_player_web 0.1.4+1 [flutter flutter_web_plugins meta video_player_platform_interface] - vm_service 5.5.0 [meta] - vm_service_client 0.2.6+2 [async collection json_rpc_2 pub_semver source_span stack_trace stream_channel web_socket_channel] - wakelock 0.1.4+2 [flutter] - watcher 0.9.7+15 [async path pedantic] - web_socket_channel 1.1.0 [async crypto stream_channel] - webdriver 2.1.2 [archive matcher path stack_trace sync_http] - webkit_inspection_protocol 0.7.4 [logging] - websocket 0.0.5 - webview_flutter 1.0.7 [flutter] - win32 1.7.4 [ffi] - xdg_directories 0.1.2 [meta path process] - xml 4.5.1 [collection convert meta petitparser] - yaml 2.2.1 [charcode collection string_scanner source_span] ```

Here is the link: https://myfamilyvoice-92b1e.firebaseapp.com/__/auth/action?apiKey=AIzaSyA7dBBcrX8-TnwO8Z3rmuz-_n3L4oPl_gQ&mode=signIn&oobCode=Oye13oet7c8rzFlAZYU82EqxJ51iDSP4p3s7Hq4ro0EAAAF4R4Q8Xw&continueUrl=https://myfamilyvoice-92b1e.firebaseapp.com/&lang=en

markusaksli-nc commented 3 years ago

Hi @bartonhammond This was a known issue and is fixed on the latest versions of the packages https://github.com/FirebaseExtended/flutterfire/issues/4711. Thank you

bartonhammond commented 3 years ago

Hi @markusaksli-nc I'm confused, the migration guide has the same versions that I have (https://firebase.flutter.dev/docs/migration/).

When I look at https://pub.dev/, I see the following versions that are available. Is this what I should upgrade to? If so, is there a migration guide for these versions?

firebase_auth: ^1.01
firebase_core:  ^1.0.1
firebase_dynamic_links: ^0.8.0
firebase_messaging: ^9.0.0

When I try these values, I get the following:

The current Dart SDK version is 2.10.5.                                 

Because MyFamilyVoice depends on firebase_messaging >=9.0.0-1.0.nullsafety.0 which requires SDK version >=2.12.0-0 <3.0.0, version solving failed.
Running "flutter pub get" in voiceClient...                             
pub get failed (1; Because MyFamilyVoice depends on firebase_messaging >=9.0.0-1.0.nullsafety.0 which requires SDK version >=2.12.0-0 <3.0.0, version solving failed.)

I really don't want to move to nullsafety at this time. I have a lot of packages and I'm not sure they all have versions that are compatible.

markusaksli-nc commented 3 years ago

Not sure why it is solving to firebase_messaging 9.0.0-1.0.nullsafety.0?

This issue isn't present with firebase_messaging: ^9.0.0. Maybe flutter clean?