Git Product home page Git Product logo

firebaseui-flutter's Introduction

Firebase UI for Flutter

Firebase UI is a set of plugins for Flutter that allows you to quickly connect common UI elements to Firebase APIs.

Available plugins

package pub
firebase_ui_auth pub package
firebase_ui_database pub package
firebase_ui_firestore pub package
firebase_ui_localizations pub package
firebase_ui_oauth pub package
firebase_ui_oauth_apple pub package
firebase_ui_oauth_facebook pub package
firebase_ui_oauth_google pub package
firebase_ui_oauth_twitter pub package
firebase_ui_storage pub package

Issues

Please file Firebase UI specific issues, bugs, or feature requests in our issue tracker.

Contributing

If you wish to contribute a change to any of the existing plugins in this repo, please review our contribution guide and open a pull request.

firebaseui-flutter's People

Contributors

aayushkumar avatar bparrishmines avatar dependabot[bot] avatar enduringbeta avatar goderbauer avatar knupper avatar koheikanagu avatar kroikie avatar kzrnm avatar lesnitsky avatar lyokone avatar mahmoos avatar maximerougieux avatar maztermo avatar michalsrutek avatar mominraza avatar mosuem avatar movaid7 avatar mravn-google avatar nilsreichardt avatar orenagiv avatar ovestoerholt avatar plammens avatar purus avatar rexios80 avatar rstieger avatar russellwheatley avatar salakar avatar viceamarian avatar ywake avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

firebaseui-flutter's Issues

๐Ÿ› [firebase_ui_oauth_apple] Clarify if apple signin is supported for Android or not

Bug report

Describe the bug
The matrix in parent package firebase_ui_auth indicates that Sign in with Apple is unconditionally supported with Apple.

Yet firebase_ui_oauth_apple-1.1.1 does not include Android as a supported platform

https://github.com/firebase/flutterfire/blob/65f11ac65c9a5dbd5bc413e1bad48eaff20c0192/packages/firebase_ui_oauth_apple/lib/src/provider.dart#L66-L71

Steps to reproduce

Steps to reproduce the behavior:

  1. Implement apple signin according to instructions in 'firebase_ui_authandfirebase_ui_oauth_apple-1.1.1`
  2. Test on ios, validate that apple signin button shows
  3. Test on android, apple signin button does not show

Expected behavior

Either Apple signin on Android is intentionally not supported, then the readme for firebase_ui_auth should be updated.
Or firebase_io_oauth_apple should be updated to add Android as supported platform.

Sample project

N/A


Additional context

Add any other context about the problem here.


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand

Flutter dependencies

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

Click To Expand
Dart SDK 2.19.6
Flutter SDK 3.7.10
xxx 0.0.2+10

dependencies:
- cloud_firestore 4.5.1 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cupertino_icons 1.0.5
- equatable 2.0.5 [collection meta]
- firebase_auth 4.4.1 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.9.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 3.1.0 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_ui_auth 1.2.1 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth firebase_ui_shared flutter flutter_localizations flutter_svg]
- firebase_ui_firestore 1.3.1 [cloud_firestore firebase_ui_localizations flutter]
- firebase_ui_oauth_apple 1.1.1 [firebase_auth firebase_ui_oauth flutter]
- firebase_ui_oauth_google 1.1.1 [firebase_auth firebase_ui_oauth flutter google_sign_in]
- flex_color_scheme 7.0.1 [flex_seed_scheme flutter meta]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- flutter_riverpod 2.3.4 [collection flutter meta riverpod state_notifier]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- go_router 6.5.6 [collection flutter flutter_web_plugins logging meta]
- google_fonts 4.0.3 [flutter http path_provider crypto]
- google_sign_in 6.1.0 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- intl 0.17.0 [clock path]
- logging 1.1.1
- riverpod_annotation 2.0.4 [meta riverpod]
- rxdart 0.27.7
- shared_preferences 2.1.0 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]

dev dependencies:
- build_runner 2.3.3 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- custom_lint 0.3.3 [analyzer analyzer_plugin args async ci cli_util collection freezed_annotation json_annotation meta package_config path pub_semver pubspec_parse rxdart uuid yaml]
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- mocktail 0.3.0 [collection matcher test]
- random_string 2.3.1
- riverpod_generator 2.1.6 [analyzer build build_config collection crypto meta path riverpod_analyzer_utils riverpod_annotation source_gen]
- riverpod_lint 1.2.0 [analyzer analyzer_plugin collection custom_lint_builder meta path riverpod riverpod_analyzer_utils source_span yaml]

transitive dependencies:
- _fe_analyzer_shared 58.0.0 [meta]
- _flutterfire_internals 1.1.0 [collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 5.10.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- analyzer_plugin 0.11.2 [analyzer collection dart_style pub_semver yaml]
- args 2.4.0
- async 2.10.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- build 2.3.1 [analyzer async convert crypto glob logging meta path]
- build_config 1.1.1 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.1.1 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.2.0 [analyzer async build collection crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.7 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.4.4 [built_collection collection fixnum meta]
- characters 1.2.1
- checked_yaml 2.0.2 [json_annotation source_span yaml]
- ci 0.1.0
- cli_util 0.4.0 [meta path]
- clock 1.1.1
- cloud_firestore_platform_interface 5.12.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.4.1 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.4.0 [built_collection built_value collection matcher meta]
- collection 1.17.0
- convert 3.1.1 [typed_data]
- coverage 1.6.3 [args logging package_config path source_maps stack_trace vm_service]
- crypto 3.0.2 [typed_data]
- custom_lint_builder 0.3.3 [analyzer analyzer_plugin collection custom_lint custom_lint_core glob hotreloader meta path pubspec_parse rxdart]
- custom_lint_core 0.3.3 [analyzer analyzer_plugin collection custom_lint matcher meta path pubspec_parse source_span yaml]
- dart_style 2.3.0 [analyzer args path pub_semver source_span]
- desktop_webview_auth 0.0.11 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- ffi 2.0.1
- file 6.1.4 [meta path]
- firebase_auth_platform_interface 6.13.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.3.1 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.6.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.3.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.4.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_dynamic_links 5.1.0 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.4 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_ui_localizations 1.3.0 [flutter flutter_localizations intl path]
- firebase_ui_oauth 1.2.1 [desktop_webview_auth firebase_auth firebase_ui_auth firebase_ui_shared flutter_svg flutter]
- firebase_ui_shared 1.1.0 [flutter]
- fixnum 1.1.0
- flex_seed_scheme 1.2.3 [flutter material_color_utilities meta]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- freezed_annotation 2.2.0 [collection json_annotation meta]
- frontend_server_client 3.2.0 [async path]
- glob 2.1.1 [async collection file path string_scanner]
- google_identity_services_web 0.2.1 [js meta]
- google_sign_in_android 6.1.9 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.6.1 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.4.0 [flutter plugin_platform_interface quiver]
- google_sign_in_web 0.12.0 [flutter flutter_web_plugins google_identity_services_web google_sign_in_platform_interface http js]
- graphs 2.2.0 [collection]
- hotreloader 3.0.6 [collection logging path stream_transform vm_service watcher]
- http 0.13.5 [async http_parser meta path]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- io 1.0.4 [meta path string_scanner]
- js 0.6.5 [meta]
- json_annotation 4.8.0 [meta]
- lints 2.0.1
- matcher 0.12.13 [meta stack_trace]
- material_color_utilities 0.2.0
- meta 1.8.0
- mime 1.0.4
- node_preamble 2.0.2
- package_config 2.1.0 [path]
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider 2.0.14 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- path_provider_android 2.0.24 [flutter path_provider_platform_interface]
- path_provider_foundation 2.2.2 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.10 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.0.6 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.5 [ffi flutter path path_provider_platform_interface win32]
- petitparser 5.1.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.4 [meta]
- pool 1.5.1 [async stack_trace]
- process 4.2.4 [file path platform]
- pub_semver 2.1.3 [collection meta]
- pubspec_parse 1.2.2 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.2.1 [matcher]
- riverpod 2.3.4 [meta stack_trace state_notifier]
- riverpod_analyzer_utils 0.2.1 [analyzer collection crypto custom_lint_core freezed_annotation meta path source_span]
- shared_preferences_android 2.1.1 [flutter shared_preferences_platform_interface]
- shared_preferences_foundation 2.2.1 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.2.0 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.2.0 [flutter plugin_platform_interface]
- shared_preferences_web 2.1.0 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.2.0 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- shelf 1.4.0 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 3.0.1 [path shelf shelf_static]
- shelf_static 1.1.1 [convert http_parser mime path shelf]
- shelf_web_socket 1.0.3 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_gen 1.2.7 [analyzer async build dart_style glob path source_span yaml]
- source_map_stack_trace 2.1.1 [path source_maps stack_trace]
- source_maps 0.10.12 [source_span]
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- state_notifier 0.7.2+1 [meta]
- stream_channel 2.1.1 [async]
- stream_transform 2.1.0
- string_scanner 1.2.0 [source_span]
- term_glyph 1.2.1
- test 1.22.0 [analyzer async boolean_selector collection coverage http_multi_server io js node_preamble package_config path 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.4.16 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.4.20 [analyzer async args boolean_selector collection coverage frontend_server_client glob io meta package_config path pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- timing 1.0.1 [json_annotation]
- typed_data 1.3.1 [collection]
- uuid 3.0.7 [crypto]
- vector_math 2.1.4
- vm_service 9.4.0
- watcher 1.0.2 [async path]
- web_socket_channel 2.4.0 [async crypto stream_channel]
- webkit_inspection_protocol 1.2.0 [logging]
- win32 3.1.4 [ffi]
- xdg_directories 1.0.0 [meta path process]
- xml 6.2.2 [collection meta petitparser]
- yaml 3.1.1 [collection source_span string_scanner]

๐Ÿ› [firebase_ui_auth] invalid password error message is inadequate

Bug report

Using V1.2.1 latest from pub.dev - if you enter an incorrect password, the word "error" appears in red - but it is very hard to notice.
image

It should say something like "The email address or password you entered is invalid" in bold red.
Tested using the example app in the repo.

Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
[โˆš] Flutter (Channel stable, 3.7.7, on Microsoft Windows [Version 10.0.22621.1555], locale en-NZ)
[โˆš] Windows Version (Installed version of Windows is version 10 or higher)
[โˆš] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[โˆš] Chrome - develop for the web
[โˆš] Visual Studio - develop for Windows (Visual Studio Community 2022 17.4.1)
[โˆš] Android Studio (version 2022.1)
[โˆš] VS Code (version 1.70.2)
[โˆš] VS Code, 64-bit edition (version 1.77.1)
[โˆš] Connected device (3 available)
[โˆš] HTTP Host Availability

โ€ข No issues found!


Flutter dependencies

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

Click To Expand
Dart SDK 2.19.4
Flutter SDK 3.7.7
firebase_with_flutter 1.0.0+1

dependencies:
- cloud_firestore 4.5.1 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cupertino_icons 1.0.5
- email_validator 2.1.17
- firebase_auth 4.4.1 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_auth_platform_interface 6.13.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_core 2.9.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_core_platform_interface 4.6.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_dynamic_links 5.1.0 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_ui_auth 1.2.1 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth firebase_ui_shared flutter flutter_localizations flutter_svg]
- firebase_ui_localizations 1.3.0 [flutter flutter_localizations intl path]
- firebase_ui_oauth 1.2.1 [desktop_webview_auth firebase_auth firebase_ui_auth firebase_ui_shared flutter_svg flutter]
- firebase_ui_oauth_apple 1.1.1 [firebase_auth firebase_ui_oauth flutter]
- firebase_ui_oauth_facebook 1.1.1 [firebase_auth firebase_ui_oauth flutter flutter_facebook_auth]
- firebase_ui_oauth_google 1.0.21 [firebase_auth firebase_ui_oauth flutter google_sign_in]
- firebase_ui_oauth_twitter 1.1.1 [flutter firebase_auth firebase_ui_oauth twitter_login]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- google_fonts 4.0.3 [flutter http path_provider crypto]

dev dependencies:
- drive 1.0.0-1.0.nullsafety.5 [test_api flutter_test flutter_driver stack_trace flutter]
- flutter_driver 0.0.0 [file flutter flutter_test fuchsia_remote_debug_protocol path meta vm_service webdriver archive async boolean_selector characters clock collection crypto js matcher material_color_utilities platform process source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math]
- flutter_facebook_auth 4.4.1+1 [flutter flutter_facebook_auth_platform_interface flutter_facebook_auth_web]
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- google_sign_in 5.4.4 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- http 0.13.5 [async http_parser meta path]
- integration_test 0.0.0 [flutter flutter_driver flutter_test path vm_service archive async boolean_selector characters clock collection crypto fake_async file js matcher material_color_utilities meta source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math webdriver]
- mockito 5.4.0 [analyzer build code_builder collection dart_style matcher meta path source_gen test_api]
- test 1.22.0 [analyzer async boolean_selector collection coverage http_multi_server io js node_preamble package_config path 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]
- twitter_login 4.3.2 [crypto flutter http]

transitive dependencies:
- _fe_analyzer_shared 58.0.0 [meta]
- _flutterfire_internals 1.1.0 [collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 5.10.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- archive 3.3.2 [crypto path]
- args 2.4.0
- async 2.10.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- build 2.3.1 [analyzer async convert crypto glob logging meta path]
- built_collection 5.1.1
- built_value 8.4.4 [built_collection collection fixnum meta]
- characters 1.2.1
- clock 1.1.1
- cloud_firestore_platform_interface 5.12.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.4.1 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.4.0 [built_collection built_value collection matcher meta]
- collection 1.17.0
- convert 3.1.1 [typed_data]
- coverage 1.6.3 [args logging package_config path source_maps stack_trace vm_service]
- crypto 3.0.2 [typed_data]
- dart_style 2.3.0 [analyzer args path pub_semver source_span]
- desktop_webview_auth 0.0.11 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- fake_async 1.3.1 [clock collection]
- ffi 2.0.1
- file 6.1.4 [meta path]
- firebase_auth_web 5.3.1 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_web 2.3.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links_platform_interface 0.2.4 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_ui_shared 1.1.0 [flutter]
- fixnum 1.1.0
- flutter_facebook_auth_platform_interface 3.2.0 [flutter plugin_platform_interface]
- flutter_facebook_auth_web 3.2.0 [flutter flutter_web_plugins js flutter_facebook_auth_platform_interface]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 3.2.0 [async path]
- fuchsia_remote_debug_protocol 0.0.0 [process vm_service file meta path platform]
- glob 2.1.1 [async collection file path string_scanner]
- google_sign_in_android 6.1.9 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.6.1 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.4.0 [flutter plugin_platform_interface quiver]
- google_sign_in_web 0.10.2+1 [flutter flutter_web_plugins google_sign_in_platform_interface js]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- io 1.0.4 [meta path string_scanner]
- js 0.6.5 [meta]
- lints 2.0.1
- logging 1.1.1
- matcher 0.12.13 [meta stack_trace]
- material_color_utilities 0.2.0
- meta 1.8.0
- mime 1.0.4
- node_preamble 2.0.2
- package_config 2.1.0 [path]
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider 2.0.14 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- path_provider_android 2.0.25 [flutter path_provider_platform_interface]
- path_provider_foundation 2.2.2 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.10 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.0.6 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.5 [ffi flutter path path_provider_platform_interface win32]
- petitparser 5.1.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.4 [meta]
- pool 1.5.1 [async stack_trace]
- process 4.2.4 [file path platform]
- pub_semver 2.1.3 [collection meta]
- quiver 3.2.1 [matcher]
- shelf 1.4.0 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 3.0.1 [path shelf shelf_static]
- shelf_static 1.1.1 [convert http_parser mime path shelf]
- shelf_web_socket 1.0.3 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_gen 1.2.7 [analyzer async build dart_style glob path source_span yaml]
- source_map_stack_trace 2.1.1 [path source_maps stack_trace]
- source_maps 0.10.12 [source_span]
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- stream_channel 2.1.1 [async]
- string_scanner 1.2.0 [source_span]
- sync_http 0.3.1
- term_glyph 1.2.1
- test_api 0.4.16 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.4.20 [analyzer async args boolean_selector collection coverage frontend_server_client glob io meta package_config path pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- typed_data 1.3.1 [collection]
- vector_math 2.1.4
- vm_service 9.4.0
- watcher 1.0.2 [async path]
- web_socket_channel 2.4.0 [async crypto stream_channel]
- webdriver 3.0.1 [archive matcher path stack_trace sync_http]
- webkit_inspection_protocol 1.2.0 [logging]
- win32 3.1.4 [ffi]
- xdg_directories 1.0.0 [meta path process]
- xml 6.2.2 [collection meta petitparser]
- yaml 3.1.1 [collection source_span string_scanner]

๐Ÿ› [firebase_ui_firestore] FirestoreListView won't refresh when using orderBy in query

Bug report

When using FirestoreListView with an orderBy on the query, list won't refresh when a new entry is added to the database.
As soon as I remove the orderBy on the query, it works as exoected.

Steps to reproduce

  1. Build a Firestore collection with several entries.
  2. Build a FirestoreListView widget with a query that uses orderBy :
  late final _messages = _db.collection('messages').withConverter<Message>(
    fromFirestore: (snapshot, _) => Message.fromJson(snapshot.id, snapshot.data()!),
    toFirestore: (model, _) => model.toJson(),
  );
  Query<Message> getMessagesQuery(String userId) => _messages.where('senderId', isEqualTo: userId).orderBy('sentAt');
  1. The widget will display the entries, as expected.
  2. Add a new entry to the database.
  3. The new item will not be displayed.

Expected behavior

If you do the same without the orderBy on the query, it works as expected, and display new entries in realtime.

Additional context

Using all latest stable packages version and stable Flutter.

๐Ÿ› [FLUTTERFIRE_UI] Password field needs a "show password" icon

email_form.zip

Bug report

There is no "show password" icon in the password edit box

Expected behavior

Need to be able to toggle show/hide password

Sample project

Code as here
https://github.com/firebase/flutterfire/tree/master/packages/flutterfire_ui

Attached zip file has changes needed for Material app, not Cupertino. Can be done just by changing universal_text_form_field.dart - if "obscure" is true then show the extra icon. The attached zip allows a flag to be passed down the widget tree to select whether the extra icon should appear or not but this is not essential.

Flutter doctor

Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[โˆš] Flutter (Channel stable, 3.0.3, on Microsoft Windows [Version 10.0.22000.795], locale en-NZ)
[โˆš] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[โˆš] Chrome - develop for the web
[โˆš] Visual Studio - develop for Windows (Visual Studio Community 2022 17.2.3)
[โˆš] Android Studio (version 2021.2)
[โˆš] VS Code (version 1.53.2)
[โˆš] VS Code, 64-bit edition (version 1.69.2)
[โˆš] Connected device (4 available)
[โˆš] HTTP Host Availability

โ€ข No issues found!
[email_form.zip](https://github.com/firebase/flutterfire/files/9215839/email_form.zip)

Flutter dependencies

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

Click To Expand
Dart SDK 2.17.5
Flutter SDK 3.0.3
firebase_with_flutter 1.0.0+1

dependencies:
- cloud_firestore 3.3.0 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cupertino_icons 1.0.5
- firebase_auth 3.4.2 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 1.19.2 [firebase_core_platform_interface firebase_core_web flutter meta]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- flutterfire_ui 0.4.2+3 [cloud_firestore collection crypto desktop_webview_auth email_validator firebase_auth firebase_core firebase_database firebase_dynamic_links flutter flutter_facebook_auth flutter_localizations flutter_svg google_sign_in sign_in_with_apple twitter_login]
- google_fonts 3.0.1 [flutter http path_provider crypto]
- provider 6.0.3 [collection flutter nested]

dev dependencies:
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:
- async 2.8.2 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.2.0
- charcode 1.3.1
- clock 1.1.0
- cloud_firestore_platform_interface 5.6.0 [collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 2.7.0 [cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- collection 1.16.0
- crypto 3.0.2 [typed_data]
- desktop_webview_auth 0.0.9 [crypto flutter http]
- email_validator 2.0.1
- fake_async 1.3.0 [clock collection]
- ffi 2.0.1
- file 6.1.2 [meta path]
- firebase_auth_platform_interface 6.3.2 [firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 4.0.0 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.4.3 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 1.7.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_database 9.0.19 [firebase_core firebase_core_platform_interface firebase_database_platform_interface firebase_database_web flutter]
- firebase_database_platform_interface 0.2.1+11 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_database_web 0.2.1 [firebase_core firebase_core_web firebase_database_platform_interface flutter flutter_web_plugins js]
- firebase_dynamic_links 4.3.2 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.3+7 [firebase_core flutter meta plugin_platform_interface]
- flutter_facebook_auth 4.4.0+1 [flutter flutter_facebook_auth_platform_interface flutter_facebook_auth_web]
- flutter_facebook_auth_platform_interface 3.2.0 [flutter plugin_platform_interface]
- flutter_facebook_auth_web 3.2.0 [flutter flutter_web_plugins js flutter_facebook_auth_platform_interface]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math]
- flutter_svg 1.1.1+1 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- google_sign_in 5.4.0 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- google_sign_in_android 6.0.1 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.4.0 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.2.0 [flutter quiver]
- google_sign_in_web 0.10.2 [flutter flutter_web_plugins google_sign_in_platform_interface js]
- http 0.13.4 [async http_parser meta path]
- http_parser 4.0.1 [collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- js 0.6.4
- lints 2.0.0
- matcher 0.12.11 [stack_trace]
- material_color_utilities 0.1.4
- meta 1.7.0
- nested 1.0.0 [flutter]
- path 1.8.1
- path_drawing 1.0.0 [vector_math meta path_parsing flutter]
- path_parsing 1.0.0 [vector_math meta]
- path_provider 2.0.11 [flutter path_provider_android path_provider_ios path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows]
- path_provider_android 2.0.16 [flutter path_provider_platform_interface]
- path_provider_ios 2.0.10 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.7 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_macos 2.0.6 [flutter path_provider_platform_interface]
- path_provider_platform_interface 2.0.4 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.0 [ffi flutter path path_provider_platform_interface win32]
- petitparser 5.0.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.2 [meta]
- process 4.2.4 [file path platform]
- quiver 3.1.0 [matcher]
- sign_in_with_apple 3.3.0 [flutter meta sign_in_with_apple_platform_interface sign_in_with_apple_web]
- sign_in_with_apple_platform_interface 1.0.0 [flutter plugin_platform_interface meta]
- sign_in_with_apple_web 1.0.1 [flutter flutter_web_plugins sign_in_with_apple_platform_interface js]
- sky_engine 0.0.99
- source_span 1.8.2 [collection path term_glyph]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- string_scanner 1.1.0 [charcode source_span]
- term_glyph 1.2.0
- test_api 0.4.9 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- twitter_login 4.2.3 [flutter crypto http]
- typed_data 1.3.1 [collection]
- vector_math 2.1.2
- win32 2.7.0 [ffi]
- xdg_directories 0.2.0+1 [meta path process]
- xml 6.1.0 [collection meta petitparser]

๐Ÿ› [firebase_ui_auth] User unable to add photo to ProfileScreen page if registering via email and password

Bug report

Describe the bug
I was exploring using this package for a profile/account page and I'm satisified with it for google sign in, but if a user registers via email and password they don't have an option to upload their own photo.

Steps to reproduce

Steps to reproduce the behavior:

  1. Register a user with the package with email and password
  2. Navigate to the ProfileScreen page from the package
  3. You will be unable to add a photo

Expected behavior

I expected a photo add button on the blank photo.

๐Ÿ› [firebase_ui_auth] too many bugs

Bug report

Using pub dev firebase_ui_auth 1.1.9

  1. On the "register" screen, when you click the "register" button, nothing happens. There is no feedback that says you have been registered, and no recognition that you have been registered, even though you have been. How do such basic bugs get into a public release????????????
  2. When you click the "delete account" button, it goes ahead and deletes your account without prompting to ask if you meant to delete the account. This is another basic problem that shouldn't get into a public release.
  3. When you click the "verify email" button on the profile page, it says "verifying email" with spinning cursor forever even though the verify email gets sent and responded to. This bug has been reported before and was closed as fixed. How can you close a bug that hasn't been fixed?
  4. This bug is also not fixed 9229
  5. In profile_screen.dart there is a bunch of plain English text strings that need to be internationalised.

Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
C:\Users\graem>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[โˆš] Flutter (Channel stable, 3.7.1, on Microsoft Windows [Version 10.0.22621.1194], locale en-NZ)
[โˆš] Windows Version (Installed version of Windows is version 10 or higher)
[โˆš] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[โˆš] Chrome - develop for the web
[โˆš] Visual Studio - develop for Windows (Visual Studio Community 2022 17.4.1)
[!] Android Studio (version 2022.1)
    X Unable to find bundled Java version.
[โˆš] VS Code (version 1.70.2)
[โˆš] VS Code, 64-bit edition (version 1.69.2)
[โˆš] Connected device (3 available)
[โˆš] HTTP Host Availability

Flutter dependencies

Click To Expand
C:\GP\project\flutter\firebase_with_flutter>flutter pub deps -- --style=compact
Dart SDK 2.19.1
Flutter SDK 3.7.1
firebase_with_flutter 1.0.0+1

dependencies:
- cloud_firestore 4.3.1 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cupertino_icons 1.0.5
- firebase_auth 4.2.5 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_auth_platform_interface 6.11.7 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_core 2.4.1 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_core_platform_interface 4.5.2 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_ui_auth 1.1.9 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth flutter flutter_localizations flutter_svg]
- firebase_ui_localizations 1.1.0 [flutter flutter_localizations intl path]
- firebase_ui_oauth 1.1.9 [desktop_webview_auth firebase_auth firebase_ui_auth flutter_svg flutter]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- google_fonts 4.0.3 [flutter http path_provider crypto]
- provider 6.0.5 [collection flutter nested]

dev dependencies:
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:
- _flutterfire_internals 1.0.12 [collection firebase_core firebase_core_platform_interface flutter meta]
- async 2.10.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- characters 1.2.1
- clock 1.1.1
- cloud_firestore_platform_interface 5.10.1 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.2.1 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- collection 1.17.0
- crypto 3.0.2 [typed_data]
- desktop_webview_auth 0.0.11 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- ffi 2.0.1
- file 6.1.4 [meta path]
- firebase_auth_web 5.2.4 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_web 2.1.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links 5.0.11 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.3+26 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- http 0.13.5 [async http_parser meta path]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- js 0.6.5 [meta]
- lints 2.0.1
- matcher 0.12.13 [meta stack_trace]
- material_color_utilities 0.2.0
- meta 1.8.0
- nested 1.0.0 [flutter]
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider 2.0.12 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- path_provider_android 2.0.22 [flutter path_provider_platform_interface]
- path_provider_foundation 2.1.1 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.7 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.0.5 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.3 [ffi flutter path path_provider_platform_interface win32]
- petitparser 5.1.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.3 [meta]
- process 4.2.4 [file path platform]
- sky_engine 0.0.99
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- stream_channel 2.1.1 [async]
- string_scanner 1.2.0 [source_span]
- term_glyph 1.2.1
- test_api 0.4.16 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.1 [collection]
- vector_math 2.1.4
- win32 3.1.3 [ffi]
- xdg_directories 0.2.0+3 [meta path process]
- xml 6.2.2 [collection meta petitparser]

[๐Ÿ“š] missing information for firebase_ui_auth

See firebase/flutterfire#10431 for files etc.
Issue number 6 in firebase_ui_auth 1.1.10 issues.pdf

It is very difficult to work out how to use the theme to control the appearance.
Some better documentation is needed.

It is common for people to want to change the layout of the sign-in screen e.g. "Log in" instead of "sign in" etc. Some documentation is needed for the easiest way to do this.

For the "register" screen to work properly you need to have an action
AuthStateChangeAction - action this isn't documented anywhere.

For verify email, there is no documentation that says you need to supply ActionCodeSettings for verify to work on Android and IOS (not needed on web) or how to create them.

see also
firebase/flutterfire#10431
#39
#38
#37
#36

๐Ÿ› [firebase_ui_auth] Login via google after deleting email account triggers error

Bug report

When you delete an email account from the profile page and land back on the sign-in page, choosing sign-in with Google results in nothing happening. But when you reload the app you're signed in.

Error message:

E/flutter (21971): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Null check operator used on a null value
E/flutter (21971): #0      EmailVerificationController.user (package:firebase_ui_auth/src/email_verification.dart:68:36)
E/flutter (21971): firebase/flutterfire#1      EmailVerificationController.reload (package:firebase_ui_auth/src/email_verification.dart:82:11)
E/flutter (21971): firebase/flutterfire#2      EmailVerificationController.didChangeAppLifecycleState (package:firebase_ui_auth/src/email_verification.dart:63:7)
E/flutter (21971): firebase/flutterfire#3      WidgetsBinding.handleAppLifecycleStateChanged (package:flutter/src/widgets/binding.dart:673:16)
E/flutter (21971): firebase/flutterfire#4      ServicesBinding._handleLifecycleMessage (package:flutter/src/services/binding.dart:262:5)
E/flutter (21971): firebase/flutterfire#5      BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:214:49)
E/flutter (21971): firebase/flutterfire#6      _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:393:35)
E/flutter (21971): firebase/flutterfire#7      _invoke2 (dart:ui/hooks.dart:183:13)
E/flutter (21971): firebase/flutterfire#8      _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:40:5)
E/flutter (21971): firebase/flutterfire#9      _Channel.push (dart:ui/channel_buffers.dart:130:31)
E/flutter (21971): firebase/flutterfire#10     ChannelBuffers.push (dart:ui/channel_buffers.dart:326:17)
E/flutter (21971): firebase/flutterfire#11     PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:664:22)
E/flutter (21971): firebase/flutterfire#12     _dispatchPlatformMessage (dart:ui/hooks.dart:86:31)
E/flutter (21971): 

Steps to reproduce

Steps to reproduce the behavior:

  1. Have your sign-in event trigger redirect to profile page with
AuthStateChangeAction<SignedIn>((context, state) {
  Navigator.pushReplacementNamed(context, '$profileRoute');
}),
  1. Have your sign-out action ont the profile screen route back to the sign-in page and delete the stack (to prevent user from going back to previous screens) like:
ProfileScreen(
// ... appBar etc.
  actions: [
    SignedOutAction((context) {
      Navigator.pushAndRemoveUntil(context,
        MaterialPageRoute(builder: (BuildContext context) {
          return const SignInScreen();
        }), (r) {
          return false;
        });
    })
  ],
)
  1. register with email
  2. delete account on profile page (should bring you back to sign-in screen)
  3. click on sign-in with Google and sign-in with Google account
  4. be stuck on sign-in screen (with logs showing the mentioned stacktrace)

Expected behavior

Step 5 in reproduce should redirect to profile page


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[โœ“] Flutter (Channel stable, 3.7.10, on macOS 13.3 22E252 darwin-arm64, locale en-DE)
[โœ“] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[โœ“] Xcode - develop for iOS and macOS (Xcode 14.3)
[โœ“] Chrome - develop for the web
[!] Android Studio (not installed)
[โœ“] IntelliJ IDEA Ultimate Edition (version 2022.3.1)
[โœ“] IntelliJ IDEA Ultimate Edition (version 2022.2.3)
[โœ“] IntelliJ IDEA Ultimate Edition (version 2022.3.1)
[โœ“] VS Code (version 1.74.0)
[โœ“] Connected device (3 available)
[โœ“] HTTP Host Availability

Flutter dependencies

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

Click To Expand
Dart SDK 2.19.6
Flutter SDK 3.7.10
butterfly 1.0.0+1

dependencies:
- firebase_auth 4.4.0 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.9.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_database 10.1.0 [firebase_core firebase_core_platform_interface firebase_database_platform_interface firebase_database_web flutter]
- firebase_dynamic_links 5.1.0 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_ui_auth 1.2.0 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth firebase_ui_shared flutter flutter_localizations flutter_svg]
- firebase_ui_oauth_google 1.0.21 [firebase_auth firebase_ui_oauth flutter google_sign_in]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- google_fonts 4.0.3 [flutter http path_provider crypto]
- google_sign_in 5.4.4 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- intl 0.17.0 [clock path]
- wear 1.1.0 [flutter]

dev dependencies:
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:
- _flutterfire_internals 1.1.0 [collection firebase_core firebase_core_platform_interface flutter meta]
- async 2.10.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- characters 1.2.1
- clock 1.1.1
- collection 1.17.0
- crypto 3.0.2 [typed_data]
- desktop_webview_auth 0.0.11 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- ffi 2.0.1
- file 6.1.4 [meta path]
- firebase_auth_platform_interface 6.13.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.3.0 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.6.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.3.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_database_platform_interface 0.2.3 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_database_web 0.2.2 [firebase_core firebase_core_web firebase_database_platform_interface flutter flutter_web_plugins js]
- firebase_dynamic_links_platform_interface 0.2.4 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_ui_localizations 1.3.0 [flutter flutter_localizations intl path]
- firebase_ui_oauth 1.2.0 [desktop_webview_auth firebase_auth firebase_ui_auth firebase_ui_shared flutter_svg flutter]
- firebase_ui_shared 1.1.0 [flutter]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- google_sign_in_android 6.1.8 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.6.1 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.4.0 [flutter plugin_platform_interface quiver]
- google_sign_in_web 0.10.2+1 [flutter flutter_web_plugins google_sign_in_platform_interface js]
- http 0.13.5 [async http_parser meta path]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- js 0.6.5 [meta]
- lints 2.0.1
- matcher 0.12.13 [meta stack_trace]
- material_color_utilities 0.2.0
- meta 1.8.0
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider 2.0.14 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- path_provider_android 2.0.24 [flutter path_provider_platform_interface]
- path_provider_foundation 2.2.1 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.10 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.0.6 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.5 [ffi flutter path path_provider_platform_interface win32]
- petitparser 5.1.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.4 [meta]
- process 4.2.4 [file path platform]
- quiver 3.2.1 [matcher]
- sky_engine 0.0.99
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- stream_channel 2.1.1 [async]
- string_scanner 1.2.0 [source_span]
- term_glyph 1.2.1
- test_api 0.4.16 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.1 [collection]
- vector_math 2.1.4
- win32 3.1.3 [ffi]
- xdg_directories 1.0.0 [meta path process]
- xml 6.2.2 [collection meta petitparser]


๐Ÿ› [FlutterFireUI] Browser do not offer to store password on web

Bug report

Describe the bug
I created a FlutterFire demo app where I use SignInScreen widget for sign in UI. When I test it out in Flutter Web (in Chrome and Firefox), the browser do not offer to save the username + password in the in-browser password manager.

In flutter issue #61301 there are some answers suggesting to configure autofillHints on the fields and wrapping with AutofillGroup. Looking at the FlutterFire UI source code it seems that this is not set for the EmailForm widget used by SignInScreen under the hood.

If Flutter Web do support autofill working with password managers (which the above issue seems to indicate), I expect the FlutterFire UI to have support for it.

Steps to reproduce

Steps to reproduce the behaviour:

  1. Open demo project in VS code and run it with chrome as target.
  2. Click on Register button in the UI
  3. Enter an email and a password (and the same password again in Confirm password)
  4. Click on Register button.

Browser does not offer to store the password.

Expected behavior

I expect that when I create user and/or login that Chrome/Firefox offers to store the password in the in-browser password manager.

Sample project

Use flutterfire CLI to generate firebase_options.dart. Enable email provider in Firebase console.

main.dart
import 'package:flutter/material.dart';

import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutterfire_ui/auth.dart';

import 'firebase_options.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Firebase Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    final auth = FirebaseAuth.instance;

    return StreamBuilder<User?>(
      stream: auth.authStateChanges(),
      builder: (context, snaphot) =>
          auth.currentUser == null ? const Login() : const Home(),
    );
  }
}

class Login extends StatelessWidget {
  const Login({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return SignInScreen(
      providerConfigs: const [
        EmailProviderConfiguration(),
      ],
      headerMaxExtent: 64,
      headerBuilder: (BuildContext context, BoxConstraints constraints,
          double shrinkOffset) {
        return AppBar(title: const Text("Firebase Demo"));
      },
    );
  }
}

class Home extends StatelessWidget {
  const Home({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    final user = FirebaseAuth.instance.currentUser;
    return Scaffold(
      appBar: AppBar(
        title: Text('Hi ${user?.displayName ?? user?.email ?? 'someone'}!'),
        actions: [
          TextButton(
            child: const Icon(
              Icons.logout,
              color: Colors.white,
              semanticLabel: 'Log out',
            ),
            onPressed: () {
              FirebaseAuth.instance.signOut();
            },
          ),
        ],
      ),
      body: Column(
        children: const [
          Text('Logged in'),
        ],
      ),
    );
  }
}
pubspec.yaml
name: firebase_demo
description: A new Flutter project.
publish_to: 'none' 
version: 1.0.0+1

environment:
  sdk: ">=2.15.1 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^1.0.2
  firebase_core: ^1.11.0
  flutterfire_ui: ^0.3.1

dev_dependencies:
  flutter_test:
    sdk: flutter
  
  flutter_lints: ^1.0.0
  firebase_auth: ^3.3.5

flutter:
  uses-material-design: true

Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
[โœ“] Flutter (Channel stable, 2.8.1, on Microsoft Windows [Version 10.0.19044.1466], locale sv-SE)
    โ€ข Flutter version 2.8.1 at C:\Users\Leif\Programmering\Libraries\flutter
    โ€ข Upstream repository https://github.com/flutter/flutter.git
    โ€ข Framework revision 77d935af4d (5 weeks ago), 2021-12-16 08:37:33 -0800
    โ€ข Engine revision 890a5fca2e
    โ€ข Dart version 2.15.1

[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    โ€ข Android SDK at K:\Android\android-sdks
    โœ— cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    โœ— Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[โœ“] Chrome - develop for the web
    โ€ข Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[โœ“] Android Studio (version 2020.3)
    โ€ข Android Studio at C:\Program Files\Android\Android Studio
    โ€ข Flutter plugin can be installed from:
      ๐Ÿ”จ https://plugins.jetbrains.com/plugin/9212-flutter
    โ€ข Dart plugin can be installed from:
      ๐Ÿ”จ https://plugins.jetbrains.com/plugin/6351-dart
    โ€ข Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[โœ“] VS Code, 32-bit edition (version 1.61.2)
    โ€ข VS Code at C:\Program Files (x86)\Microsoft VS Code
    โ€ข Flutter extension version 3.29.0

[โœ“] Connected device (2 available)
    โ€ข Chrome (web) โ€ข chrome โ€ข web-javascript โ€ข Google Chrome 97.0.4692.71
    โ€ข Edge (web)   โ€ข edge   โ€ข web-javascript โ€ข Microsoft Edge 96.0.1054.62

! 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.15.1
Flutter SDK 2.8.1
firebase_demo 1.0.0+1

dependencies:
- cupertino_icons 1.0.4
- firebase_core 1.11.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutterfire_ui 0.3.1 [cloud_firestore collection crypto desktop_webview_auth email_validator firebase_auth firebase_core firebase_database firebase_dynamic_links flutter flutter_facebook_auth flutter_localizations flutter_svg google_sign_in sign_in_with_apple twitter_login]

dev dependencies:
- firebase_auth 3.3.5 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- flutter_lints 1.0.4 [lints]
- 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]

transitive dependencies:
- async 2.8.2 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.2.0
- charcode 1.3.1
- clock 1.1.0
- cloud_firestore 3.1.6 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cloud_firestore_platform_interface 5.4.11 [collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 2.6.6 [cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- collection 1.15.0
- crypto 3.0.1 [collection typed_data]
- desktop_webview_auth 0.0.2 [crypto flutter http]
- email_validator 2.0.1
- fake_async 1.2.0 [clock collection]
- firebase_auth_platform_interface 6.1.10 [firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 3.3.6 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.2.3 [collection flutter meta plugin_platform_interface]
- firebase_core_web 1.5.3 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_database 9.0.5 [firebase_core firebase_core_platform_interface firebase_database_platform_interface firebase_database_web flutter]
- firebase_database_platform_interface 0.2.0+4 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_database_web 0.2.0+4 [firebase_core firebase_core_web firebase_database_platform_interface flutter flutter_web_plugins js]
- firebase_dynamic_links 4.0.4 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.0+4 [firebase_core flutter meta plugin_platform_interface]
- flutter_facebook_auth 3.5.7 [flutter flutter_facebook_auth_platform_interface flutter_facebook_auth_web]
- flutter_facebook_auth_platform_interface 2.7.1 [flutter plugin_platform_interface]
- flutter_facebook_auth_web 2.6.0+2 [flutter flutter_web_plugins js flutter_facebook_auth_platform_interface]
- flutter_localizations 0.0.0 [flutter intl characters clock collection meta path typed_data vector_math]
- flutter_svg 1.0.3 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- google_sign_in 5.2.3 [flutter google_sign_in_platform_interface google_sign_in_web]
- google_sign_in_platform_interface 2.1.1 [flutter quiver]
- google_sign_in_web 0.10.0+4 [flutter flutter_web_plugins google_sign_in_platform_interface js pedantic]
- http 0.13.4 [async http_parser meta path]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- js 0.6.3
- lints 1.0.1
- matcher 0.12.11 [stack_trace]
- meta 1.7.0
- path 1.8.0
- path_drawing 1.0.0 [vector_math meta path_parsing flutter]
- path_parsing 1.0.0 [vector_math meta]
- pedantic 1.11.1
- petitparser 4.4.0 [meta]
- plugin_platform_interface 2.1.2 [meta]
- quiver 3.0.1+1 [matcher]
- sign_in_with_apple 3.3.0 [flutter meta sign_in_with_apple_platform_interface sign_in_with_apple_web]
- sign_in_with_apple_platform_interface 1.0.0 [flutter plugin_platform_interface meta]
- sign_in_with_apple_web 1.0.1 [flutter flutter_web_plugins sign_in_with_apple_platform_interface js]
- sky_engine 0.0.99
- source_span 1.8.1 [collection path term_glyph]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- string_scanner 1.1.0 [charcode source_span]
- term_glyph 1.2.0
- test_api 0.4.3 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- twitter_login 4.0.1 [flutter crypto http]
- typed_data 1.3.0 [collection]
- vector_math 2.1.1
- xml 5.3.1 [collection meta petitparser]

๐Ÿ› [firebase_ui_auth] Sign in with Apple shows on unsupported iOS versions

Bug report

Sign in with Apple should not be available on iOS prior to version 13.0, as it is not supported.

Steps to reproduce

Steps to reproduce the behavior:

  1. Run SignInScreen() with AppleProvider() on older iOS (tested on 12.5.2)
  2. Tap Sign in with Apple
  3. Log shows "Sign in with Apple was introduced in iOS 13, update your Podfile with platform :ios, '13.0'"
  4. Spinner spins endlessly, App will not sign in

Expected behavior

Sign in with Apple does not show as an option -OR- state handled and error shown


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[โœ“] Flutter (Channel stable, 3.3.9, on macOS 13.0.1 22A400 darwin-arm, locale en-CZ)
[โœ“] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[โœ“] Xcode - develop for iOS and macOS (Xcode 14.1)
[โœ“] Chrome - develop for the web
[โœ“] Android Studio (version 2021.1)
[โœ“] VS Code (version 1.73.1)
[โœ“] Connected device (9 available)
[โœ“] HTTP Host Availability

Flutter dependencies

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

Click To Expand
  firebase_core: ^2.3.0
  cloud_firestore: ^4.1.0
  firebase_storage: ^11.0.6
  firebase_auth: ^4.1.5
  firebase_dynamic_links: ^5.0.6
  firebase_crashlytics: ^3.0.6
  cloud_functions: ^4.0.5
  firebase_app_check: ^0.1.1+5
  firebase_ui_auth: ^1.1.0
  firebase_ui_oauth_apple: ^1.0.7
  firebase_ui_oauth_facebook: ^1.0.7
  firebase_ui_oauth_google: ^1.0.7

๐Ÿ› [firebase_ui_auth] Unhandled exception when registering with a weak password

Bug report

Describe the bug
When registering an account with email and password, an unhandled exception is thrown if the password is weak (less than 6 characters)

Steps to reproduce

Steps to reproduce the behavior:

  1. Click on "Register"
  2. Enter any email and a password shorter than 6 characters
  3. Click on Register

Expected behavior

The followin UI should appear, but no exception is thrown:
Screenshot 2023-05-02 at 11 02 47

Instead, the following exception is thrown:

01 06-weak-password

Sample project

Providing a minimal example project which demonstrates the bug in isolation from your main App greatly enhances the chance of a timely fix.
Please link to the public repository URL.

https://gist.github.com/bizz84/854988eea07a4264d7024f847f8bf070


Additional context

Add any other context about the problem here.


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[โœ“] Flutter (Channel stable, 3.7.0, on macOS 13.2 22D49 darwin-x64, locale en-GB)
[โœ“] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[โœ“] Xcode - develop for iOS and macOS (Xcode 14.3)
[โœ“] Chrome - develop for the web
[โœ“] Android Studio (version 4.2)
[โœ“] VS Code (version 1.77.3)
[โœ“] Connected device (4 available)
[โœ“] HTTP Host Availability

โ€ข No issues found!

Flutter dependencies

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

Click To Expand
Dart SDK 2.19.0
Flutter SDK 3.7.0
simple_auth_flutter_firebase_ui 1.0.0+1

dependencies:
- cupertino_icons 1.0.5
- firebase_auth 4.4.2 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.10.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_ui_auth 1.2.4 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth firebase_ui_shared flutter flutter_localizations flutter_svg]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- flutter_riverpod 2.3.6 [collection flutter meta riverpod state_notifier]
- go_router 7.0.0 [collection flutter flutter_web_plugins logging meta]

dev dependencies:
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:
- _flutterfire_internals 1.1.1 [collection firebase_core firebase_core_platform_interface flutter meta]
- async 2.10.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- characters 1.2.1
- clock 1.1.1
- collection 1.17.0
- crypto 3.0.2 [typed_data]
- desktop_webview_auth 0.0.11 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- firebase_auth_platform_interface 6.13.1 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.3.2 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.6.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.3.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links 5.1.1 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.4+1 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_ui_localizations 1.3.1 [flutter flutter_localizations path]
- firebase_ui_oauth 1.2.4 [desktop_webview_auth firebase_auth firebase_ui_auth firebase_ui_shared flutter_svg flutter]
- firebase_ui_shared 1.2.0 [flutter]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- http 0.13.6 [async http_parser meta]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- js 0.6.5 [meta]
- lints 2.0.1
- logging 1.1.1
- matcher 0.12.13 [meta stack_trace]
- material_color_utilities 0.2.0
- meta 1.8.0
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- petitparser 5.1.0 [meta]
- plugin_platform_interface 2.1.4 [meta]
- riverpod 2.3.6 [meta stack_trace state_notifier]
- sky_engine 0.0.99
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- state_notifier 0.7.2+1 [meta]
- stream_channel 2.1.1 [async]
- string_scanner 1.2.0 [source_span]
- term_glyph 1.2.1
- test_api 0.4.16 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.1 [collection]
- vector_math 2.1.4
- xml 6.2.2 [collection meta petitparser]

๐Ÿ› [flutterfire_ui] Web view occasionally fails to load social logins

Bug report

Describe the bug
The web view of the UI will sometimes fail to load "Sign in with Google" and other social login buttons. I've had this issue in both Chrome and Firefox

Steps to reproduce

Steps to reproduce the behavior:

  1. Go to https://flutterfire-ui.web.app/ in Chrome (I'm using Version 98.0.4758.80 (Official Build) (64-bit) on Ubuntu 20.04)
  2. Load the page - the widgets fail to load:
    image
  3. Hit Ctrl+shift+i to enter developer tools, then reload the page - the widgets now load correctly
    image

Expected behavior

I expect the social widgets to be loaded every time.

Sample project

Luckily, this is reproducible for me on the flutterfire ui storybook at: https://flutterfire-ui.web.app/

๐Ÿ› [firebase_ui_auth] problems with sign-in screen layout

Bug report

See firebase/flutterfire#10431 for files etc.
Issue number 5 in firebase_ui_auth 1.1.10 issues.pdf

There are problems with responsive_page.dart.
There appears to be no way of setting the width of the email/ password text boxes on sign-in or register screens and if you supply a header, it sometimes appears and sometimes doesn't and the breakpoint parameter that can be passed in isn't documented properly. Depending on the width of the browser window, the width of the text boxes is sometimes very wide, which is wrong.

The attached version of responsive_page.dart solves the problems with the layout but it has a hard-coded max width (that probably needs adjusting) for the edit boxes. Trying to use the width values in the theme for the text box widths does nothing.

see also
firebase/flutterfire#10431
#39
#38
#37
https://github.com/firebase/flutterfire/issues/10436

๐Ÿ› [Firebase UI Auth] Error in console (widget tree locked) when signin with blank username

Bug report

When you sign in with username and email, the profile screen comes up. If the username field is blank (unassigned) the work "Name" is shown and the debug console shows
Error: setState() or markNeedsBuild() called when widget tree was locked.

https://clipchamp.com/watch/MsVJLPKlSjE

Steps to reproduce

As above.
Use the example app and firebase ui auth V1.4.2 (or 1.4.0) from pub dev
This is readily reproducible, happens every single time and with multiple apps.
Stack trace is attached.

Expected behavior

No error in the debug console.

Sample project

The example app from pub dev but not using pubspec_overrides.yaml as I had to run the app from outside pub cache so the relative pathnames didn't work.

Additional context

Console log stack trace

Click To Expand
Launching lib\main.dart on Chrome in debug mode...
Waiting for connection from debug service on Chrome...
This app is linked to the debug service: ws://127.0.0.1:51811/
Debug service listening on ws://127.0.0.1:51811/

 Running with sound null safety 
Debug service listening on ws://127.0.0.1:51811/
[GSI_LOGGER-TOKEN_CLIENT]: Instantiated.
Error: setState() or markNeedsBuild() called when widget tree was locked.
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49      throw_
packages/flutter/src/widgets/framework.dart 4636:9                                                                             <fn>
packages/flutter/src/widgets/framework.dart 4645:14                                                                            markNeedsBuild
packages/flutter/src/widgets/framework.dart 1153:5                                                                             setState
packages/firebase_ui_auth/src/widgets/editable_user_display_name.dart 61:7                                                     _finishEditing
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
packages/firebase_ui_auth/src/widgets/editable_user_display_name.dart 50:30                                                    [_finishEditing]
packages/firebase_ui_auth/src/widgets/editable_user_display_name.dart 125:29                                                   <fn>
packages/flutter/src/widgets/editable_text.dart 2773:18                                                                        [_finalizeEditing]
packages/flutter/src/widgets/editable_text.dart 3018:7                                                                         connectionClosed
packages/flutter/src/services/text_input.dart 1892:9                                                                           _handleTextInputInvocation
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
packages/flutter/src/services/text_input.dart 1768:45                                                                          [_handleTextInputInvocation]
packages/flutter/src/services/text_input.dart 1753:20                                                                          _loudlyHandleTextInputInvocation
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
packages/flutter/src/services/text_input.dart 1751:51                                                                          [_loudlyHandleTextInputInvocation]
packages/flutter/src/services/platform_channel.dart 555:55                                                                     _handleAsMethodCall
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
packages/flutter/src/services/platform_channel.dart 552:40                                                                     [_handleAsMethodCall]
packages/flutter/src/services/platform_channel.dart 548:34                                                                     <fn>
packages/flutter/src/services/binding.dart 393:35                                                                              <fn>
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
packages/flutter/src/services/binding.dart 390:98                                                                              <fn>
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/_engine/engine/platform_dispatcher.dart 1199:13                               invoke2
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/ui/channel_buffers.dart 25:12                                                 invoke
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/ui/channel_buffers.dart 65:7                                                  push
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/ui/channel_buffers.dart 131:16                                                push
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/_engine/engine/platform_dispatcher.dart 378:25                                invokeOnPlatformMessage
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/_engine/engine/text_editing/text_editing.dart 2155:39                         onConnectionClosed
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/_engine/engine/text_editing/text_editing.dart 2254:15                         sendTextConnectionClosedToFrameworkIfAny
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/_engine/engine/text_editing/text_editing.dart 1976:16                         run
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/_engine/engine/text_editing/text_editing.dart 2223:12                         acceptCommand
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/_engine/engine/text_editing/text_editing.dart 2105:20                         handleTextInput
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/_engine/engine/platform_dispatcher.dart 512:29                                [_sendPlatformMessage]
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/_engine/engine/platform_dispatcher.dart 324:5                                 sendPlatformMessage
packages/flutter/src/services/binding.dart 370:36                                                                              send
packages/flutter/src/services/platform_channel.dart 308:31                                                                     _invokeMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
packages/flutter/src/services/platform_channel.dart 302:30                                                                     [_invokeMethod]
packages/flutter/src/services/platform_channel.dart 586:3                                                                      [_invokeMethod]
packages/flutter/src/services/platform_channel.dart 585:18                                                                     invokeMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
packages/flutter/src/services/platform_channel.dart 584:29                                                                     invokeMethod
packages/flutter/src/services/text_input.dart 2357:14                                                                          finishAutofillContext
packages/flutter/src/services/text_input.dart 2091:14                                                                          finishAutofillContext
packages/flutter/src/widgets/autofill.dart 240:19                                                                              dispose
packages/flutter/src/widgets/framework.dart 5179:11                                                                            unmount
packages/flutter/src/widgets/framework.dart 1960:12                                                                            [_unmount]
packages/flutter/src/widgets/framework.dart 1958:7                                                                             <fn>
packages/flutter/src/widgets/framework.dart 5020:14                                                                            visitChildren
packages/flutter/src/widgets/framework.dart 1956:12                                                                            [_unmount]
packages/flutter/src/widgets/framework.dart 1958:7                                                                             <fn>
packages/flutter/src/widgets/framework.dart 5020:14                                                                            visitChildren
packages/flutter/src/widgets/framework.dart 1956:12                                                                            [_unmount]

<snip ****************************************************************************************>
packages/flutter/src/widgets/framework.dart 1956:12                                                                            [_unmount]
packages/flutter/src/widgets/framework.dart 1958:7                                                                             <fn>
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/js_array.dart 201:8                 forEach]
packages/flutter/src/widgets/sliver.dart 1653:52                                                                               visitChildren
packages/flutter/src/widgets/framework.dart 1956:12                                                                            [_unmount]
packages/flutter/src/widgets/framework.dart 1958:7                                                                             <fn>
packages/flutter/src/widgets/framework.dart 5020:14                                                                            visitChildren
packages/flutter/src/widgets/framework.dart 1956:12                                                                            [_unmount]
packages/flutter/src/widgets/framework.dart 1958:7                                                                             <fn>
packages/flutter/src/widgets/framework.dart 5020:14                                                                            visitChildren
packages/flutter/src/widgets/framework.dart 1956:12                                                                            [_unmount]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/internal/iterable.dart 39:13                                         forEach
packages/flutter/src/widgets/framework.dart 1969:15                                                                            [_unmountAll]
packages/flutter/src/widgets/framework.dart 2601:15                                                                            lockState
packages/flutter/src/widgets/framework.dart 3023:7                                                                             finalizeTree
packages/flutter/src/widgets/binding.dart 866:7                                                                                drawFrame
packages/flutter/src/rendering/binding.dart 381:5                                                                              [_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart 1289:15                                                                            [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1218:9                                                                             handleDrawFrame
packages/flutter/src/scheduler/binding.dart 1076:5                                                                             [_handleDrawFrame]
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/_engine/engine/platform_dispatcher.dart 1168:13                               invoke
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/_engine/engine/platform_dispatcher.dart 218:5                                 invokeOnDrawFrame
C:/b/s/w/ir/cache/builder/src/out/host_debug/lib/_engine/engine/initialization.dart 190:45                                     <fn>
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 367:37  _checkAndCall
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 372:39  dcall
---

Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[โˆš] Flutter (Channel stable, 3.7.12, on Microsoft Windows [Version 10.0.22621.1702], locale en-NZ)
[โˆš] Windows Version (Installed version of Windows is version 10 or higher)
[โˆš] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[โˆš] Chrome - develop for the web
[โˆš] Visual Studio - develop for Windows (Visual Studio Community 2022 17.4.1)
[โˆš] Android Studio (version 2022.2)
[โˆš] VS Code (version 1.78.2)
[โˆš] VS Code, 64-bit edition (version 1.77.3)
[โˆš] Connected device (3 available)
[โˆš] HTTP Host Availability

โ€ข No issues found!


Flutter dependencies

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

Click To Expand
flutter pub deps -- --style=compact
Dart SDK 2.19.6
Flutter SDK 3.7.12
firebase_ui_auth_example 1.0.0+1

dependencies:
- cupertino_icons 1.0.5
- firebase_auth 4.6.2 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.13.1 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_ui_auth 1.4.2 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth firebase_ui_shared flutter flutter_localizations]
- firebase_ui_localizations 1.5.0 [flutter flutter_localizations path]
- firebase_ui_oauth 1.4.2 [desktop_webview_auth firebase_auth firebase_ui_auth firebase_ui_shared flutter_svg flutter]
- firebase_ui_oauth_apple 1.2.2 [firebase_auth firebase_ui_oauth flutter]
- firebase_ui_oauth_facebook 1.2.2 [firebase_auth firebase_ui_oauth flutter flutter_facebook_auth]
- firebase_ui_oauth_google 1.2.2 [firebase_auth firebase_ui_oauth flutter google_sign_in]
- firebase_ui_oauth_twitter 1.2.2 [flutter firebase_auth firebase_ui_oauth twitter_login]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]

dev dependencies:
- drive 1.0.0-1.0.nullsafety.5 [test_api flutter_test flutter_driver stack_trace flutter]
- firebase_ui_shared 1.3.0 [flutter]
- flutter_driver 0.0.0 [file flutter flutter_test fuchsia_remote_debug_protocol path meta vm_service webdriver archive async boolean_selector characters clock collection crypto js matcher material_color_utilities platform process source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math]
- flutter_facebook_auth 5.0.11 [flutter flutter_facebook_auth_platform_interface flutter_facebook_auth_web facebook_auth_desktop]
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- google_sign_in 6.1.3 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- http 0.13.6 [async http_parser meta]
- integration_test 0.0.0 [flutter flutter_driver flutter_test path vm_service archive async boolean_selector characters clock collection crypto fake_async file js matcher material_color_utilities meta source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math webdriver]
- mockito 5.4.0 [analyzer build code_builder collection dart_style matcher meta path source_gen test_api]
- test 1.22.0 [analyzer async boolean_selector collection coverage http_multi_server io js node_preamble package_config path 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]
- twitter_login 4.4.0 [crypto flutter http]

transitive dependencies:
- _fe_analyzer_shared 61.0.0 [meta]
- _flutterfire_internals 1.3.2 [collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 5.13.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- archive 3.3.2 [crypto path]
- args 2.4.1
- async 2.10.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- build 2.4.0 [analyzer async convert crypto glob logging meta package_config path]
- built_collection 5.1.1
- built_value 8.6.0 [built_collection collection fixnum meta]
- characters 1.2.1
- clock 1.1.1
- code_builder 4.4.0 [built_collection built_value collection matcher meta]
- collection 1.17.0
- convert 3.1.1 [typed_data]
- coverage 1.6.3 [args logging package_config path source_maps stack_trace vm_service]
- crypto 3.0.2 [typed_data]
- dart_style 2.3.1 [analyzer args path pub_semver source_span]
- desktop_webview_auth 0.0.12 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- email_validator 2.1.17
- facebook_auth_desktop 0.0.9 [flutter http flutter_secure_storage flutter_facebook_auth_platform_interface]
- fake_async 1.3.1 [clock collection]
- file 6.1.4 [meta path]
- firebase_auth_platform_interface 6.15.2 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.5.2 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser js meta]
- firebase_core_platform_interface 4.8.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.5.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links 5.3.2 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.6+2 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- fixnum 1.1.0
- flutter_facebook_auth_platform_interface 4.1.1 [flutter plugin_platform_interface]
- flutter_facebook_auth_web 4.1.1 [flutter flutter_web_plugins js flutter_facebook_auth_platform_interface]
- flutter_secure_storage 8.0.0 [flutter flutter_secure_storage_linux flutter_secure_storage_macos flutter_secure_storage_platform_interface flutter_secure_storage_web flutter_secure_storage_windows meta]
- flutter_secure_storage_linux 1.1.3 [flutter flutter_secure_storage_platform_interface]
- flutter_secure_storage_macos 3.0.0 [flutter flutter_secure_storage_platform_interface]
- flutter_secure_storage_platform_interface 1.0.1 [flutter plugin_platform_interface]
- flutter_secure_storage_web 1.1.1 [flutter flutter_secure_storage_platform_interface flutter_web_plugins js]
- flutter_secure_storage_windows 2.0.0 [flutter flutter_secure_storage_platform_interface]
- flutter_svg 2.0.5 [flutter vector_graphics vector_graphics_codec vector_graphics_compiler]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 3.2.0 [async path]
- fuchsia_remote_debug_protocol 0.0.0 [process vm_service file meta path platform]
- glob 2.1.2 [async collection file path string_scanner]
- google_identity_services_web 0.2.1 [js meta]
- google_sign_in_android 6.1.14 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.6.2 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.4.1 [flutter plugin_platform_interface quiver]
- google_sign_in_web 0.12.0+1 [flutter flutter_web_plugins google_identity_services_web google_sign_in_platform_interface http js]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- io 1.0.4 [meta path string_scanner]
- js 0.6.5 [meta]
- lints 2.0.1
- logging 1.2.0
- matcher 0.12.13 [meta stack_trace]
- material_color_utilities 0.2.0
- meta 1.8.0
- mime 1.0.4
- node_preamble 2.0.2
- package_config 2.1.0 [path]
- path 1.8.2
- path_parsing 1.0.1 [vector_math meta]
- petitparser 5.1.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.4 [meta]
- pool 1.5.1 [async stack_trace]
- process 4.2.4 [file path platform]
- pub_semver 2.1.4 [collection meta]
- quiver 3.2.1 [matcher]
- shelf 1.4.1 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 3.0.2 [path shelf shelf_static]
- shelf_static 1.1.2 [convert http_parser mime path shelf]
- shelf_web_socket 1.0.4 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_gen 1.3.2 [analyzer async build dart_style glob path source_span yaml]
- source_map_stack_trace 2.1.1 [path source_maps stack_trace]
- source_maps 0.10.12 [source_span]
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- stream_channel 2.1.1 [async]
- string_scanner 1.2.0 [source_span]
- sync_http 0.3.1
- term_glyph 1.2.1
- test_api 0.4.16 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.4.20 [analyzer async args boolean_selector collection coverage frontend_server_client glob io meta package_config path pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- typed_data 1.3.1 [collection]
- vector_graphics 1.1.5 [flutter vector_graphics_codec]
- vector_graphics_codec 1.1.5
- vector_graphics_compiler 1.1.5 [args meta path_parsing xml vector_graphics_codec]
- vector_math 2.1.4
- vm_service 9.4.0
- watcher 1.0.2 [async path]
- web_socket_channel 2.4.0 [async crypto stream_channel]
- webdriver 3.0.1 [archive matcher path stack_trace sync_http]
- webkit_inspection_protocol 1.2.0 [logging]
- xml 6.2.2 [collection meta petitparser]
- yaml 3.1.2 [collection source_span string_scanner]
PS C:\GP\project\bridge_app\ui-auth-example\example> 


stacktrace.txt

๐Ÿ› [firebase_ui_auth] localization not implimented for FirebaseAuthException

Bug report

Describe the bug
Firebase FirebaseAuthException caught during submitting forms (sign-in / forgot password / registeration) do not have localization implimented.

Steps to reproduce

Steps to reproduce the behavior:

  1. Follow steps to install firebase_ui_auth to app.
  2. Add SignInScreen widget to app.
  3. Follow steps for adding firebase_ui_localizations to app.
  4. Run app and fill out test email and password for login / test email for registeration / forgot password forms.
  5. 'Error' should be visible, however, it will not be localized / translated to target language.

Expected behavior

Error should be translated / localized.

Additional context

Photo added to show no localisation of errors returned from submitting forms:
image


Flutter doctor

Click To Expand

Doctor summary (to see all details, run flutter doctor -v):
[โˆš] Flutter (Channel stable, 3.3.10, on Microsoft Windows [Version 10.0.22000.1335], locale en-GB)
[โˆš] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[โˆš] Chrome - develop for the web
[โˆš] Visual Studio - develop for Windows (Visual Studio Community 2022 17.1.0)
[โˆš] Android Studio (version 2021.1)
[โˆš] VS Code (version 1.74.2)
[โˆš] Connected device (3 available)
[โˆš] HTTP Host Availability

โ€ข No issues found!


Flutter dependencies

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

Click To Expand

Dart SDK 2.18.6
Flutter SDK 3.3.10
basic_app 1.0.0+1

dependencies:

  • firebase_auth 4.2.5 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
  • firebase_core 2.4.1 [firebase_core_platform_interface firebase_core_web flutter meta]
  • firebase_dynamic_links 5.0.11 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
  • firebase_ui_auth 1.1.7 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth flutter flutter_localizations flutter_svg]
  • flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
  • flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math]
  • flutter_login 4.1.1 [another_flushbar another_transformer_page_view flutter font_awesome_flutter provider quiver sign_in_button url_launcher]
  • flutter_platform_widgets 2.0.0 [flutter]
  • font_awesome_flutter 10.3.0 [flutter]
  • provider 6.0.5 [collection flutter nested]

dev dependencies:

  • flutter_lints 2.0.1 [lints]
  • flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:

  • _flutterfire_internals 1.0.12 [collection firebase_core firebase_core_platform_interface flutter meta]
  • another_flushbar 1.12.29 [flutter]
  • another_transformer_page_view 2.0.1 [flutter]
  • async 2.9.0 [collection meta]
  • boolean_selector 2.1.0 [source_span string_scanner]
  • characters 1.2.1
  • clock 1.1.1
  • collection 1.16.0
  • crypto 3.0.2 [typed_data]
  • desktop_webview_auth 0.0.11 [crypto flutter http flutter_web_plugins plugin_platform_interface]
  • email_validator 2.1.17
  • fake_async 1.3.1 [clock collection]
  • firebase_auth_platform_interface 6.11.7 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
  • firebase_auth_web 5.2.4 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
  • firebase_core_platform_interface 4.5.2 [collection flutter flutter_test meta plugin_platform_interface]
  • firebase_core_web 2.1.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
  • firebase_dynamic_links_platform_interface 0.2.3+26 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
  • firebase_ui_localizations 1.0.2 [flutter flutter_localizations intl path]
  • firebase_ui_oauth 1.1.7 [desktop_webview_auth firebase_auth firebase_ui_auth flutter_svg flutter]
  • flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
  • flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
  • http 0.13.5 [async http_parser meta path]
  • http_parser 4.0.2 [collection source_span string_scanner typed_data]
  • intl 0.17.0 [clock path]
  • js 0.6.4
  • lints 2.0.1
  • matcher 0.12.12 [stack_trace]
  • material_color_utilities 0.1.5
  • meta 1.8.0
  • nested 1.0.0 [flutter]
  • path 1.8.2
  • path_drawing 1.0.1 [vector_math meta path_parsing flutter]
  • path_parsing 1.0.1 [vector_math meta]
  • petitparser 5.1.0 [meta]
  • plugin_platform_interface 2.1.3 [meta]
  • quiver 3.2.1 [matcher]
  • sign_in_button 3.1.0 [flutter font_awesome_flutter]
  • sky_engine 0.0.99
  • source_span 1.9.0 [collection path term_glyph]
  • stack_trace 1.10.0 [path]
  • stream_channel 2.1.0 [async]
  • string_scanner 1.1.1 [source_span]
  • term_glyph 1.2.1
  • test_api 0.4.12 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
  • typed_data 1.3.1 [collection]
  • url_launcher 6.1.7 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
  • url_launcher_android 6.0.22 [flutter url_launcher_platform_interface]
  • url_launcher_ios 6.0.17 [flutter url_launcher_platform_interface]
  • url_launcher_linux 3.0.1 [flutter url_launcher_platform_interface]
  • url_launcher_macos 3.0.1 [flutter url_launcher_platform_interface]
  • url_launcher_platform_interface 2.1.1 [flutter plugin_platform_interface]
  • url_launcher_web 2.0.13 [flutter flutter_web_plugins url_launcher_platform_interface]
  • url_launcher_windows 3.0.1 [flutter url_launcher_platform_interface]
  • vector_math 2.1.2
  • xml 6.1.0 [collection meta petitparser]

๐Ÿ› [firebase_ui_auth] SMSCodeInputScreen displays overflow error when an error message is displayed

Bug report

Describe the bug
SMSCodeInputScreen of phone login shows a render overflow error when an error message is displayed on entering an incorrect code. Have tried this on web, not on mobile.

Steps to reproduce

Steps to reproduce the behavior:

  1. Create a login with phone provider as shown in the firebase_ui_auth example
  2. Launch the app from IDE with Chrome as target device. Extend the browser window horizontally so that the phone icon and form are displayed side-by-side
  3. Enter a valid/test phone number on the phone input screen and click Next
  4. Enter an invalid code on code input screen and click Next
  5. An error message is displayed under the code input and an overflow error appears for the buttons. If you don't see the error, extend the browser window horizontally. The overflow only appears for me after the window is >= 776px wide

sms code overflow

Expected behavior

No render error


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
[โˆš] Flutter (Channel stable, 3.3.10, on Microsoft Windows [Version 10.0.19045.2364], locale en-US)
[โˆš] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[โˆš] Chrome - develop for the web
[X] Visual Studio - develop for Windows
    X Visual Studio not installed; this is necessary for Windows development.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components
[โˆš] Android Studio (version 2021.2)
[โˆš] VS Code (version 1.63.2)
[โˆš] Connected device (3 available)
[โˆš] HTTP Host Availability

! 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.18.6
Flutter SDK 3.3.10
testapp 1.0.0+1

dependencies:
- cloud_firestore 4.3.0 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cupertino_icons 1.0.5
- firebase_auth 4.2.3 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.4.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_ui_auth 1.1.5 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth flutter flutter_localizations flutter_svg]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- go_router 6.0.0 [collection flutter flutter_web_plugins logging meta]

dev dependencies:
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection matcher material_color_utilities meta source_span stre
am_channel string_scanner term_glyph]

transitive dependencies:
- _flutterfire_internals 1.0.11 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- async 2.9.0 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.2.1
- clock 1.1.1
- cloud_firestore_platform_interface 5.10.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.2.0 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- collection 1.16.0
- crypto 3.0.2 [typed_data]
- desktop_webview_auth 0.0.11 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- firebase_auth_platform_interface 6.11.6 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.2.3 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.5.2 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.0.2 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links 5.0.10 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.3+25 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_ui_localizations 1.0.2 [flutter flutter_localizations intl path]
- firebase_ui_oauth 1.1.5 [desktop_webview_auth firebase_auth firebase_ui_auth flutter_svg flutter]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- http 0.13.5 [async http_parser meta path]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- js 0.6.4
- lints 2.0.1
- logging 1.1.0
- matcher 0.12.12 [stack_trace]
- material_color_utilities 0.1.5
- meta 1.8.0
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- petitparser 5.1.0 [meta]
- plugin_platform_interface 2.1.3 [meta]
- sky_engine 0.0.99
- source_span 1.9.0 [collection path term_glyph]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- string_scanner 1.1.1 [source_span]
- term_glyph 1.2.1
- test_api 0.4.12 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.1 [collection]
- vector_math 2.1.2
- xml 6.1.0 [collection meta petitparser]

โ˜‚๏ธ add firebase storage support for Linux and Windows

This is an umbrella issue for firebase_storage implementation in flutterfire_desktop

Development branch: feat/storage

Todos:

Firebase Storage Dart

Pure dart implementation of firebase_storage APIs

  • list()
  • listAll()
  • getData()
  • getMetadata()
  • updateMetadata(SettableMetadata metadata)
  • putData(Uint8List data)
  • putFile(File file)
    • single multipart request upload for small files
    • resumable chunked uploads for large files
  • putString(String string)
  • writeToFile(File file)
    • resumable downloads
  • interop with Firebase Auth
  • download/upload operations retry mechanism

Windows and Linux federated plugins

  • federated plugin for macOS (for development purposes)
  • federated plugin for Linux
  • federated plugin for Windows
  • example app
  • e2e tests

๐Ÿ› [Firebase_UI_Auth] Verification message text not visible in Profile Screen due to wrong color

Bug report

Describe the bug
In the Profile Screen, the email verification message is not visible in Dark Mode.
My app color theme is yellow, and the background of the message is also very light colored as is the text, and it is not clearly visible.

Steps to reproduce

Steps to reproduce the behavior:

  1. Create a flutter project
  2. Set the flutter theme useMaterial3: true, and colorScheme to ColorScheme.fromSeed(brightness: Brightness.dark, seedColor: Colors.yellow)
  3. Use Firebase UI Auth to Log In and then display the Profile Screen
  4. See the rendering issue

Expected behavior

The text adapts to be always visible in any condition.

Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[โˆš] Flutter (Channel stable, 3.10.0, on Microsoft Windows [Version 10.0.22621.1702], locale es-ES)
[โˆš] Windows Version (Installed version of Windows is version 10 or higher)
[โˆš] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[โˆš] Chrome - develop for the web
[โˆš] Visual Studio - develop for Windows (Visual Studio Community 2019 16.8.2)
[โˆš] Android Studio (version 2022.1)
[โˆš] VS Code (version 1.78.2)
[โˆš] Connected device (5 available)
[โˆš] Network resources

โ€ข No issues found!

Flutter dependencies

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

Click To Expand
dependencies:
- animated_text_kit 4.2.2 [flutter characters]
- cloud_firestore 4.7.0 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- connectivity_plus 4.0.0 [flutter flutter_web_plugins connectivity_plus_platform_interface js meta nm]
- dynamic_color 1.6.5 [flutter flutter_test material_color_utilities]
- firebase_analytics 10.4.0 [firebase_analytics_platform_interface firebase_analytics_web firebase_core firebase_core_platform_interface flutter]
- firebase_app_check 0.1.4 [firebase_app_check_platform_interface firebase_app_check_web firebase_core firebase_core_platform_interface flutter]
- firebase_auth 4.6.0 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.12.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 3.3.0 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_performance 0.9.2 [firebase_core firebase_core_platform_interface firebase_performance_platform_interface firebase_performance_web flutter]
- firebase_remote_config 4.2.0 [firebase_core firebase_core_platform_interface firebase_remote_config_platform_interface firebase_remote_config_web flutter]
- firebase_storage 11.2.0 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- firebase_ui_auth 1.4.0 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth firebase_ui_shared flutter flutter_localizations flutter_svg]
- firebase_ui_oauth_apple 1.2.0 [firebase_auth firebase_ui_oauth flutter]
- firebase_ui_oauth_google 1.2.0 [firebase_auth firebase_ui_oauth flutter google_sign_in]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- flutter_animate 4.1.1+1 [flutter]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]
- go_router 7.0.1 [collection flutter flutter_web_plugins logging meta]
- google_fonts 4.0.4 [flutter http path_provider crypto]
- google_sign_in 6.1.0 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- provider 6.0.5 [collection flutter nested]
- shared_preferences 2.1.1 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- url_launcher 6.1.11 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]

dev dependencies:
- dependency_validator 3.2.2 [args build_config checked_yaml glob io json_annotation logging package_config path pub_semver pubspec_parse yaml]
- flutter_lints 2.0.1 [lints]
- flutter_native_splash 2.2.19 [args flutter flutter_web_plugins js html image meta path universal_io xml yaml]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:
- _flutterfire_internals 1.3.0 [collection firebase_core firebase_core_platform_interface flutter meta]
- archive 3.3.7 [crypto path pointycastle]
- args 2.4.1
- async 2.11.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- build_config 1.1.1 [checked_yaml json_annotation path pubspec_parse yaml]
- characters 1.3.0
- checked_yaml 2.0.3 [json_annotation source_span yaml]
- clock 1.1.1
- cloud_firestore_platform_interface 5.14.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.5.0 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- collection 1.17.1
- connectivity_plus_platform_interface 1.2.4 [flutter meta plugin_platform_interface]
- convert 3.1.1 [typed_data]
- crypto 3.0.3 [typed_data]
- csslib 0.17.2 [source_span]
- dbus 0.7.8 [args ffi meta xml]
- desktop_webview_auth 0.0.12 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- ffi 2.0.2
- file 6.1.4 [meta path]
- firebase_analytics_platform_interface 3.6.0 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_analytics_web 0.5.4 [_flutterfire_internals firebase_analytics_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- firebase_app_check_platform_interface 0.0.8 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_app_check_web 0.0.10 [_flutterfire_internals firebase_app_check_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- firebase_auth_platform_interface 6.15.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.5.0 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser js meta]
- firebase_core_platform_interface 4.8.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.5.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.6.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_dynamic_links 5.3.0 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.6 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_performance_platform_interface 0.1.4 [_flutterfire_internals firebase_core flutter plugin_platform_interface]
- firebase_performance_web 0.1.4 [_flutterfire_internals firebase_core firebase_core_web firebase_performance_platform_interface flutter flutter_web_plugins js]
- firebase_remote_config_platform_interface 1.4.0 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_remote_config_web 1.4.0 [firebase_core firebase_core_web firebase_remote_config_platform_interface flutter flutter_web_plugins js]
- firebase_storage_platform_interface 4.4.0 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 3.6.0 [_flutterfire_internals async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- firebase_ui_localizations 1.5.0 [flutter flutter_localizations path]
- firebase_ui_oauth 1.4.0 [desktop_webview_auth firebase_auth firebase_ui_auth firebase_ui_shared flutter_svg flutter]
- firebase_ui_shared 1.3.0 [flutter]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- glob 2.1.1 [async collection file path string_scanner]
- google_identity_services_web 0.2.1 [js meta]
- google_sign_in_android 6.1.14 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.6.2 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.4.0 [flutter plugin_platform_interface quiver]
- google_sign_in_web 0.12.0 [flutter flutter_web_plugins google_identity_services_web google_sign_in_platform_interface http js]
- html 0.15.3 [csslib source_span]
- http 0.13.6 [async http_parser meta]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- image 4.0.17 [archive meta xml]
- intl 0.18.0 [clock meta path]
- io 1.0.4 [meta path string_scanner]
- js 0.6.7 [meta]
- json_annotation 4.8.1 [meta]
- lints 2.1.0
- logging 1.1.1
- matcher 0.12.15 [async meta stack_trace term_glyph test_api]
- material_color_utilities 0.2.0
- meta 1.9.1
- nested 1.0.0 [flutter]
- nm 0.5.0 [dbus]
- package_config 2.1.0 [path]
- path 1.8.3
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider 2.0.15 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- path_provider_android 2.0.27 [flutter path_provider_platform_interface]
- path_provider_foundation 2.2.3 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.10 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.0.6 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.6 [ffi flutter path path_provider_platform_interface win32]
- petitparser 5.4.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.4 [meta]
- pointycastle 3.7.3 [collection convert js]
- process 4.2.4 [file path platform]
- pub_semver 2.1.4 [collection meta]
- pubspec_parse 1.2.3 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.2.1 [matcher]
- shared_preferences_android 2.1.4 [flutter shared_preferences_platform_interface]
- shared_preferences_foundation 2.2.2 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.2.0 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.2.0 [flutter plugin_platform_interface]
- shared_preferences_web 2.1.0 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.2.0 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- sky_engine 0.0.99
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- stream_channel 2.1.1 [async]
- string_scanner 1.2.0 [source_span]
- term_glyph 1.2.1
- test_api 0.5.1 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.2 [collection]
- universal_io 2.2.0 [collection meta typed_data]
- url_launcher_android 6.0.33 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.1.4 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.0.5 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.0.5 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.1.2 [flutter plugin_platform_interface]
- url_launcher_web 2.0.16 [flutter flutter_web_plugins url_launcher_platform_interface]
- url_launcher_windows 3.0.6 [flutter url_launcher_platform_interface]
- vector_math 2.1.4
- win32 4.1.4 [ffi]
- xdg_directories 1.0.0 [meta path process]
- xml 6.3.0 [collection meta petitparser]
- yaml 3.1.2 [collection source_span string_scanner]

[firebase_ui_storage] upload/download intents and actions for custom UIs

Firebase UI should provide intents and actions that could be used directly by custom UIs.

Example:

class MyApp extends StatelessWidget {
  Widget build(BuildContext context) {
      return Actions(
        actions: {
          UploadFileIntent: UploadFileAction(), // <- from 'package:firebase_ui_storage/firebase_ui_storage.dart'
        },
        ...
      )
   }
}

class MyCustomView extends StatelessWidget {
  Widget build(BuildContext context) {
    return ElevatedButton(onPressed: () async {
      final file = await pickFile();
      Actions.invoke(UploadFileIntent(file));
    }, ...);
  }
}

๐Ÿ› [firebase_ui_auth] Displayed error messages should be for the user and not the developer

Bug report

Describe the bug
On entering an incorrect phone login code, SMSCodeInputScreen shows a message telling the developer what to do rather than the end user.

Steps to reproduce

Steps to reproduce the behavior:

  1. Create a login with phone provider as shown in the firebase_ui_auth example and launch the app
  2. Enter a valid/test phone number on the phone input screen and click Next
  3. Enter an invalid code on code input screen and click Next
  4. The displayed error message tells the developer what to do

sms code error

Expected behavior

A user message e.g. 'Invalid code'


Additional context

Developer messages should not be displayed in any scenario, not just this one


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
[โˆš] Flutter (Channel stable, 3.3.10, on Microsoft Windows [Version 10.0.19045.2364], locale en-US)
[โˆš] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[โˆš] Chrome - develop for the web
[X] Visual Studio - develop for Windows
    X Visual Studio not installed; this is necessary for Windows development.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components
[โˆš] Android Studio (version 2021.2)
[โˆš] VS Code (version 1.63.2)
[โˆš] Connected device (3 available)
[โˆš] HTTP Host Availability

! 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.18.6
Flutter SDK 3.3.10
testapp 1.0.0+1

dependencies:
- cloud_firestore 4.3.0 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cupertino_icons 1.0.5
- firebase_auth 4.2.3 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.4.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_ui_auth 1.1.5 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth flutter flutter_localizations flutter_svg]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- go_router 6.0.0 [collection flutter flutter_web_plugins logging meta]

dev dependencies:
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection matcher material_color_utilities meta source_span stre
am_channel string_scanner term_glyph]

transitive dependencies:
- _flutterfire_internals 1.0.11 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- async 2.9.0 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.2.1
- clock 1.1.1
- cloud_firestore_platform_interface 5.10.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.2.0 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- collection 1.16.0
- crypto 3.0.2 [typed_data]
- desktop_webview_auth 0.0.11 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- firebase_auth_platform_interface 6.11.6 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.2.3 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.5.2 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.0.2 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links 5.0.10 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.3+25 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_ui_localizations 1.0.2 [flutter flutter_localizations intl path]
- firebase_ui_oauth 1.1.5 [desktop_webview_auth firebase_auth firebase_ui_auth flutter_svg flutter]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- http 0.13.5 [async http_parser meta path]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- js 0.6.4
- lints 2.0.1
- logging 1.1.0
- matcher 0.12.12 [stack_trace]
- material_color_utilities 0.1.5
- meta 1.8.0
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- petitparser 5.1.0 [meta]
- plugin_platform_interface 2.1.3 [meta]
- sky_engine 0.0.99
- source_span 1.9.0 [collection path term_glyph]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- string_scanner 1.1.1 [source_span]
- term_glyph 1.2.1
- test_api 0.4.12 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.1 [collection]
- vector_math 2.1.2
- xml 6.1.0 [collection meta petitparser]

๐Ÿ› [firebase_ui_auth] "Magic Link" AuthStateChangeAction<SignedIn> not being fired

Bug report

Describe the bug
Official example at firebase/flutterfire/packages/firebase_ui_auth/example/main.dart does not work: clicking the link in iPhone 14 Simulator "Safari" application accessing Gmail shows error message, and the callback AuthStateChangeAction not being fired

I am using updated "master" branch today, with all recent changes, but I initially noticed this issue weeks ago. Finally resolved by "workaround" (see below).

Steps to reproduce

Steps to reproduce the behavior:

  1. Go to firebase/flutterfire/packages/firebase_ui_auth/example/main.dart
  2. add debug line 252 `print("successfully signed in");(see screenshot)
  3. run with iPhone 14 Pro iOS 16.2 simulator
  4. try to use "Sign in with magic link"
  5. Open "Safari", access GMail, click the link (see screenshot)
  6. Redirect error message in Safari (see screenshot)

Expected behavior

  1. After clicking Email "magic link" from the mobile device, Example application should automatically open and redirect to "/" route
  2. AuthStateChangeAction being fired
  3. Android Studio console should show debug message "successfully signed in"

Sample project

Official firebase/flutterfire/packages/firebase_ui_auth/example/main.dart with one-line debug message change (see attached)


Additional context

Note that I was able to fix this issue by workaround:
FirebaseAuth.instance.authStateChanges().listen((user) { if (FirebaseAuth.instance.currentUser != null) { Get.offAllNamed(HomeScreen.routeName); } });

  • and it works just perfect: clicking link from Safari's "GMail" will automatically open my application's "Home" screen.

Note also that example application will be already authenticated, but to find this you need to explicitly close it and open again.

Please provide also step-by-step guide on how to configure IOS and Android to make it work: <key>FirebaseDeepLinkPasteboardRetrievalEnabled</key> and etc.; it is not documented at all with the example application, including necessary Firebase "dynamic links", App Store, and other settings. README.md has only 17 lines but we need detailed step-by-step guide.

Thank you!

Simulator Screen Shot - iPhone 14 Pro - 2023-02-28 at 09 32 55

Simulator Screen Shot - iPhone 14 Pro - 2023-02-28 at 09 28 04

Screenshot 2023-02-28 at 9 56 00 AM

Missing password field's error translation "Password should be at least 6 characters"

Bug report

Missing password field's error translation "Password should be at least 6 characters"
Currently on firebase auth ui is not possible to override the value of "Password should be at least 6 characters" in order to translate it to another language.

Steps to reproduce

Steps to reproduce the behavior:

  1. Go to Registration screen
  2. On password and confirm password fields enter a value shorter than 6 characters
  3. Press Sign up button
  4. See error message "Password should be at least 6 characters"

Expected behavior

It has to be possible to override the value "Password should be at least 6 characters" for example:

// label_overrides.dart

  const LabelOverrides(this.appLocalizations);

  @override
  String get passwordMinCharactersErrorText => appLocalizations.passwordMinCharactersErrorText;

Flutter dependencies

firebase_ui_auth: ^1.4.0

IMG_20230525_092626

๐Ÿ› [flutterfire_ui_auth] showReauthenticateDialog have unexpected interaction with app Theme

Bug report

showReauthenticateDialog is not printing any text in reauthenticate button when the user is signed by email and using a theme with:

colorScheme: ColorScheme.light(
primary: Colors.white
)

Describe the bug
The problem is that if I need to put that primary color to white I don't have a chance to change the background of the button as it is a clipRect. At least I can't find the way.

Steps to reproduce

Steps to reproduce the behavior:

  1. Add an AppTheme with the ColorScheme as above
  2. Sign up using email and password
  3. Try to reauthenticate using showReauthenticateDialog

Expected behavior

The text in the button on the bottom should be displayed or at least have the chance to change the background color of the button.

Additional context

Add any other context about the problem here.


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[โœ“] Flutter (Channel stable, 3.7.11, on macOS 13.3.1 22E261 darwin-arm64, locale es-ES)
[โœ“] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[โœ“] Xcode - develop for iOS and macOS (Xcode 14.3)
[โœ“] Chrome - develop for the web
[โœ“] Android Studio (version 2022.1)
[โœ“] VS Code (version 1.77.3)
[โœ“] Connected device (3 available)
[โœ“] HTTP Host Availability

โ€ข No issues found!

Flutter dependencies

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

Click To Expand
Dart SDK 2.19.6
Flutter SDK 3.7.11
tattoo_discovery 4.0.5+23

dependencies:
- _fe_analyzer_shared 58.0.0 [meta]
- animations 2.0.7 [flutter]
- auto_route 6.3.0 [flutter path collection meta]
- carousel_slider 4.2.1 [flutter]
- cloud_firestore 4.5.2 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cloud_functions 4.1.1 [cloud_functions_platform_interface cloud_functions_web firebase_core firebase_core_platform_interface flutter]
- connectivity_plus 3.0.4 [flutter flutter_web_plugins connectivity_plus_platform_interface js meta nm]
- firebase_analytics 10.2.1 [firebase_analytics_platform_interface firebase_analytics_web firebase_core firebase_core_platform_interface flutter]
- firebase_auth 4.4.2 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.10.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 3.1.1 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_messaging 14.4.1 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- firebase_performance 0.9.1+1 [firebase_core firebase_core_platform_interface firebase_performance_platform_interface firebase_performance_web flutter]
- firebase_remote_config 4.0.1 [firebase_core firebase_core_platform_interface firebase_remote_config_platform_interface firebase_remote_config_web flutter]
- firebase_ui_auth 1.2.2 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth firebase_ui_shared flutter flutter_localizations flutter_svg]
- firebase_ui_oauth_apple 1.1.2 [firebase_auth firebase_ui_oauth flutter]
- firebase_ui_oauth_google 1.1.2 [firebase_auth firebase_ui_oauth flutter google_sign_in]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- flutter_local_notifications 14.0.0-dev.4 [clock flutter flutter_local_notifications_linux flutter_local_notifications_platform_interface timezone]
- flutter_markdown 0.6.14 [flutter markdown meta path]
- flutter_native_splash 2.2.19 [args flutter flutter_web_plugins js html image meta path universal_io xml yaml]
- geolocator 9.0.2 [flutter geolocator_platform_interface geolocator_android geolocator_apple geolocator_web geolocator_windows]
- get_it 7.2.0 [async collection]
- global_configuration 2.0.0-nullsafety.1 [flutter http]
- google_fonts 4.0.3 [flutter http path_provider crypto]
- google_maps_flutter 2.2.5 [flutter google_maps_flutter_android google_maps_flutter_ios google_maps_flutter_platform_interface]
- google_mobile_ads 2.4.0 [meta flutter visibility_detector]
- google_sign_in 6.1.0 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- http 0.13.5 [async http_parser meta path]
- image_gallery_saver 1.7.1 [flutter]
- in_app_purchase 3.1.5 [flutter in_app_purchase_android in_app_purchase_platform_interface in_app_purchase_storekit]
- in_app_purchase_platform_interface 1.3.3 [flutter plugin_platform_interface]
- in_app_review 2.0.6 [flutter in_app_review_platform_interface]
- injectable 2.1.1 [get_it]
- intl 0.17.0 [clock path]
- introduction_screen 3.1.7 [flutter dots_indicator collection flutter_keyboard_visibility]
- path_provider 2.0.14 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- permission_handler 10.2.0 [flutter meta permission_handler_android permission_handler_apple permission_handler_windows permission_handler_platform_interface]
- share_plus 6.3.2 [cross_file meta mime flutter flutter_web_plugins share_plus_platform_interface file url_launcher_web url_launcher_windows url_launcher_linux url_launcher_platform_interface ffi win32]
- shared_preferences 2.1.0 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- showcaseview 2.0.3 [flutter]
- sign_in_with_apple 4.3.0 [flutter meta sign_in_with_apple_platform_interface sign_in_with_apple_web]
- stacked 3.2.1 [flutter get_it meta provider collection stacked_shared universal_io path]
- url_launcher 6.1.10 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]

dev dependencies:
- auto_route_generator 6.2.0 [build source_gen analyzer path build_runner code_builder dart_style xml args glob auto_route]
- build_runner 2.3.3 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- injectable_generator 2.1.5 [build source_gen path glob analyzer code_builder dart_style injectable collection recase]

transitive dependencies:
- _flutterfire_internals 1.1.1 [collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 5.10.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- archive 3.3.7 [crypto path pointycastle]
- args 2.4.0
- async 2.10.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- build 2.3.1 [analyzer async convert crypto glob logging meta path]
- build_config 1.1.1 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.1.1 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.2.0 [analyzer async build collection crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.7 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.4.4 [built_collection collection fixnum meta]
- characters 1.2.1
- checked_yaml 2.0.2 [json_annotation source_span yaml]
- clock 1.1.1
- cloud_firestore_platform_interface 5.12.1 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.4.2 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- cloud_functions_platform_interface 5.2.1 [firebase_core flutter meta plugin_platform_interface]
- cloud_functions_web 4.4.1 [cloud_functions_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.4.0 [built_collection built_value collection matcher meta]
- collection 1.17.0
- connectivity_plus_platform_interface 1.2.4 [flutter meta plugin_platform_interface]
- convert 3.1.1 [typed_data]
- cross_file 0.3.3+4 [js meta]
- crypto 3.0.2 [typed_data]
- csslib 0.17.2 [source_span]
- dart_style 2.3.0 [analyzer args path pub_semver source_span]
- dbus 0.7.8 [args ffi meta xml]
- desktop_webview_auth 0.0.11 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- dots_indicator 2.1.0 [flutter]
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- ffi 2.0.1
- file 6.1.4 [meta path]
- firebase_analytics_platform_interface 3.4.1 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_analytics_web 0.5.2+1 [_flutterfire_internals firebase_analytics_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- firebase_auth_platform_interface 6.13.1 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.3.2 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.6.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.3.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.4.1 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_dynamic_links 5.1.1 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.4+1 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_platform_interface 4.3.1 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 3.3.1 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta]
- firebase_performance_platform_interface 0.1.2+1 [_flutterfire_internals firebase_core flutter plugin_platform_interface]
- firebase_performance_web 0.1.2+1 [_flutterfire_internals firebase_core firebase_core_web firebase_performance_platform_interface flutter flutter_web_plugins js]
- firebase_remote_config_platform_interface 1.2.1 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_remote_config_web 1.2.1 [firebase_core firebase_core_web firebase_remote_config_platform_interface flutter flutter_web_plugins js]
- firebase_ui_localizations 1.3.0 [flutter flutter_localizations intl path]
- firebase_ui_oauth 1.2.2 [desktop_webview_auth firebase_auth firebase_ui_auth firebase_ui_shared flutter_svg flutter]
- firebase_ui_shared 1.2.0 [flutter]
- fixnum 1.1.0
- flutter_keyboard_visibility 5.4.0 [meta flutter_keyboard_visibility_platform_interface flutter_keyboard_visibility_linux flutter_keyboard_visibility_macos flutter_keyboard_visibility_web flutter_keyboard_visibility_windows flutter]
- flutter_keyboard_visibility_linux 1.0.0 [flutter_keyboard_visibility_platform_interface flutter]
- flutter_keyboard_visibility_macos 1.0.0 [flutter_keyboard_visibility_platform_interface flutter]
- flutter_keyboard_visibility_platform_interface 2.0.0 [flutter meta plugin_platform_interface]
- flutter_keyboard_visibility_web 2.0.0 [flutter_keyboard_visibility_platform_interface flutter_web_plugins flutter]
- flutter_keyboard_visibility_windows 1.0.0 [flutter_keyboard_visibility_platform_interface flutter]
- flutter_local_notifications_linux 4.0.0-dev.2 [dbus ffi flutter flutter_local_notifications_platform_interface path xdg_directories]
- flutter_local_notifications_platform_interface 7.0.0-dev.3 [flutter plugin_platform_interface]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]
- flutter_plugin_android_lifecycle 2.0.9 [flutter]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 3.2.0 [async path]
- geolocator_android 4.1.7 [flutter geolocator_platform_interface]
- geolocator_apple 2.2.5 [flutter geolocator_platform_interface]
- geolocator_platform_interface 4.0.7 [flutter plugin_platform_interface vector_math meta]
- geolocator_web 2.1.6 [flutter flutter_web_plugins geolocator_platform_interface]
- geolocator_windows 0.1.1 [flutter geolocator_platform_interface]
- glob 2.1.1 [async collection file path string_scanner]
- google_identity_services_web 0.2.1 [js meta]
- google_maps_flutter_android 2.4.10 [flutter flutter_plugin_android_lifecycle google_maps_flutter_platform_interface stream_transform]
- google_maps_flutter_ios 2.2.1 [flutter google_maps_flutter_platform_interface stream_transform]
- google_maps_flutter_platform_interface 2.2.6 [collection flutter plugin_platform_interface stream_transform]
- google_sign_in_android 6.1.9 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.6.1 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.4.0 [flutter plugin_platform_interface quiver]
- google_sign_in_web 0.12.0 [flutter flutter_web_plugins google_identity_services_web google_sign_in_platform_interface http js]
- graphs 2.2.0 [collection]
- html 0.15.2 [csslib source_span]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- image 4.0.15 [archive meta xml]
- in_app_purchase_android 0.2.5 [collection flutter in_app_purchase_platform_interface json_annotation]
- in_app_purchase_storekit 0.3.6+3 [collection flutter in_app_purchase_platform_interface json_annotation]
- in_app_review_platform_interface 2.0.4 [flutter url_launcher plugin_platform_interface platform]
- io 1.0.4 [meta path string_scanner]
- js 0.6.5 [meta]
- json_annotation 4.8.0 [meta]
- logging 1.1.1
- markdown 7.0.2 [args meta]
- matcher 0.12.13 [meta stack_trace]
- material_color_utilities 0.2.0
- meta 1.8.0
- mime 1.0.4
- nested 1.0.0 [flutter]
- nm 0.5.0 [dbus]
- package_config 2.1.0 [path]
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider_android 2.0.25 [flutter path_provider_platform_interface]
- path_provider_foundation 2.2.2 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.10 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.0.6 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.5 [ffi flutter path path_provider_platform_interface win32]
- permission_handler_android 10.2.0 [flutter permission_handler_platform_interface]
- permission_handler_apple 9.0.8 [flutter permission_handler_platform_interface]
- permission_handler_platform_interface 3.9.0 [flutter meta plugin_platform_interface]
- permission_handler_windows 0.1.2 [flutter permission_handler_platform_interface]
- petitparser 5.1.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.4 [meta]
- pointycastle 3.7.3 [collection convert js]
- pool 1.5.1 [async stack_trace]
- process 4.2.4 [file path platform]
- provider 6.0.5 [collection flutter nested]
- pub_semver 2.1.3 [collection meta]
- pubspec_parse 1.2.2 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.2.1 [matcher]
- recase 4.1.0
- share_plus_platform_interface 3.2.1 [cross_file flutter meta mime plugin_platform_interface path_provider uuid]
- shared_preferences_android 2.1.2 [flutter shared_preferences_platform_interface]
- shared_preferences_foundation 2.2.1 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.2.0 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.2.0 [flutter plugin_platform_interface]
- shared_preferences_web 2.1.0 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.2.0 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- shelf 1.4.0 [async collection http_parser path stack_trace stream_channel]
- shelf_web_socket 1.0.3 [shelf stream_channel web_socket_channel]
- sign_in_with_apple_platform_interface 1.0.0 [flutter plugin_platform_interface meta]
- sign_in_with_apple_web 1.0.1 [flutter flutter_web_plugins sign_in_with_apple_platform_interface js]
- sky_engine 0.0.99
- source_gen 1.2.7 [analyzer async build dart_style glob path source_span yaml]
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- stacked_shared 1.3.1 [get_it]
- stream_channel 2.1.1 [async]
- stream_transform 2.1.0
- string_scanner 1.2.0 [source_span]
- term_glyph 1.2.1
- test_api 0.4.16 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- timezone 0.9.1 [path]
- timing 1.0.1 [json_annotation]
- typed_data 1.3.1 [collection]
- universal_io 2.2.0 [collection meta typed_data]
- url_launcher_android 6.0.27 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.1.4 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.0.4 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.0.5 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.1.2 [flutter plugin_platform_interface]
- url_launcher_web 2.0.16 [flutter flutter_web_plugins url_launcher_platform_interface]
- url_launcher_windows 3.0.5 [flutter url_launcher_platform_interface]
- uuid 3.0.7 [crypto]
- vector_math 2.1.4
- visibility_detector 0.3.3 [flutter]
- watcher 1.0.2 [async path]
- web_socket_channel 2.4.0 [async crypto stream_channel]
- win32 3.1.4 [ffi]
- xdg_directories 1.0.0 [meta path process]
- xml 6.2.2 [collection meta petitparser]
- yaml 3.1.1 [collection source_span string_scanner]

[๐Ÿ“š] [firebase_ui_auth] Unclear signInWithEmail documentation

It is unclear (at least to me) how to complete email link sign in. The process of adding email link provider is well documented, I managed to set everything up, it sends an email, and then.. what do I need to do in the app then? If I set url property to APPNAME.com/emailSignIn, it redirects to a link like https://APPNAME.com/emailSignIn apiKey=KEY&oobCode=CODE&mode=signIn&lang=en

What do I do with this? I created '/emailSignIn' route, but what do I need to do in this page? Is there any ready to use continuation screen in firebase_ui_auth I need to put there, or do I need to fall back to regular FirebaseAuth.instance and do everything manually?

๐Ÿ› User can get locked out of the account using the ProfileScreen

This was discussed initially here and here, but it doesn't seem that those comments/discussion have started any progress on the topic.

Bug report

Describe the bug

In the default profile screen (ProfileScreen from firebase_ui_auth), the user can unlink the sign-in methods they desire.
However, no confirmation is asked before unlinking them. A miss click might unlink a user from a sign in method.

Making things worse, you can remove all the sign in methods and not be able to log in again.
Even if the user tries to re-enable it, they are asked to log in again to re-enable a sign in method.

Steps to reproduce

Steps to reproduce the behavior:

  1. Login
  2. Go to the screen where you can see the ProfileScreen
  3. Add any auth methods (Google, ...)
  4. Remove them (No warning appears and you can remove them all, locking you out of the account)

Expected behavior

The ProfileScreen should ask for confirmation before unlinking a "sign in method" and the user shouldn't be able to remove them all!

Sample project

Simply use the ProfileScreen in any app.


Flutter doctor

Click To Expand
[โˆš] Flutter (Channel stable, 3.7.10, on Microsoft Windows [Version 10.0.22621.1702], locale en-150)
[โˆš] Windows Version (Installed version of Windows is version 10 or higher)
[โˆš] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[โˆš] Chrome - develop for the web
[โˆš] Visual Studio - develop for Windows (Visual Studio Build Tools 2019 16.11.19)
[โˆš] Android Studio (version 2022.1)
[โˆš] VS Code (version 1.78.2)
[โˆš] Connected device (3 available)
[โˆš] HTTP Host Availability

โ€ข No issues found!

Flutter dependencies

Click To Expand
Dart SDK 2.19.6
Flutter SDK 3.7.10
things 2023.0531.0+11

dependencies:
- animate_do 3.0.2 [flutter]
- async 2.10.0 [collection meta]
- auto_route 7.3.2 [flutter path collection meta]
- cloud_firestore 4.8.0 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cupertino_icons 1.0.5
- firebase_auth 4.6.2 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.13.1 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_ui_auth 1.4.2 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth firebase_ui_shared flutter flutter_localizations]
- firebase_ui_firestore 1.5.2 [cloud_firestore firebase_ui_localizations flutter]
- firebase_ui_oauth 1.4.2 [desktop_webview_auth firebase_auth firebase_ui_auth firebase_ui_shared flutter_svg flutter]
- firebase_ui_oauth_google 1.2.2 [firebase_auth firebase_ui_oauth flutter google_sign_in]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]
- freezed 2.3.4 [analyzer build build_config collection meta source_gen freezed_annotation json_annotation]
- freezed_annotation 2.2.0 [collection json_annotation meta]
- http 0.13.6 [async http_parser meta]
- image_stack 2.1.1 [flutter]
- internet_connection_checker_plus 1.0.1 [flutter http]
- intl 0.17.0 [clock path]
- json_annotation 4.8.1 [meta]
- json_table 2.0.1 [flutter]
- package_info_plus 4.0.2 [ffi flutter flutter_web_plugins http meta path package_info_plus_platform_interface win32]
- provider 6.0.5 [collection flutter nested]
- rxdart 0.27.7
- shimmer 3.0.0 [flutter]
- universal_io 2.2.0 [collection meta typed_data]
- url_launcher 6.1.11 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]       
- uuid 3.0.7 [crypto]
- visibility_detector 0.4.0+2 [flutter]

dev dependencies:
- auto_route_generator 7.1.1 [build source_gen analyzer path build_runner code_builder dart_style xml args glob auto_route]
- build_runner 2.3.3 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- json_serializable 6.6.2 [analyzer async build build_config collection json_annotation meta path pub_semver pubspec_parse source_gen source_helper]

transitive dependencies:
- _fe_analyzer_shared 61.0.0 [meta]
- _flutterfire_internals 1.3.2 [collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 5.13.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- args 2.4.1
- boolean_selector 2.1.1 [source_span string_scanner]
- build 2.3.1 [analyzer async convert crypto glob logging meta path]
- build_config 1.1.1 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.1.1 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.2.0 [analyzer async build collection crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.7+1 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]  
- built_collection 5.1.1
- built_value 8.6.0 [built_collection collection fixnum meta]
- characters 1.2.1
- checked_yaml 2.0.3 [json_annotation source_span yaml]
- clock 1.1.1
- cloud_firestore_platform_interface 5.15.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.6.0 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.5.0 [built_collection built_value collection matcher meta]
- collection 1.17.0
- convert 3.1.1 [typed_data]
- crypto 3.0.3 [typed_data]
- dart_style 2.3.1 [analyzer args path pub_semver source_span]
- desktop_webview_auth 0.0.12 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- ffi 2.0.2
- file 6.1.4 [meta path]
- firebase_auth_platform_interface 6.15.2 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.5.2 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser js meta]
- firebase_core_platform_interface 4.8.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.5.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links 5.3.2 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.6+2 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_ui_localizations 1.5.0 [flutter flutter_localizations path]
- firebase_ui_shared 1.3.0 [flutter]
- fixnum 1.1.0
- flutter_svg 2.0.5 [flutter vector_graphics vector_graphics_codec vector_graphics_compiler]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 3.2.0 [async path]
- glob 2.1.2 [async collection file path string_scanner]
- google_identity_services_web 0.2.1 [js meta]
- google_sign_in 6.1.3 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- google_sign_in_android 6.1.14 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.6.2 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.4.1 [flutter plugin_platform_interface quiver]
- google_sign_in_web 0.12.0+1 [flutter flutter_web_plugins google_identity_services_web google_sign_in_platform_interface http js]
- graphs 2.3.1 [collection]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- io 1.0.4 [meta path string_scanner]
- js 0.6.5 [meta]
- lints 2.0.1
- logging 1.2.0
- matcher 0.12.13 [meta stack_trace]
- material_color_utilities 0.2.0
- meta 1.8.0
- mime 1.0.4
- nested 1.0.0 [flutter]
- package_config 2.1.0 [path]
- package_info_plus_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- path 1.8.2
- path_parsing 1.0.1 [vector_math meta]
- petitparser 5.1.0 [meta]
- plugin_platform_interface 2.1.4 [meta]
- pool 1.5.1 [async stack_trace]
- pub_semver 2.1.4 [collection meta]
- pubspec_parse 1.2.3 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.2.1 [matcher]
- shelf 1.4.1 [async collection http_parser path stack_trace stream_channel]
- shelf_web_socket 1.0.4 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_gen 1.3.2 [analyzer async build dart_style glob path source_span yaml]
- source_helper 1.3.3 [analyzer collection source_gen]
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- stream_channel 2.1.1 [async]
- stream_transform 2.1.0
- web_socket_channel 2.4.0 [async crypto stream_channel]
- win32 4.1.4 [ffi]
- xml 6.2.2 [collection meta petitparser]
- yaml 3.1.2 [collection source_span string_scanner]


๐Ÿ› [firebase_ui_auth] FIRAuthErrorCodeInternalError 17999 when try to reimplement example application "Validate Email" feature

Bug report

Describe the bug
Firestore Database settings are not documented with example application. I had FIRAuthErrorCodeInternalError 17999 when I try to send validation Email; it took many hours of debugging to find that it is indeed error 17999 with absolutely suppressed detailed description. It took another hours to find that I need to configure dynamic links to make it work.

This is lack of documentation; plus, the bug here is non-descriptive error 17999.

Now, I need to understand how to get back to IOS or Android application screen after successful Email validation. Perhaps I can implement cloud function returning value "validated = true/false" and query it from mobile device? Can Firebase do it for us?

Please provide richer well-documented example.

Steps to reproduce

Steps to reproduce the behavior:

  1. Go to firebase_ui_auth/example
  2. Change settings to your own Firestore Database, try to test Email Validation
  3. "An internal error has occurred ..." without any descriptive debug messages about what is wrong on the remote host; unless you finish properly configuration (and this step is not documented with example)

Expected behavior

Clear documentation in the official documentation site; clear documentation in the example / access to the example database / screenshots; descriptive error message instead of 17999

๐Ÿ› [firebase_ui_oauth_google] Google Icon in GoogleSignInButton doesn't fit properly in dark mode

Bug report

Describe the bug
When the GoogleSignInButton enters dark mode, the background color of the icon has an ugly overlay with the button color. Tested on Pixel 6 Pro Android Device with "UpsideDownCake" Api and useMaterial3: true.

Steps to reproduce

Steps to reproduce the behavior:

  1. Create a GoogleSignInButton and switch your theme to dark mode. Observe.

Expected behavior

I would expect either:

  • no ugly color overlay or
  • no background color of the Google icon

Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[โˆš] Flutter (Channel stable, 3.10.2, on Microsoft Windows [Version 10.0.19045.2965], locale de-DE)
[โˆš] Windows Version (Installed version of Windows is version 10 or higher)
[โˆš] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[โˆš] Chrome - develop for the web                                                
[โˆš] Visual Studio - develop for Windows (Visual Studio Community 2019 16.3.6)   
[โˆš] Android Studio (version 2022.1)                                             
[โˆš] Android Studio (version 2022.2)                                             
[โˆš] VS Code (version 1.74.2)                                                    
[โˆš] Connected device (4 available)                                              
[โˆš] Network resources                                                           

โ€ข No issues found!


Flutter dependencies

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

Click To Expand
Dart SDK 3.0.2
Flutter SDK 3.10.2
mwe 1.0.0+1

dependencies:
- background_downloader 7.2.0 [flutter logging http path_provider path async mime collection]
- chewie 1.5.0 [cupertino_icons flutter provider video_player wakelock]
- cupertino_icons 1.0.5
- firebase_auth 4.6.2 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutte
r meta]
- firebase_core 2.13.1 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_database 10.2.2 [firebase_core firebase_core_platform_interface firebase_database_platform_interface firebase_databa
se_web flutter]
- firebase_ui_auth 1.4.2 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase
_ui_oauth firebase_ui_shared flutter flutter_localizations]
- firebase_ui_database 1.3.2 [collection firebase_database firebase_ui_localizations flutter]
- firebase_ui_localizations 1.5.0 [flutter flutter_localizations path]
- firebase_ui_oauth_apple 1.2.2 [firebase_auth firebase_ui_oauth flutter]
- firebase_ui_oauth_google 1.2.2 [firebase_auth firebase_ui_oauth flutter google_sign_in]
- flex_color_scheme 7.1.2 [flex_seed_scheme flutter meta]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]     
- flutter_markdown 0.6.15 [flutter markdown meta path]
- flutter_native_splash 2.3.0 [args flutter flutter_web_plugins js html image meta path universal_io xml yaml]
- flutter_platform_widgets 3.3.5 [flutter cupertino_icons]
- flutter_svg 2.0.6 [flutter vector_graphics vector_graphics_codec vector_graphics_compiler]
- fluttertoast 8.2.2 [flutter flutter_web_plugins]
- http 0.13.6 [async http_parser meta]
- internet_connection_checker 1.0.0+1
- intl 0.18.0 [clock meta path]
- native_device_orientation 1.1.4 [flutter meta]
- package_info_plus 3.1.2 [ffi flutter flutter_web_plugins http meta path package_info_plus_platform_interface win32]
- path_provider 2.0.15 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_inter
face path_provider_windows]
- provider 6.0.5 [collection flutter nested]
- shared_preferences 2.1.1 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_pr
eferences_platform_interface shared_preferences_web shared_preferences_windows]
- sqflite 2.2.8+4 [flutter sqflite_common path]
- video_player 2.6.1 [flutter html video_player_android video_player_avfoundation video_player_platform_interface video_player_
web]

dev dependencies:
- flutter_launcher_icons 0.13.1 [args checked_yaml cli_util image json_annotation path yaml]
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collecti
on js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:
- _flutterfire_internals 1.3.2 [collection firebase_core firebase_core_platform_interface flutter meta]
- archive 3.3.7 [crypto path pointycastle]
- args 2.4.1
- async 2.11.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- characters 1.3.0
- checked_yaml 2.0.3 [json_annotation source_span yaml]
- cli_util 0.4.0 [meta path]
- clock 1.1.1
- collection 1.17.1
- convert 3.1.1 [typed_data]
- crypto 3.0.3 [typed_data]
- csslib 0.17.3 [source_span]
- desktop_webview_auth 0.0.12 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- ffi 2.0.2
- file 6.1.4 [meta path]
- firebase_auth_platform_interface 6.15.2 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interfa
ce]
- firebase_auth_web 5.5.2 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_pa
rser js meta]
- firebase_core_platform_interface 4.8.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.5.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_database_platform_interface 0.2.5+2 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_in
terface]
- firebase_database_web 0.2.3+2 [firebase_core firebase_core_web firebase_database_platform_interface flutter flutter_web_plugi
ns js]
- firebase_dynamic_links 5.3.2 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutte
r meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.6+2 [_flutterfire_internals firebase_core flutter meta plugin_platform_interfac
e]
- firebase_ui_oauth 1.4.2 [desktop_webview_auth firebase_auth firebase_ui_auth firebase_ui_shared flutter_svg flutter]
- firebase_ui_shared 1.3.0 [flutter]
- flex_seed_scheme 1.3.0 [collection flutter meta]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- google_identity_services_web 0.2.1 [js meta]
- google_sign_in 6.1.3 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- google_sign_in_android 6.1.14 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.6.2 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.4.1 [flutter plugin_platform_interface quiver]
- google_sign_in_web 0.12.0+1 [flutter flutter_web_plugins google_identity_services_web google_sign_in_platform_interface http 
js]
- html 0.15.3 [csslib source_span]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- image 4.0.17 [archive meta xml]
- js 0.6.7 [meta]
- json_annotation 4.8.1 [meta]
- lints 2.1.0
- logging 1.2.0
- markdown 7.1.0 [args meta]
- matcher 0.12.15 [async meta stack_trace term_glyph test_api]
- material_color_utilities 0.2.0
- meta 1.9.1
- mime 1.0.4
- nested 1.0.0 [flutter]
- package_info_plus_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- path 1.8.3
- path_parsing 1.0.1 [vector_math meta]
- path_provider_android 2.0.27 [flutter path_provider_platform_interface]
- path_provider_foundation 2.2.3 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.11 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.0.6 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.6 [ffi flutter path path_provider_platform_interface win32]
- petitparser 5.4.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.4 [meta]
- pointycastle 3.7.3 [collection convert js]
- process 4.2.4 [file path platform]
- quiver 3.2.1 [matcher]
- shared_preferences_android 2.1.4 [flutter shared_preferences_platform_interface]
- shared_preferences_foundation 2.2.2 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.2.0 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_pla
tform_interface]
- shared_preferences_platform_interface 2.2.0 [flutter plugin_platform_interface]
- shared_preferences_web 2.1.0 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.2.0 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences
_platform_interface]
- sky_engine 0.0.99
- source_span 1.9.1 [collection path term_glyph]
- sqflite_common 2.4.5 [synchronized path meta]
- stack_trace 1.11.0 [path]
- stream_channel 2.1.1 [async]
- string_scanner 1.2.0 [source_span]
- synchronized 3.1.0
- term_glyph 1.2.1
- test_api 0.5.1 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph match
er]
- typed_data 1.3.2 [collection]
- universal_io 2.2.0 [collection meta typed_data]
- vector_graphics 1.1.6 [flutter vector_graphics_codec]
- vector_graphics_codec 1.1.6
- vector_graphics_compiler 1.1.6 [args meta path_parsing xml vector_graphics_codec]
- vector_math 2.1.4
- video_player_android 2.4.8 [flutter video_player_platform_interface]
- video_player_avfoundation 2.4.6 [flutter video_player_platform_interface]
- video_player_platform_interface 6.1.0 [flutter plugin_platform_interface]
- video_player_web 2.0.16 [flutter flutter_web_plugins video_player_platform_interface]
- wakelock 0.6.2 [flutter meta wakelock_macos wakelock_platform_interface wakelock_web wakelock_windows]
- wakelock_macos 0.4.0 [flutter flutter_web_plugins wakelock_platform_interface]
- wakelock_platform_interface 0.3.0 [flutter meta]
- wakelock_web 0.4.0 [flutter flutter_web_plugins js wakelock_platform_interface]
- wakelock_windows 0.2.1 [flutter wakelock_platform_interface win32]
- win32 3.1.4 [ffi]
- xdg_directories 1.0.0 [meta path process]
- xml 6.3.0 [collection meta petitparser]
- yaml 3.1.2 [collection source_span string_scanner]


uglyoverlay

๐Ÿ› firebase_ui_auth EmailVerificationScreen doesn't have some label Localizations

Bug report

I don't find a way to change the main labels of EmailVerificationScreen, it seems to be literals in the source code

Steps to reproduce

Steps to reproduce the behavior:

  1. Go to packages/firebase_ui_auth/lib/src/screens/email_verification_screen.dart:167 and look it by yourself
  2. extending DefaultLocalizations (from packages/firebase_ui_localizations/lib/src/default_localizations.dart) to customize the labels, does not seem to have properties assigned to these labels

Expected behavior

as a result the screen build normally with labels on english...as the others screens, i should be allowed to change the labels to put them in other language(Spanish)

information not provided

Sample project

Providing a minimal example project which demonstrates the bug in isolation from your main App greatly enhances the chance of a timely fix.
Please link to the public repository URL.


Additional context

Add any other context about the problem here.


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
PASTE OUTPUT INSIDE HERE

Flutter dependencies

Click To Expand
Dart SDK 2.18.5
Flutter SDK 3.3.9
inndoc 1.0.0+1

dependencies:
- cloud_firestore 4.2.0 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cupertino_icons 1.0.3
- firebase_auth 4.2.1 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.4.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_messaging 14.1.4 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- firebase_ui_auth 1.1.3 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth flutter flutter
_localizations flutter_svg]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- geolocator 9.0.2 [flutter geolocator_platform_interface geolocator_android geolocator_apple geolocator_web geolocator_windows]
- google_maps_flutter 2.1.3 [flutter flutter_plugin_android_lifecycle google_maps_flutter_platform_interface]
- google_maps_flutter_web 0.4.0+3 [flutter flutter_web_plugins google_maps google_maps_flutter_platform_interface sanitize_html stream_transform]
- http 0.13.3 [async http_parser meta path pedantic]
- provider 6.0.5 [collection flutter nested]
- url_launcher 6.0.10 [flutter meta url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]

dev dependencies:
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection matcher material_color
_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:
- _flutterfire_internals 1.0.10 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutte
r meta]
- async 2.9.0 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.2.1
- charcode 1.3.1
- clock 1.1.1
- cloud_firestore_platform_interface 5.9.2 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.1.1 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_pl
ugins js]
- collection 1.16.0
- crypto 3.0.2 [typed_data]
- csslib 0.17.1 [source_span]
- desktop_webview_auth 0.0.11 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- firebase_auth_platform_interface 6.11.5 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.2.1 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.5.2 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.0.2 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links 5.0.9 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_in
terface]
- firebase_dynamic_links_platform_interface 0.2.3+24 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_platform_interface 4.2.8 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 3.2.9 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins
 js meta]
- firebase_ui_localizations 1.0.1 [flutter flutter_localizations intl path]
- firebase_ui_oauth 1.1.3 [desktop_webview_auth firebase_auth firebase_ui_auth flutter_svg flutter]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math]
- flutter_plugin_android_lifecycle 2.0.5 [flutter]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- geolocator_android 4.1.4 [flutter geolocator_platform_interface]
- geolocator_apple 2.1.1+1 [flutter geolocator_platform_interface]
- geolocator_platform_interface 4.0.4 [flutter plugin_platform_interface vector_math meta]
- geolocator_web 2.1.4 [flutter flutter_web_plugins geolocator_platform_interface]
- geolocator_windows 0.1.0 [flutter geolocator_platform_interface]
- google_maps 6.2.0 [js_wrapping meta]
- google_maps_flutter_platform_interface 2.2.4 [collection flutter plugin_platform_interface stream_transform]
- html 0.15.0 [csslib source_span]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- js 0.6.4
- js_wrapping 0.7.4 [js]
- matcher 0.12.12 [stack_trace]
- material_color_utilities 0.1.5
- meta 1.8.0
- nested 1.0.0 [flutter]
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- pedantic 1.11.1
- petitparser 5.1.0 [meta]
- plugin_platform_interface 2.1.3 [meta]
- sanitize_html 2.0.0 [html meta]
- sky_engine 0.0.99
- source_span 1.9.0 [collection path term_glyph]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- stream_transform 2.0.0
- string_scanner 1.1.1 [source_span]
- term_glyph 1.2.1
- test_api 0.4.12 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.0 [collection]
- url_launcher_linux 2.0.2 [flutter]
- url_launcher_macos 2.0.2 [flutter]
- url_launcher_platform_interface 2.0.4 [flutter plugin_platform_interface]
- url_launcher_web 2.0.4 [flutter flutter_web_plugins meta url_launcher_platform_interface]
- url_launcher_windows 2.0.2 [flutter]
- vector_math 2.1.2
- xml 6.1.0 [collection meta petitparser]

thanks for the effort and greetings from Colombia

๐Ÿ› [firebase_ui_auth 1.1.10] Red text boxes on error look silly.

Bug report

When an error on sign-in such as invalid email address occurs, the outline of the text box changes to red and becomes smaller. This makes the screen look silly and is unnecessary on such a small screen. The error message is shown in red.

See firebase/flutterfire#10431 for files etc.
Issue number 3 in firebase_ui_auth 1.1.10 issues.pdf

firebase/flutterfire#10431
#39
https://github.com/firebase/flutterfire/issues/10434
https://github.com/firebase/flutterfire/issues/10435
#35

๐Ÿ› [firebase auth ui] Error reported in console when verifying email address using web app

Bug report

Using google chrome and a web app, register a new email address and wait for the verify email to be sent. Without clicking on the link in the verify email, click "continue" or "go back" on the verify email screen. An error is reported in the android studio console
Error: Looking up a deactivated widget's ancestor is unsafe.

Click To Expand
Error: Looking up a deactivated widget's ancestor is unsafe.
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49  throw_
packages/flutter/src/widgets/framework.dart 4334:9                                                                         <fn>
packages/flutter/src/widgets/framework.dart 4347:14                                                                        [_debugCheckStateIsActiveForAncestorLookup]
packages/flutter/src/widgets/framework.dart 4368:12                                                                        dependOnInheritedWidgetOfExactType
packages/firebase_ui_auth/src/actions.dart 97:19                                                                           maybeOf
packages/firebase_ui_auth/src/actions.dart 22:33                                                                           ofType
packages/firebase_ui_auth/firebase_ui_auth.dart 147:39                                                                     signOut
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50            <fn>
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/zone.dart 1660:54                                          runUnary
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 147:18                                    handleValue
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 767:44                                    handleValueCallback
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 796:13                                    _propagateToListeners
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 567:5                                     [_completeWithValue]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 640:7                                     callback
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/schedule_microtask.dart 40:11                              _microtaskLoop
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/schedule_microtask.dart 49:5                               _startMicrotaskLoop
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 166:15           <fn>

After the above error, if you then attempt to sign in, it accepts the sign in but goes to the verify email screen (as it should) and it shows the large spinning circle indefinitely but fails to send a new verify email so it is now not possible to verify the email address, nor is it possible to delete the new account. If you click "forgot password" you can reset the password and verify the email address at the same time - however when I clicked "continue" the app died completely with no error message in the console and a blank browser window.

After restarting the app, now try to sign in with a second email address that is previously registered and the screen shows a red error message
"An internal auth error has occurred"

Steps to reproduce

As above.

Expected behavior

The console should not report an error and the system should not prevent someone from repeating the verify operation.

Also, when the continue button is clicked, if the email address has not been verified it should say that verification has not been done and stay on the same screen. The go back button can be used to go back to the sign in screen.

Eventually the system got into a state where it was not possible to register a new email address, the "forgot password" mechanism stopped working and registering a new email address gets an error on the screen in red "Please verify the new email before changing email". i.e. the system is completely useless - I can't sign in nor can I register a new email address.

Sample project

Use the example app in the git repo of firebase auth UI which uses the "flutterfire-e2e-tests" project on firebase


Additional context

Add any other context about the problem here.


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[โˆš] Flutter (Channel stable, 3.7.12, on Microsoft Windows [Version 10.0.22621.1635], locale en-NZ)
[โˆš] Windows Version (Installed version of Windows is version 10 or higher)
[โˆš] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[โˆš] Chrome - develop for the web
[โˆš] Visual Studio - develop for Windows (Visual Studio Community 2022 17.4.1)
[โˆš] Android Studio (version 2022.2)
[โˆš] VS Code (version 1.70.2)
[โˆš] VS Code, 64-bit edition (version 1.77.3)
[โˆš] Connected device (3 available)
[โˆš] HTTP Host Availability

โ€ข No issues found!

Flutter dependencies

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

Click To Expand
flutter pub deps -- --style=compact
Dart SDK 2.19.6
Flutter SDK 3.7.12
firebase_with_flutter 1.0.0+1

dependencies:
- cloud_firestore 4.5.3 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cupertino_icons 1.0.5
- email_validator 2.1.17
- firebase_auth 4.4.2 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_auth_platform_interface 6.13.1 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_core 2.10.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_core_platform_interface 4.6.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_dynamic_links 5.1.1 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_ui_auth 1.2.4 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth firebase_ui_shared flutter flutter_localizations flutter_svg]
- firebase_ui_localizations 1.3.1 [flutter flutter_localizations path]
- firebase_ui_oauth 1.2.4 [desktop_webview_auth firebase_auth firebase_ui_auth firebase_ui_shared flutter_svg flutter]
- firebase_ui_oauth_apple 1.1.4 [firebase_auth firebase_ui_oauth flutter]
- firebase_ui_oauth_facebook 1.1.4 [firebase_auth firebase_ui_oauth flutter flutter_facebook_auth]
- firebase_ui_oauth_google 1.0.21 [firebase_auth firebase_ui_oauth flutter google_sign_in]
- firebase_ui_oauth_twitter 1.1.4 [flutter firebase_auth firebase_ui_oauth twitter_login]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- google_fonts 4.0.4 [flutter http path_provider crypto]

dev dependencies:
- drive 1.0.0-1.0.nullsafety.5 [test_api flutter_test flutter_driver stack_trace flutter]
- flutter_driver 0.0.0 [file flutter flutter_test fuchsia_remote_debug_protocol path meta vm_service webdriver archive async boolean_selector characters clock collection crypto js matcher material_color_utilities platform process source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math]
- flutter_facebook_auth 4.4.1+1 [flutter flutter_facebook_auth_platform_interface flutter_facebook_auth_web]
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- google_sign_in 5.4.4 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- http 0.13.6 [async http_parser meta]
- integration_test 0.0.0 [flutter flutter_driver flutter_test path vm_service archive async boolean_selector characters clock collection crypto fake_async file js matcher material_color_utilities meta source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math webdriver]
- mockito 5.4.0 [analyzer build code_builder collection dart_style matcher meta path source_gen test_api]
- test 1.22.0 [analyzer async boolean_selector collection coverage http_multi_server io js node_preamble package_config path 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]
- twitter_login 4.3.2 [crypto flutter http]

transitive dependencies:
- _fe_analyzer_shared 59.0.0 [meta]
- _flutterfire_internals 1.1.1 [collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 5.11.1 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- archive 3.3.2 [crypto path]
- args 2.4.0
- async 2.10.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- build 2.3.1 [analyzer async convert crypto glob logging meta path]
- built_collection 5.1.1
- built_value 8.4.4 [built_collection collection fixnum meta]
- characters 1.2.1
- clock 1.1.1
- cloud_firestore_platform_interface 5.12.1 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.4.2 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.4.0 [built_collection built_value collection matcher meta]
- collection 1.17.0
- convert 3.1.1 [typed_data]
- coverage 1.6.3 [args logging package_config path source_maps stack_trace vm_service]
- crypto 3.0.2 [typed_data]
- dart_style 2.3.0 [analyzer args path pub_semver source_span]
- desktop_webview_auth 0.0.11 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- fake_async 1.3.1 [clock collection]
- ffi 2.0.1
- file 6.1.4 [meta path]
- firebase_auth_web 5.3.2 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_web 2.3.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links_platform_interface 0.2.4+1 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_ui_shared 1.2.0 [flutter]
- fixnum 1.1.0
- flutter_facebook_auth_platform_interface 3.2.0 [flutter plugin_platform_interface]
- flutter_facebook_auth_web 3.2.0 [flutter flutter_web_plugins js flutter_facebook_auth_platform_interface]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 3.2.0 [async path]
- fuchsia_remote_debug_protocol 0.0.0 [process vm_service file meta path platform]
- glob 2.1.1 [async collection file path string_scanner]
- google_sign_in_android 6.1.14 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.6.2 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.4.0 [flutter plugin_platform_interface quiver]
- google_sign_in_web 0.10.2+1 [flutter flutter_web_plugins google_sign_in_platform_interface js]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- io 1.0.4 [meta path string_scanner]
- js 0.6.5 [meta]
- lints 2.0.1
- logging 1.1.1
- matcher 0.12.13 [meta stack_trace]
- material_color_utilities 0.2.0
- meta 1.8.0
- mime 1.0.4
- node_preamble 2.0.2
- package_config 2.1.0 [path]
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider 2.0.14 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- path_provider_android 2.0.27 [flutter path_provider_platform_interface]
- path_provider_foundation 2.2.2 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.10 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.0.6 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.6 [ffi flutter path path_provider_platform_interface win32]
- petitparser 5.1.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.4 [meta]
- pool 1.5.1 [async stack_trace]
- process 4.2.4 [file path platform]
- pub_semver 2.1.3 [collection meta]
- quiver 3.2.1 [matcher]
- shelf 1.4.0 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 3.0.1 [path shelf shelf_static]
- shelf_static 1.1.1 [convert http_parser mime path shelf]
- shelf_web_socket 1.0.3 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_gen 1.2.7 [analyzer async build dart_style glob path source_span yaml]
- source_map_stack_trace 2.1.1 [path source_maps stack_trace]
- source_maps 0.10.12 [source_span]
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- stream_channel 2.1.1 [async]
- string_scanner 1.2.0 [source_span]
- sync_http 0.3.1
- term_glyph 1.2.1
- test_api 0.4.16 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.4.20 [analyzer async args boolean_selector collection coverage frontend_server_client glob io meta package_config path pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- typed_data 1.3.1 [collection]
- vector_math 2.1.4
- vm_service 9.4.0
- watcher 1.0.2 [async path]
- web_socket_channel 2.4.0 [async crypto stream_channel]
- webdriver 3.0.1 [archive matcher path stack_trace sync_http]
- webkit_inspection_protocol 1.2.0 [logging]
- win32 4.1.3 [ffi]
- xdg_directories 1.0.0 [meta path process]
- xml 6.2.2 [collection meta petitparser]
- yaml 3.1.1 [collection source_span string_scanner]

๐Ÿ› [firebase_ui_auth] Version 1.4.0 is causing compilation error

The recent changes in version 1.4.0 are causing the following compilation error:

../../.pub-cache/hosted/pub.dev/firebase_ui_auth-1.4.0/lib/src/screens/profile_screen.dart:393:19: Error: Cannot invoke a non-'const' constructor where a const expression is expected. Try using a constructor or factory that is 'const'. const Row( ^^^

The const keyword wasn't there in version 1.3.0.

๐Ÿ› [firebase_ui_localizations] Traditional Chinese is not loading

Traditional Chinese will not be loaded in Firebase UI Auth using the standard locales as described here. (Simplified Chinese can be properly loaded).

This issue is caused by the non-standard key zh_tw In /lib/src/all_languages.dart (see below). It should have been zh_TW.

final localizations = <String, FirebaseUILocalizationLabels>{
  ...
  'zh': const ZhLocalizations(),
  'zh_tw': const ZhTWLocalizations(),
  ...
};

I suggest the following fix to match the standard given by Flutter in the previous URL.

In /lib/src/all_languages.dart:

final localizations = <String, FirebaseUILocalizationLabels>{
  ...
  'zh': const ZhLocalizations(), // Simplified Chinese
  'zh_Hans': const ZhLocalizations(), // Simplified Chinese
  'zh_Hant': const ZhTWLocalizations(), // Traditional Chinese
  'zh_Hans_CN': const ZhLocalizations(), // Simplified Chinese
  'zh_Hant_TW': const ZhTWLocalizations(), // Traditional Chinese
  'zh_Hant_HK': const ZhTWLocalizations(), // Traditional Chinese
  ...
};

In /lib/src/l10n.dart:

@override
  Future<FirebaseUILocalizations> load(Locale locale) {
    late FirebaseUILocalizationLabels labels;

    final key = locale.languageCode;
    // Change this line to include script code
    final scriptCode = locale.scriptCode;
    final countryCode = locale.countryCode;
    var fullKey = key;

    scriptCode != null ? fullKey += '_$scriptCode' : null;
    countryCode != null ? fullKey += '_$countryCode' : null;
    ...
  }

headerBuilder in PhoneInputScreen does not work on web

Bug report

Describe the bug
headerBuiler in PhoneInputScreen does not work on web.

It works in IOS and Android but nor Web

Sample project

    return Scaffold(
      appBar: transparentAppBar(context),
      body: Padding(
        padding: EdgeInsets.symmetric(horizontal: kIsWeb ? 60 : 10),
        child: PhoneInputScreen(
          actions: [
            SMSCodeRequestedAction((context, action, flowKey, phoneNumber) {
              Navigator.of(context).push(
                MaterialPageRoute(
                  builder: (context) => SMSCodeInputScreen(
                    flowKey: flowKey,
                  ),
                ),
              );
            }),
          ],
          //headerMaxExtent: 200.h,          
          headerBuilder: (context, constraints, shrinkOffset) {
            return Text("Hello");           
          },
        ),
      ),
    );
  }

๐Ÿ› [firebase_ui_auth] Widget tests exception: You must call Firebase.initializeApp() before calling configureProviders()

Bug report

Describe the bug

Running the widget test from the sample app attached results in the following exception:

Exception: You must call Firebase.initializeApp() before calling configureProviders()

Steps to reproduce

Steps to reproduce the behavior:

  1. Checkout a local copy of this project
  2. Add a Firebase project with flutterfire configure
  3. Run flutter test

Expected behavior

The test passes.

Observed behavior

The test fails with this exception:

Click To Expand
โ•โ•โ•ก EXCEPTION CAUGHT BY WIDGETS LIBRARY โ•žโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
The following _Exception was thrown building KeyedSubtree-[GlobalKey#cb6c1]:
Exception: You must call Firebase.initializeApp() before calling configureProviders()

The relevant error-causing widget was:
  Scaffold
  Scaffold:file:///Users/andrea/work/codewithandrea/github/flutter/firebase_ui_auth_widget_tests_bug/lib/main.dart:36:12

When the exception was thrown, this was the stack:
#0      FirebaseUIAuth.configureProviders (package:firebase_ui_auth/firebase_ui_auth.dart:115:7)
firebase/flutterfire#1      ScreenElement.mount (package:firebase_ui_auth/src/screens/internal/multi_provider_screen.dart:50:24)
...     Normal element mounting (25 frames)
firebase/flutterfire#26     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3953:16)
firebase/flutterfire#27     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6512:36)
firebase/flutterfire#28     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6524:32)
...     Normal element mounting (326 frames)
firebase/flutterfire#354    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3953:16)
firebase/flutterfire#355    MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6512:36)
firebase/flutterfire#356    MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6524:32)
...     Normal element mounting (467 frames)
firebase/flutterfire#823    _UncontrolledProviderScopeElement.mount (package:flutter_riverpod/src/framework.dart:309:11)
...     Normal element mounting (9 frames)
firebase/flutterfire#832    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3953:16)
firebase/flutterfire#833    Element.updateChild (package:flutter/src/widgets/framework.dart:3676:20)
firebase/flutterfire#834    RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1176:16)
firebase/flutterfire#835    RenderObjectToWidgetElement.update (package:flutter/src/widgets/binding.dart:1153:5)
firebase/flutterfire#836    RenderObjectToWidgetElement.performRebuild (package:flutter/src/widgets/binding.dart:1167:7)
firebase/flutterfire#837    Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
firebase/flutterfire#838    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2743:19)
firebase/flutterfire#839    AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1336:19)
firebase/flutterfire#840    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:381:5)
firebase/flutterfire#841    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1289:15)
firebase/flutterfire#842    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1218:9)
firebase/flutterfire#843    AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:1185:9)
firebase/flutterfire#846    TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:71:41)
firebase/flutterfire#847    AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1171:27)
firebase/flutterfire#848    WidgetTester.pumpWidget.<anonymous closure> (package:flutter_test/src/widget_tester.dart:558:22)
firebase/flutterfire#851    TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:71:41)
firebase/flutterfire#852    WidgetTester.pumpWidget (package:flutter_test/src/widget_tester.dart:555:27)
firebase/flutterfire#853    main.<anonymous closure> (file:///Users/andrea/work/codewithandrea/github/flutter/firebase_ui_auth_widget_tests_bug/test/custom_sign_in_screen_test.dart:18:18)
firebase/flutterfire#854    testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:171:29)
<asynchronous suspension>
<asynchronous suspension>
(elided 5 frames from dart:async and package:stack_trace)

โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

Sample project

Link: https://github.com/bizz84/firebase_ui_auth_widget_tests_bug


Additional context

Tested with the following packages:

environment:
  sdk: '>=2.19.0 <3.0.0'

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.2
  flutter_riverpod: ^2.3.1
  firebase_core: ^2.7.1
  firebase_auth: ^4.2.10
  firebase_ui_auth: ^1.1.16

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^2.0.0
  mocktail: ^0.3.0

Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[โœ“] Flutter (Channel stable, 3.7.0, on macOS 13.2 22D49 darwin-x64, locale en-GB)
[โœ“] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[โœ“] Xcode - develop for iOS and macOS (Xcode 14.2)
[โœ“] Chrome - develop for the web
[โœ“] Android Studio (version 4.2)
[โœ“] VS Code (version 1.76.0)
[โœ“] Connected device (4 available)
[โœ“] HTTP Host Availability

โ€ข No issues found!

Flutter dependencies

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

Click To Expand
Dart SDK 2.19.0
Flutter SDK 3.7.0
firebase_ui_auth_widget_tests_bug 1.0.0+1

dependencies:
- cupertino_icons 1.0.5
- firebase_auth 4.2.10 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.7.1 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_ui_auth 1.1.16 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth flutter flutter_localizations flutter_svg]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- flutter_riverpod 2.3.1 [collection flutter meta riverpod state_notifier]

dev dependencies:
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- mocktail 0.3.0 [collection matcher test]

transitive dependencies:
- _fe_analyzer_shared 55.0.0 [meta]
- _flutterfire_internals 1.0.17 [collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 5.7.1 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- args 2.4.0
- async 2.10.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- characters 1.2.1
- clock 1.1.1
- collection 1.17.0
- convert 3.1.1 [typed_data]
- coverage 1.6.3 [args logging package_config path source_maps stack_trace vm_service]
- crypto 3.0.2 [typed_data]
- desktop_webview_auth 0.0.11 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- file 6.1.4 [meta path]
- firebase_auth_platform_interface 6.11.12 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.2.9 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.5.3 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.2.2 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links 5.0.16 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.3+31 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_ui_localizations 1.2.0 [flutter flutter_localizations intl path]
- firebase_ui_oauth 1.1.16 [desktop_webview_auth firebase_auth firebase_ui_auth flutter_svg flutter]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 3.2.0 [async path]
- glob 2.1.1 [async collection file path string_scanner]
- http 0.13.5 [async http_parser meta path]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- io 1.0.4 [meta path string_scanner]
- js 0.6.5 [meta]
- lints 2.0.1
- logging 1.1.1
- matcher 0.12.13 [meta stack_trace]
- material_color_utilities 0.2.0
- meta 1.8.0
- mime 1.0.4
- node_preamble 2.0.2
- package_config 2.1.0 [path]
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- petitparser 5.1.0 [meta]
- plugin_platform_interface 2.1.4 [meta]
- pool 1.5.1 [async stack_trace]
- pub_semver 2.1.3 [collection meta]
- riverpod 2.3.1 [collection meta stack_trace state_notifier]
- shelf 1.4.0 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 3.0.1 [path shelf shelf_static]
- shelf_static 1.1.1 [convert http_parser mime path shelf]
- shelf_web_socket 1.0.3 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_map_stack_trace 2.1.1 [path source_maps stack_trace]
- source_maps 0.10.12 [source_span]
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- state_notifier 0.7.2+1 [meta]
- stream_channel 2.1.1 [async]
- string_scanner 1.2.0 [source_span]
- term_glyph 1.2.1
- test 1.22.0 [analyzer async boolean_selector collection coverage http_multi_server io js node_preamble package_config path 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.4.16 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.4.20 [analyzer async args boolean_selector collection coverage frontend_server_client glob io meta package_config path pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- typed_data 1.3.1 [collection]
- vector_math 2.1.4
- vm_service 9.4.0
- watcher 1.0.2 [async path]
- web_socket_channel 2.3.0 [async crypto stream_channel]
- webkit_inspection_protocol 1.2.0 [logging]
- xml 6.2.2 [collection meta petitparser]
- yaml 3.1.1 [collection source_span string_scanner]

๐Ÿ› flutterfire Few errors found when register a user using UI

Bug report

Describe the bug
Exception thrown when trying to register a user

Steps to reproduce

Steps to reproduce the behavior:

  1. Create a brand new Flutter project using Flutter CLI and then use the sample at https://github.com/firebase/flutterfire/tree/master/packages/firebase_ui_auth/example.
  2. Try to register a user: https://user-images.githubusercontent.com/12452100/214127630-b78d52cd-4b71-48c6-ba5a-e964a7d1f881.mov
  3. See the 2 errors below
  4. If I commented out line 36-38 and rerun the app, the 3rd error will show.
  if (FirebaseAuth.instance.currentUser == null) {
    await FirebaseAuth.instance.signInAnonymously();
  }

1st Error:

errors.dart:266 Uncaught Error: Assertion failed: file:///opt/homebrew/Caskroom/flutter/3.3.6/flutter/packages/flutter/lib/src/services/hardware_keyboard.dart:435:16
_pressedKeys[event.physicalKey] == event.logicalKey
"A KeyUpEvent is dispatched, but the state shows that the physical key is pressed on a different logical key. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyUpEvent#c185a(physicalKey: PhysicalKeyboardKey#7000c(usbHidUsage: \"0x0007000c\", debugName: \"Key I\"), logicalKey: LogicalKeyboardKey#00069(keyId: \"0x00000069\", keyLabel: \"I\", debugName: \"Key I\"), character: null, timeStamp: 0:00:09.265000, synthesized) and the recorded logical key LogicalKeyboardKey#70b1f(keyId: \"0x17c007000c\", keyLabel: \"\", debugName: \"Key with ID 0x017c007000c\")"
    at Object.throw_ [as throw] (errors.dart:266:49)
    at Object.assertFailed (errors.dart:29:3)
    at hardware_keyboard.dart:435:56
    at [_assertEventIsRegular] (hardware_keyboard.dart:442:14)
    at hardware_keyboard.HardwareKeyboard.new.handleKeyEvent (hardware_keyboard.dart:535:5)
    at hardware_keyboard.KeyEventManager.new.handleKeyData (hardware_keyboard.dart:808:29)
    at platform_dispatcher.dart:273:33
    at Object.invoke (platform_dispatcher.dart:1168:13)
    at _engine.EnginePlatformDispatcher.new.invokeOnKeyData (platform_dispatcher.dart:272:7)
    at [_onKeyData] (keyboard_binding.dart:134:39)
    at keyboard_binding.dart:539:36
    at [_handleEvent] (keyboard_binding.dart:416:11)
    at _engine.KeyboardConverter.new.handleEvent (keyboard_binding.dart:542:7)
    at keyboard_binding.dart:141:25
    at Object._checkAndCall (operations.dart:334:14)
    at Object.dcall (operations.dart:339:39)
    at ret (js_patch.dart:413:11)
    at loggedHandler (keyboard_binding.dart:112:23)
    at Object._checkAndCall (operations.dart:334:14)
    at Object.dcall (operations.dart:339:39)
    at ret (js_patch.dart:413:11)

2nd Error:

index.ts:121          POST https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=AIzaSyB7wZb2tO1-Fs6GbDADUSTs2Qs3w08Hovw 400

3rd Error:
image

Expected behavior

No error should be thrown.

Sample project

https://github.com/cupidchan/firebase_ui_auth_issue10279


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
PASTE OUTPUT INSIDE HERE

Doctor summary (to see all details, run flutter doctor -v):
[โœ“] Flutter (Channel stable, 3.3.10, on macOS 13.1 22C65 darwin-arm, locale en)
[โœ“] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[โœ“] Xcode - develop for iOS and macOS (Xcode 14.2)
[โœ“] Chrome - develop for the web
[โœ“] Android Studio (version 2021.3)
[โœ“] VS Code (version 1.74.3)
[โœ“] Connected device (2 available)
[โœ“] HTTP Host Availability

โ€ข No issues found!

Flutter dependencies

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

Click To Expand
Dart SDK 2.18.6
Flutter SDK 3.3.10
carealth 1.0.0+1

dependencies:
- cupertino_icons 1.0.5
- firebase_auth 4.2.4 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.4.1 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_dynamic_links 5.0.11 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_ui_auth 1.1.6 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth flutter flutter_localizations flutter_svg]
- firebase_ui_localizations 1.0.2 [flutter flutter_localizations intl path]
- firebase_ui_oauth_apple 1.0.13 [firebase_auth firebase_ui_oauth flutter]
- firebase_ui_oauth_google 1.0.13 [firebase_auth firebase_ui_oauth flutter google_sign_in]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math]

dev dependencies:
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- test 1.21.4 [analyzer async boolean_selector collection coverage http_multi_server io js node_preamble package_config path 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]

transitive dependencies:
- _fe_analyzer_shared 47.0.0 [meta]
- _flutterfire_internals 1.0.12 [collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 4.7.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- args 2.3.1
- async 2.9.0 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.2.1
- clock 1.1.1
- collection 1.16.0
- convert 3.1.1 [typed_data]
- coverage 1.6.2 [args logging package_config path source_maps stack_trace vm_service]
- crypto 3.0.2 [typed_data]
- desktop_webview_auth 0.0.11 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- file 6.1.4 [meta path]
- firebase_auth_platform_interface 6.11.7 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.2.4 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.5.2 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.1.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links_platform_interface 0.2.3+26 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_ui_oauth 1.1.6 [desktop_webview_auth firebase_auth firebase_ui_auth flutter_svg flutter]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 2.1.3 [async path]
- glob 2.1.1 [async collection file path string_scanner]
- google_sign_in 5.4.2 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- google_sign_in_android 6.1.4 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.5.1 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.3.0 [flutter plugin_platform_interface quiver]
- google_sign_in_web 0.10.2 [flutter flutter_web_plugins google_sign_in_platform_interface js]
- http 0.13.5 [async http_parser meta path]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- io 1.0.3 [meta path string_scanner]
- js 0.6.4
- lints 2.0.1
- logging 1.1.0
- matcher 0.12.12 [stack_trace]
- material_color_utilities 0.1.5
- meta 1.8.0
- mime 1.0.4
- node_preamble 2.0.1
- package_config 2.1.0 [path]
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- petitparser 5.1.0 [meta]
- plugin_platform_interface 2.1.3 [meta]
- pool 1.5.1 [async stack_trace]
- pub_semver 2.1.3 [collection meta]
- quiver 3.2.1 [matcher]
- shelf 1.4.0 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 3.0.1 [path shelf shelf_static]
- shelf_static 1.1.1 [convert http_parser mime path shelf]
- shelf_web_socket 1.0.3 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_map_stack_trace 2.1.1 [path source_maps stack_trace]
- source_maps 0.10.11 [source_span]
- source_span 1.9.0 [collection path term_glyph]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- string_scanner 1.1.1 [source_span]
- term_glyph 1.2.1
- test_api 0.4.12 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.4.16 [analyzer async args boolean_selector collection coverage frontend_server_client glob io meta package_config path pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- typed_data 1.3.1 [collection]
- vector_math 2.1.2
- vm_service 9.4.0
- watcher 1.0.2 [async path]
- web_socket_channel 2.3.0 [async crypto stream_channel]
- webkit_inspection_protocol 1.2.0 [logging]
- xml 6.1.0 [collection meta petitparser]
- yaml 3.1.1 [collection source_span string_scanner]

๐Ÿ› [flutterfire_ui] Missing localization in profile_screen

Bug report

There are six hardcoded messages in english in profile_screen, concerning verification e-mail.
It is impossible to override them when making localization, that is not supported yet.

Steps to reproduce

Go to ProfileScreen with unverified account and locale other than English.
Look in profile_screen.dart for 'Email is not verified' strings etc.

Expected behavior

Strings should be replaced with labels (l.variablename).

Sample project

I've corrected the strings in my fork of flutterfire, but my solution lacks translations for supported languages.
Also, that could be a breaking change, as the labels are required, depending of localization method used.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.