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

refactor(crashlytics): migrate to nnbd #4715

Merged
merged 28 commits into from
Jan 22, 2021
Merged

Conversation

russellwheatley
Copy link
Member

@russellwheatley russellwheatley commented Jan 18, 2021

Description

Crashlytics NNBD (null-safety migration).

Related Issues

Replace this paragraph with a list of issues related to this PR from the issue database. Indicate, which of these issues are resolved or fixed by this PR. Note that you'll have to prefix the issue numbers with flutter/flutter#.

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. Updating the pubspec.yaml and changelogs is not required.

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • 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 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.

@google-cla google-cla bot added the cla: yes label Jan 18, 2021
@russellwheatley russellwheatley marked this pull request as ready for review January 20, 2021 19:05
Copy link
Contributor

@rrousselGit rrousselGit left a comment

Choose a reason for hiding this comment

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

Looking good!

@@ -139,7 +128,8 @@ void main() {

test('throws if .setCrashlyticsCollectionEnabled', () {
try {
firebaseCrashlyticsPlatform.setCrashlyticsCollectionEnabled(true);
firebaseCrashlyticsPlatform!.setCrashlyticsCollectionEnabled(true);
// ignore: avoid_catching_errors, acceptable as UnimplementedError usage is correct
Copy link
Contributor

Choose a reason for hiding this comment

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

If you're motivated, these could all be refactored to use expect(() => ..., throwsUnimplementedError)

And if you want to go fancy, we can also do:

expect(
  () => ...,
  throwsA(
    isA<UnimplementedErorr>()
      .having((e) => e.message, 'message', 'setCrashlyticsCollectionEnabled() is not implemented')
  ),
)

Copy link
Member

Choose a reason for hiding this comment

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

+1 for this - can we do it on a separate PR though after this has been merged? 🤓

Copy link
Member Author

Choose a reason for hiding this comment

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

I'll also add this to the backlog.

Copy link
Member Author

Choose a reason for hiding this comment

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

Tracking here INVERTASE/FF-20

Copy link
Member

@Salakar Salakar left a comment

Choose a reason for hiding this comment

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

LGTM

Edit; just noticed CI is failing now 😅 re-ran to double check

@russellwheatley
Copy link
Member Author

russellwheatley commented Jan 21, 2021

@Salakar Yep, tests were failing because of this test.

It doesn't actually throw an error so the change @rrousselGit suggested, uncovered the first potential bug (needs investigation, the fact that android doesn't throw an error suggests it might not be expected) The second potential bug is the fail() function here. This doesn't fail the test as expected. I'll add a ticket to the internal backlog. I've commented it out for now so we can get this over the line.

Tracking here: INVERTASE/FF-19

@Salakar Salakar merged commit 8564cbc into master Jan 22, 2021
@Salakar Salakar deleted the @russell/crashlytics-nnbd branch January 22, 2021 12:46
@firebase firebase locked and limited conversation to collaborators Feb 22, 2021
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.

3 participants