Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛 [firebase_messaging] onTokenRefresh never streams a value #5389

Closed
davidpanic opened this issue Mar 18, 2021 · 12 comments · Fixed by #6961
Closed

🐛 [firebase_messaging] onTokenRefresh never streams a value #5389

davidpanic opened this issue Mar 18, 2021 · 12 comments · Fixed by #6961
Assignees
Labels
plugin: messaging type: bug Something isn't working

Comments

@davidpanic
Copy link

davidpanic commented Mar 18, 2021

Bug report

Describe the bug
When using the FirebaseMessaging.onTokenRefresh stream a value is never received by the listener.

Steps to reproduce

Steps to reproduce the behavior:

final fcm = FirebaseMessaging.instance;

await fcm.requestPermission(
  announcement: true,
);

fcm.onTokenRefresh.listen((token) {
  print(token);
});

print(token) is never executed.

If I do await fcm.getToken() after some delay then I get a token, but that token is still not streamed in the onTokenRefresh method.

Expected behavior

I expected to receive a token in the listener.

Flutter doctor

Click To Expand
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.0.1, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio
[✓] Connected device (3 available)

• No issues found!

Flutter dependencies

Click To Expand
Dart SDK 2.12.0
Flutter SDK 2.0.1
App 1.1.0+351

dependencies:
- audioplayers 0.17.4 [uuid path_provider flutter flutter_web_plugins]
- camera 0.5.8+17 [flutter]
- carousel_slider 3.0.0 [flutter]
- checkbox_formfield 0.1.0+3 [flutter]
- chewie 1.0.0 [cupertino_icons flutter video_player wakelock]
- community_material_icon 5.9.55 [flutter]
- connectivity 3.0.2 [flutter meta connectivity_platform_interface connectivity_macos]
- cupertino_icons 1.0.2
- device_info 2.0.0 [flutter device_info_platform_interface]
- expansion_tile_card 2.0.0 [flutter]
- file_picker 3.0.0 [flutter flutter_web_plugins flutter_plugin_android_lifecycle plugin_platform_interface]
- firebase_auth 1.0.1 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_messaging 9.0.0 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_barcode_scanner 2.0.0-nullsafety.0 [flutter flutter_plugin_android_lifecycle]
- flutter_email_sender 5.0.0 [flutter]
- flutter_form_builder 5.0.0-alpha.1 [flutter flutter_localizations datetime_picker_formfield dropdown_search flutter_colorpicker flutter_chips_input flutter_datetime_picker flutter_touch_spin flutter_typeahead intl rating_bar signature validators]
- flutter_gravatar 2.0.2 [flutter flutter_test crypto]
- flutter_hooks 0.16.0 [flutter]
- flutter_localizations 0.0.0 [flutter intl characters clock collection meta path typed_data vector_math]
- flutter_remote_icon 0.0.3+6 [flutter]
- flutter_signature_pad 2.0.3 [flutter]
- flutter_sound 8.0.0+6 [path_provider logger recase uuid provider flutter_spinkit path synchronized flutter flutter_sound_platform_interface flutter_sound_web]
- flutter_speed_dial 3.0.5 [flutter]
- flutter_typeahead 3.0.0-nullsafety.0 [flutter flutter_keyboard_visibility]
- freezed_annotation 0.14.0 [collection json_annotation meta]
- geocoding 1.0.5 [flutter geocoding_platform_interface url_launcher]
- geolocator 7.0.1 [flutter geolocator_platform_interface geolocator_web]
- get 4.0.0-nullsafety.2 [flutter]
- graphql_flutter 5.0.0-nullsafety.1 [graphql gql_exec flutter meta path_provider path connectivity hive plugin_platform_interface]
- hive 2.0.0 [meta crypto]
- hive_flutter 1.0.0 [flutter hive path_provider path]
- hooks_riverpod 0.13.1 [collection flutter flutter_hooks flutter_riverpod riverpod state_notifier]
- http 0.13.0 [http_parser meta path pedantic]
- image 2.1.19 [archive xml meta]
- intl 0.17.0 [clock path]
- json_annotation 4.0.0
- linked_scroll_controller 0.2.0-nullsafety.0 [flutter]
- mime 1.0.0
- modulizer 2.0.1 [flutter get]
- multiselect_formfield 0.1.5 [flutter]
- native_device_orientation 0.4.3 [flutter]
- open_appstore 1.0.2 [flutter]
- open_file 3.1.0 [flutter ffi]
- package_info 2.0.0 [flutter]
- path_provider 2.0.1 [flutter path_provider_platform_interface path_provider_macos path_provider_linux path_provider_windows]
- pedantic 1.11.0
- permission_handler 6.1.0 [flutter meta permission_handler_platform_interface]
- photo_view 0.11.1 [flutter]
- rxdart 0.26.0
- sentry_flutter 4.1.0-nullsafety.1 [flutter flutter_web_plugins sentry package_info]
- shared_preferences 2.0.5 [meta flutter shared_preferences_platform_interface shared_preferences_linux shared_preferences_macos shared_preferences_web shared_preferences_windows]
- soundpool 2.0.0-nullsafety.0 [flutter soundpool_platform_interface soundpool_web soundpool_macos]
- sticky_headers 0.2.0 [flutter]
- syncfusion_flutter_calendar 18.4.48 [flutter timezone syncfusion_flutter_core syncfusion_flutter_datepicker intl]
- syncfusion_flutter_core 18.4.48 [flutter]
- syncfusion_localizations 18.4.48 [flutter intl syncfusion_flutter_core]
- uni_links 0.4.0 [flutter]
- url_launcher 6.0.2 [flutter url_launcher_platform_interface url_launcher_linux url_launcher_macos url_launcher_windows url_launcher_web]
- uuid 3.0.1 [crypto]

dev dependencies:
- build_runner 1.11.1 [args async build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style glob graphs http_multi_server io js logging meta mime path pedantic pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- dart_code_metrics 2.4.0 [analyzer analyzer_plugin ansicolor args code_checker crypto glob html meta path quiver source_span yaml]
- flutter_automation 1.2.2 [flutter args yaml path]
- flutter_driver 0.0.0 [file meta path vm_service webdriver flutter flutter_test fuchsia_remote_debug_protocol archive args async boolean_selector characters charcode clock collection convert crypto fake_async matcher platform process source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math]
- flutter_launcher_icons 0.8.1 [image args yaml path]
- freezed 0.14.0+1 [analyzer build build_config meta source_gen freezed_annotation]
- json_serializable 4.0.2 [analyzer build build_config json_annotation meta path source_gen]
- test 1.16.5 [analyzer async boolean_selector coverage http_multi_server io js node_preamble package_config path pedantic pool shelf shelf_packages_handler shelf_static shelf_web_socket source_span stack_trace stream_channel typed_data web_socket_channel webkit_inspection_protocol yaml test_api test_core]

dependency overrides:
- convert 3.0.0 [typed_data]
- crypto 3.0.0 [collection typed_data]
- date_range_picker 1.0.6 [flutter]
- flutter_typeahead 3.0.0-nullsafety.0 [flutter flutter_keyboard_visibility]
- json_annotation 4.0.0
- path_provider 2.0.1 [flutter path_provider_platform_interface path_provider_macos path_provider_linux path_provider_windows]
- plugin_platform_interface 2.0.0 [meta]
- url_launcher 6.0.2 [flutter url_launcher_platform_interface url_launcher_linux url_launcher_macos url_launcher_windows url_launcher_web]
- uuid 3.0.1 [crypto]
- vin_decoder 0.2.0-nullsafety [basic_utils http random_string]
- web_socket_channel 2.0.0 [async crypto stream_channel]

transitive dependencies:
- _fe_analyzer_shared 14.0.0 [meta]
- analyzer 0.41.2 [_fe_analyzer_shared args cli_util collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- analyzer_plugin 0.4.0 [analyzer dart_style meta pub_semver]
- ansicolor 1.1.1
- archive 2.0.13 [crypto args path]
- args 1.6.0
- async 2.5.0 [collection]
- basic_utils 3.0.0-nullsafety.0 [http logging json_annotation pointycastle convert crypto]
- boolean_selector 2.1.0 [source_span string_scanner]
- build 1.6.2 [analyzer async convert crypto glob logging meta path]
- build_config 0.4.5 [checked_yaml json_annotation meta path pubspec_parse yaml]
- build_daemon 2.1.7 [built_collection built_value http_multi_server logging pedantic path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 1.5.3 [analyzer build crypto graphs logging meta path package_config pool pub_semver]
- build_runner_core 6.1.7 [async build build_config build_resolvers collection convert crypto glob graphs logging meta path package_config pedantic pool timing watcher yaml]
- built_collection 4.3.2 [collection quiver]
- built_value 7.1.0 [built_collection collection fixnum quiver]
- characters 1.1.0
- charcode 1.2.0
- checked_yaml 1.0.4 [json_annotation source_span yaml]
- cli_util 0.2.0 [path]
- clock 1.1.0
- code_builder 3.6.0 [built_collection built_value collection matcher meta]
- code_checker 0.3.3 [analyzer analyzer_plugin args meta source_span yaml]
- collection 1.15.0
- connectivity_macos 0.2.0 [flutter]
- connectivity_platform_interface 2.0.0 [flutter meta plugin_platform_interface]
- coverage 0.15.2 [args logging package_config path source_maps stack_trace vm_service]
- csslib 0.16.2 [source_span]
- dart_style 1.3.12 [analyzer args path pub_semver source_span]
- date_util 0.1.4
- datetime_picker_formfield 2.0.0 [flutter intl]
- device_info_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- dropdown_search 0.4.9 [flutter]
- fake_async 1.2.0 [clock collection]
- ffi 1.0.0
- file 6.0.0 [meta path]
- firebase_auth_platform_interface 4.0.0 [firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 1.0.2 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core 1.0.1 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_core_platform_interface 4.0.0 [flutter meta plugin_platform_interface]
- firebase_core_web 1.0.1 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_messaging_platform_interface 2.0.0 [firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 1.0.1 [firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta]
- fixnum 0.10.11
- flutter_chips_input 1.9.5 [flutter]
- flutter_colorpicker 0.3.5 [flutter]
- flutter_datetime_picker 1.5.0 [flutter]
- flutter_keyboard_visibility 5.0.0 [meta flutter_keyboard_visibility_platform_interface flutter_keyboard_visibility_web 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_plugin_android_lifecycle 2.0.0 [flutter]
- flutter_riverpod 0.13.1 [collection flutter meta riverpod state_notifier]
- flutter_sound_platform_interface 8.0.0+6 [flutter meta plugin_platform_interface]
- flutter_sound_web 8.0.0+6 [flutter_sound_platform_interface flutter flutter_web_plugins meta js]
- flutter_spinkit 5.0.0 [flutter]
- 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]
- flutter_touch_spin 2.0.0-nullsafety.0 [flutter intl]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- fluttertoast 8.0.1-nullsafety.0 [flutter flutter_web_plugins]
- fuchsia_remote_debug_protocol 0.0.0 [process vm_service file meta path platform]
- geocoding_platform_interface 1.0.1+1 [flutter meta plugin_platform_interface]
- geolocator_platform_interface 2.0.0 [flutter plugin_platform_interface vector_math meta]
- geolocator_web 2.0.1 [flutter flutter_web_plugins geolocator_platform_interface]
- glob 1.2.0 [async collection node_io path pedantic string_scanner]
- gql 0.13.0-nullsafety.2 [collection meta source_span]
- gql_dedupe_link 2.0.0-nullsafety.1 [meta gql_exec gql_link async]
- gql_error_link 0.2.0-nullsafety.1 [async gql_exec gql_link meta]
- gql_exec 0.3.0-nullsafety.2 [collection meta gql]
- gql_http_link 0.4.0-nullsafety.1 [meta gql gql_exec gql_link http http_parser]
- gql_link 0.4.0-nullsafety.2 [meta gql gql_exec]
- gql_transform_link 0.2.0-nullsafety.1 [gql_exec gql_link]
- graphql 5.0.0-nullsafety.1 [meta path gql gql_exec gql_link gql_http_link gql_transform_link gql_error_link gql_dedupe_link hive normalize http collection web_socket_channel stream_channel rxdart uuid]
- graphs 0.2.0
- html 0.14.0+4 [csslib source_span]
- http_multi_server 2.2.0 [async]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- io 0.3.5 [meta path string_scanner]
- js 0.6.3
- logger 1.0.0-nullsafety.0
- logging 1.0.0
- matcher 0.12.10 [stack_trace]
- meta 1.3.0
- nested 1.0.0 [flutter]
- node_interop 1.2.1 [js]
- node_io 1.1.1 [node_interop path]
- node_preamble 1.4.13
- normalize 0.5.0-nullsafety.0 [gql collection]
- package_config 1.9.3 [path charcode]
- path 1.8.0
- path_provider_linux 2.0.0 [path xdg_directories path_provider_platform_interface flutter]
- path_provider_macos 2.0.0 [flutter]
- path_provider_platform_interface 2.0.0 [flutter meta platform plugin_platform_interface]
- path_provider_windows 2.0.0 [path_provider_platform_interface meta path flutter ffi win32]
- permission_handler_platform_interface 3.1.0 [flutter meta plugin_platform_interface]
- petitparser 3.1.0 [meta]
- platform 3.0.0
- pointycastle 3.0.0-nullsafety.2 [collection]
- pool 1.5.0 [async stack_trace]
- process 4.0.0 [file path platform]
- provider 5.0.0 [collection flutter nested]
- pub_semver 1.4.4 [collection]
- pubspec_parse 0.1.8 [checked_yaml json_annotation pub_semver yaml]
- quiver 2.1.5 [matcher meta]
- random_string 2.2.0-nullsafety
- rating_bar 0.2.0 [flutter]
- reactive_forms 9.1.0 [flutter intl]
- recase 4.0.0-nullsafety.0
- riverpod 0.13.1 [collection freezed_annotation meta state_notifier]
- sentry 4.1.0-nullsafety.1 [http meta stack_trace uuid]
- shared_preferences_linux 2.0.0 [flutter file meta path path_provider_linux shared_preferences_platform_interface]
- shared_preferences_macos 2.0.0 [shared_preferences_platform_interface flutter]
- shared_preferences_platform_interface 2.0.0 [flutter]
- shared_preferences_web 2.0.0 [shared_preferences_platform_interface flutter flutter_web_plugins meta]
- shared_preferences_windows 2.0.0 [shared_preferences_platform_interface flutter file meta path path_provider_platform_interface path_provider_windows]
- shelf 1.0.0 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 2.0.1 [path shelf shelf_static]
- shelf_static 0.2.9+2 [convert http_parser mime path shelf]
- shelf_web_socket 0.2.4+1 [shelf stream_channel web_socket_channel]
- signature 3.2.1 [flutter image]
- sky_engine 0.0.99
- soundpool_macos 2.0.0-nullsafety.0 [flutter soundpool_platform_interface]
- soundpool_platform_interface 2.0.0-nullsafety.0 [flutter meta plugin_platform_interface]
- soundpool_web 2.0.0-nullsafety.0 [flutter flutter_web_plugins soundpool_platform_interface http]
- source_gen 0.9.10+3 [analyzer async build dart_style glob meta path pedantic source_span]
- source_map_stack_trace 2.1.0 [path stack_trace source_maps]
- source_maps 0.10.10 [source_span]
- source_span 1.8.0 [charcode collection path term_glyph]
- stack_trace 1.10.0 [path]
- state_notifier 0.7.0 [meta]
- stream_channel 2.1.0 [async]
- stream_transform 1.2.0
- string_scanner 1.1.0 [charcode source_span]
- sync_http 0.2.0
- syncfusion_flutter_datepicker 18.4.48-beta [flutter intl syncfusion_flutter_core]
- synchronized 3.0.0
- term_glyph 1.2.0
- test_api 0.2.19 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.3.15 [analyzer async args boolean_selector collection coverage glob io meta package_config path pedantic pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- timezone 0.6.1 [path]
- timing 0.1.1+3 [json_annotation]
- typed_data 1.3.0 [collection]
- url_launcher_linux 2.0.0 [flutter]
- url_launcher_macos 2.0.0 [flutter]
- url_launcher_platform_interface 2.0.1 [flutter plugin_platform_interface]
- url_launcher_web 2.0.0 [url_launcher_platform_interface meta flutter flutter_web_plugins]
- url_launcher_windows 2.0.0 [flutter]
- validators 2.0.1 [vin_decoder]
- vector_math 2.1.0
- video_player 2.0.0 [meta video_player_platform_interface video_player_web flutter flutter_test]
- video_player_platform_interface 4.0.0 [flutter meta flutter_test]
- video_player_web 2.0.0 [flutter flutter_web_plugins meta video_player_platform_interface]
- vm_service 5.5.0 [meta]
- wakelock 0.4.0 [flutter meta wakelock_macos wakelock_platform_interface wakelock_web]
- wakelock_macos 0.1.0 [flutter flutter_web_plugins wakelock_platform_interface]
- wakelock_platform_interface 0.2.0 [flutter meta]
- wakelock_web 0.2.0 [flutter flutter_web_plugins js wakelock_platform_interface]
- watcher 0.9.7+15 [async path pedantic]
- webdriver 2.1.2 [archive matcher path stack_trace sync_http]
- webkit_inspection_protocol 0.7.5 [logging]
- win32 2.0.0 [ffi]
- xdg_directories 0.2.0 [meta path process]
- xml 4.5.1 [collection convert meta petitparser]
- yaml 2.2.1 [charcode collection string_scanner source_span]
@davidpanic davidpanic added Needs Attention This issue needs maintainer attention. type: bug Something isn't working labels Mar 18, 2021
@markusaksli-nc
Copy link
Contributor

Seeing this as well with firebase_messaging: ^9.0.0

flutter doctor -v
[√] Flutter (Channel master, 2.1.0-13.0.pre.175, on Microsoft Windows [Version 10.0.19041.867], locale et-EE)
    • Flutter version 2.1.0-13.0.pre.175 at C:\Development\flutter_master
    • Framework revision efbde443d2 (14 hours ago), 2021-03-18 13:40:08 -0700
    • Engine revision c4628b709c
    • Dart version 2.13.0 (build 2.13.0-149.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\marku\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\201.7199119\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.7)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.7.30621.155
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\201.7199119
    • Flutter plugin version 54.0.1
    • Dart plugin version 201.9335
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] Connected device (4 available)
    • SM G950F (mobile) • ce12171c51cc001c03 • android-arm64  • Android 9 (API 28)
    • Windows (desktop) • windows            • windows-x64    • Microsoft Windows [Version 10.0.19041.867]
    • Chrome (web)      • chrome             • web-javascript • Google Chrome 89.0.4389.90
    • Edge (web)        • edge               • web-javascript • Microsoft Edge 89.0.774.54

• No issues found!

@markusaksli-nc markusaksli-nc added plugin: messaging and removed Needs Attention This issue needs maintainer attention. labels Mar 19, 2021
@kasyrm
Copy link

kasyrm commented Mar 26, 2021

Same problem with firebase_messaging 9.1.0.

@vytautas-pranskunas-
Copy link

following

@gabrielgarciagava
Copy link

Still a problem on firebase_messaging 9.1.3

@Jefry-nolastname
Copy link

is it better to rollback to older version where token refresh still works (generate token on init) or is it better to manualy use getToken(and call it again inside exception if it's no longer valid) for now?

@vytautas-pranskunas-
Copy link

any progress?

@vytautas-pranskunas-
Copy link

any progress on this?

@Jefry-nolastname
Copy link

Jefry-nolastname commented Jul 26, 2021

... manualy use getToken(and call it again inside exception if it's no longer valid) for now?

for now i'm still doing this

@vytautas-pranskunas-
Copy link

Yes but thats question to maitainers.... this is serious issue and is stalling from May....
I am also doing workaround fetching token on every app start but that it hack :(

@rohan20
Copy link

rohan20 commented Sep 7, 2021

Can we please get a rough ETA here?

@vytautas-pranskunas-
Copy link

In which version this will be fixed? I mean number so I know when to upgrade.

@russellwheatley
Copy link
Member

@vytautas-pranskunas- The latest which was released last Thursday, 10.0.7.

@firebase firebase locked and limited conversation to collaborators Oct 10, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
plugin: messaging type: bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants