Skip to content

feat!: Migrate firebase_performance to sound null safety #5540

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

Conversation

IchordeDionysos
Copy link
Contributor

Description

This migrates firebase_performance to non-nullable types

Related Issues

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).

@google-cla google-cla bot added the cla: yes label Mar 31, 2021
@Salakar Salakar added nnbd platform: android Issues / PRs which are specifically for Android. plugin: performance and removed platform: android Issues / PRs which are specifically for Android. labels Apr 1, 2021
@Salakar
Copy link
Member

Salakar commented Apr 1, 2021

Thanks for this. I know there's a known issue where the iOS CI e2e tests are failing to start as the application is probably crashing before it can start tests, it needs investigating really on our end and some simulator logs adding to CI so we can see what the cause may be.

@Salakar Salakar added the type: crash A compile error or crash label Apr 1, 2021
@IchordeDionysos
Copy link
Contributor Author

@Salakar locally the e2e tests did work as expected 👍

@Salakar
Copy link
Member

Salakar commented Apr 1, 2021

@Salakar locally the e2e tests did work as expected 👍

Great thanks! Are you able to provide screenshots of this for iOS - then CI shouldn't be a blocker as we can visually confirm

@IchordeDionysos
Copy link
Contributor Author

Ahh, damn I only tested on Android...
iOS also fails locally for some reason:

Android

image

iOS

Flutter crash report.
Please report a bug at https://github.com/flutter/flutter/issues.

command

flutter drive -d 00008101-0006285036C0001E --target=./test_driver/firebase_performance_e2e.dart --dart-define=CI=true

exception

HttpException: HttpException: , uri = http://127.0.0.1:52200/ws

flutter doctor

[✓] Flutter (Channel stable, 2.0.0, on macOS 11.2.3 20D91 darwin-x64, locale de-DE)
    • Flutter version 2.0.0 at /Users/dennis/develop/bin/flutter
    • Framework revision 60bd88df91 (4 weeks ago), 2021-03-03 09:13:17 -0800
    • Engine revision 40441def69
    • Dart version 2.12.0

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/dennis/Library/Android/sdk
    • Platform android-30, build-tools 29.0.2
    • Java binary at: /Users/dennis/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/dennis/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android Studio.app/Contents
    • 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 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.54.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.20.0

[✓] Connected device (5 available)
    • Pixel 4 XL (mobile)      • adb-98221FFBA006MC-o5OlYY._adb-tls-connect._tcp. • android-arm64  • Android 11 (API 30)
    • iPad von Dennis (mobile) • 00008101-0006285036C0001E                        • ios            • iOS 14.4.1
    • iPhone 11 (mobile)       • CBE34F04-CF60-4B24-9AF0-41430926E335             • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)
    • macOS (desktop)          • macos                                            • darwin-x64     • macOS 11.2.3 20D91 darwin-x64
    • Chrome (web)             • chrome                                           • web-javascript • Google Chrome 89.0.4389.90
    ! Error: iPad von Dennis is busy: Copying cache files from device. Xcode will continue when iPad von Dennis is finished. (code -10)

• No issues found!

@@ -17,7 +15,7 @@ class FirebasePerformance {
FirebasePerformance._(this._handle) {
channel.invokeMethod<bool>(
'FirebasePerformance#instance',
<String, dynamic>{'handle': _handle},
<String, Object>{'handle': _handle},
Copy link
Contributor

Choose a reason for hiding this comment

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

<String, Object?>

same for all the other maps in the PR

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Adjusted them :)

@Salakar
Copy link
Member

Salakar commented Apr 1, 2021

This does work for me locally when running iOS so I think something else is going on with CI here:

image

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.

I'm happy to ship ignoring iOS CI as this is not something related to this PR (see comments above + screenshots of local testing working on for iOS).

Pending @rrousselGit's final approval of course :)

@Salakar Salakar removed the type: crash A compile error or crash label Apr 3, 2021
@IchordeDionysos
Copy link
Contributor Author

@rrousselGit can you review and merge this on monday? 🤔

Copy link
Member

@russellwheatley russellwheatley left a comment

Choose a reason for hiding this comment

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

LGTM

@russellwheatley russellwheatley merged commit ed1d78c into firebase:master Apr 13, 2021
@Salakar
Copy link
Member

Salakar commented Apr 13, 2021

Shipped, v0.7.0 is now available 🎉 Thank you for the PR once again @IchordeDionysos

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

Successfully merging this pull request may close these issues.

5 participants