Skip to content

Conversation

@bparrishMines
Copy link
Contributor

@bparrishMines bparrishMines commented Oct 2, 2019

Description

When passing an invalid background message handler to FirebaseMessaging.configure we get an unhelpful error message:

The following NoSuchMethodError was thrown building Builder:
I/flutter (25669): The method 'toRawHandle' was called on null.
I/flutter (25669): Receiver: null
I/flutter (25669): Tried calling: toRawHandle()

This adds an ArgumentError explaining why the handler is wrong based on https://github.com/flutter/engine/blob/master/lib/ui/plugins.dart#L59

Related Issues

Fixes #199

Checklist

Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • If the pull request affects only one plugin, the PR title starts with the name of the plugin in brackets (e.g. [cloud_firestore])
  • My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
  • All existing and new tests are passing.
  • I updated/added relevant documentation (doc comments with ///).
  • The analyzer (flutter analyze) does not report any problems on my PR.
  • I read and followed the Flutter Style Guide.
  • The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
  • I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
  • I updated CHANGELOG.md to add a description of the change.
  • I signed the CLA.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

Does your PR require plugin users to manually update their apps to accommodate your change?

  • Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
  • No, this is not a breaking change.

@bparrishMines bparrishMines added the type: documentation Improvements or additions to documentation label Oct 2, 2019
@Niek
Copy link

Niek commented Oct 8, 2019

Very nice, this will help a lot with the issues being opened about this.

Copy link
Contributor

@collinjackson collinjackson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks great. thanks!

@bparrishMines bparrishMines merged commit 14ef4ea into firebase:master Nov 21, 2019
@bparrishMines bparrishMines deleted the background_msg branch November 21, 2019 01:41
thatfiredev pushed a commit to thatfiredev/flutterfire that referenced this pull request Nov 26, 2019
* bump core version to 0.4.1+4 (firebase#1395)

* Remove deprecated firebase-core dependency (firebase#1417)

* Remove deprecated firebase-core dependency

* [firebase_auth] getIdToken use actual refresh value instead of checking if object exists (firebase#1334)

* getIdToken use actual refresh value instead of checking if object exists

* getIdToken refresh integration test

* update xcode to v11 (firebase#1420)

* Update FirebaseApp creation in tests (firebase#1406)

* [firebase_database] Support v2 android embedder. (firebase#287)

* [firebase_remote_config] Support v2 android embedder. (firebase#282)

* [CI] Add version to example apps (firebase#1426)

* Add hardcode version to example apps

* [firebase_core] Add platform interface (firebase#1324)

* Move firebase_core to firebase_core/firebase_core
* Add firebase_core_platform_interface package
* Update cirrus scripts and documentation

* [firebase_dynamic_links] Add support of expanding from short links (firebase#1381)

* Fixes strict compilation errors. (firebase#1331)

* Upgrade crashlytics to v2 plugin API (firebase#1370)

* Upgraded Crashlytics to v2 of Flutter Plugins.

* Format documentation lists (See also & Errors) correctly (firebase#298)

Fix documentation list format.

* [firebase_auth] Fix NoSuchMethodError exception in `reauthenticateWithCredential` (firebase#237)

* [firebase_auth] Fix NoSuchMethodError exception

Fix NoSuchMethodError exception when calling FirebaseUser.reauthenticateWithCredential

* add integration test

* Fix analyzer warnings

Co-Authored-By: Collin Jackson <[email protected]>

* [cloud_firestore] [firebase_performance] fix analyzer warnings (firebase#1453)

* fix analyzer warnings

* [CI] Skip flaky firebase_performance driver tests (firebase#1452)

* Skip flaky firebase_performance driver tests

* [firebase_auth] Added missing Exception to the reauthenticateWithCredential docs (firebase#1448) (firebase#1449)

* Added missing Exception to the reauthenticateWithCredential docs (firebase#1448)

* [firebase_remote_config] Bumps Android Firebase dependency to 19.0.3 (firebase#1443)

* Bump AGP, Gradle & Google Services Plugin

* Bumps dependency to Firebase Config 19.0.3

* Replaces a deprecated method usage with the updated version

* [firebase_messaging] Use UNUserNotificationCenter for ios 10+ (firebase#121)

* Use UNUserNotificationCenter for ios 10+

* Add swift documentation

* Move http test to README

* Update CONTRIBUTING.md (firebase#1473)

Removes obsolete recommendations about removing mockito (which is now used in testing federated plugins).

* [firebase_core] Migrate to platform_interface (firebase#1472)

* [firebase_messaging] Add an ArgumentError when passing invalid background message (firebase#252)

* [firebase_dynamic_links] support v2 embedding (firebase#1372)

* [cloud_firestore] Fix test that used FirebaseApp.channel (firebase#1476)

* [cloud_firestore] Fix test that used FirebaseApp.channel

* dartfmt

* bump version

* Fixed dynamic issue

* Fixed dynamic issue

* FIxed Object to list of object mapping

* Fixed text result expectation

* Reverted some changes

* Satisfying formatter

* Added android x to pass the test

* Fixed changed log auto formatting
@firebase firebase locked and limited conversation to collaborators Aug 18, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

cla: yes type: documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[firebase_messaging] background messaging documentation prob

4 participants