Skip to content

[cloud_functions] Fix method channel name #1862

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

Closed
wants to merge 3 commits into from
Closed

[cloud_functions] Fix method channel name #1862

wants to merge 3 commits into from

Conversation

sbeitzel
Copy link
Contributor

Description

In implementing the MethodChannelCloudFunctions I assigned the wrong name to the channel. This meant that the tests passed (because the channel was being invoked) but that when the cloud_functions plugin with iOS or Android implementations was used, the invocation would fail because the channel wouldn't be found.

This change fixes the method channel name so that it matches the name being registered by the iOS and Android plugins.

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].
  • 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?

  • No, this is not a breaking change.

@visibleForTesting
static const MethodChannel channel = MethodChannel(
'plugins.flutter.io/cloud_functions',
Copy link
Contributor Author

Choose a reason for hiding this comment

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

When I created this file, I was copying and modifying a different plugin and didn't understand exactly how MethodChannel names worked. The plugin I was cribbing from used a different naming convention, and I didn't catch the mistake. The unit tests only check to see that the MethodChannel gets invoked, not what the channel name is. Moreover, the actual iOS and Android implementations are in the cloud_functions plugin, not this platform interface plugin, meaning integration testing is problematic. This feels to me like an architecture problem -- like maybe the method channel implementation should be in the plugin with the platform implementations -- but there are ramifications that get complicated, and the "right thing" might wind up being a breaking change.

@collinjackson
Copy link
Contributor

collinjackson commented Jan 26, 2020

I believe that #1866 was fixed by changing the MethodChannel name to match the existing channel name on iOS/Android in #1868

So I think this PR can be closed. If I missed something let me know!

@firebase firebase locked and limited conversation to collaborators Aug 4, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants