From 71ea9b22e224118862095491a7bc2252a8090634 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Mon, 13 Jul 2026 11:26:46 +0000 Subject: [PATCH 1/5] ci: fix formatting step --- .github/workflows/code_health.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/code_health.yml b/.github/workflows/code_health.yml index 9365137c..a7325109 100644 --- a/.github/workflows/code_health.yml +++ b/.github/workflows/code_health.yml @@ -68,6 +68,8 @@ jobs: runs-on: macos-latest steps: - uses: actions/checkout@v6.0.2 + with: + fetch-depth: 0 - uses: subosito/flutter-action@v2 with: channel: "stable" @@ -88,7 +90,7 @@ jobs: swiftformat --version - name: "Dart, Java and Objective-C " run: | - flutter pub global run flutter_plugin_tools format + flutter pub global run flutter_plugin_tools format --base-branch=origin/main ./scripts/validate-formatting.sh - name: "Swift" if: ${{ success() || failure() }} From 0f968bc132ab2a7a577f1abd7cf3d85efc48a200 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Mon, 13 Jul 2026 11:33:39 +0000 Subject: [PATCH 2/5] format --- .../plugins/firebase_ui_example/MainActivity.kt | 3 +-- .../example/ios/Runner/AppDelegate.swift | 4 ++-- .../plugins/firebase_ui_example/MainActivity.kt | 3 +-- .../example/ios/Runner/AppDelegate.swift | 2 +- .../plugins/firebase_ui_example/MainActivity.kt | 3 +-- .../example/ios/Runner/AppDelegate.swift | 2 +- .../firebase_ui_localizations_example/MainActivity.kt | 3 +-- .../example/ios/Runner/AppDelegate.swift | 2 +- .../example/ios/Runner/AppDelegate.swift | 2 +- .../example/macos/Runner/AppDelegate.swift | 11 ++++++----- .../example/macos/Runner/MainFlutterWindow.swift | 3 ++- .../plugins/firebase_ui_example/MainActivity.kt | 3 +-- .../example/ios/Runner/AppDelegate.swift | 2 +- 13 files changed, 20 insertions(+), 23 deletions(-) diff --git a/packages/firebase_ui_auth/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt b/packages/firebase_ui_auth/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt index e998cfce..d48e34dc 100644 --- a/packages/firebase_ui_auth/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt +++ b/packages/firebase_ui_auth/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt @@ -2,5 +2,4 @@ package io.flutter.plugins.firebase_ui_example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() { -} +class MainActivity : FlutterActivity() {} diff --git a/packages/firebase_ui_auth/example/ios/Runner/AppDelegate.swift b/packages/firebase_ui_auth/example/ios/Runner/AppDelegate.swift index 75bd5cea..d4aff80a 100644 --- a/packages/firebase_ui_auth/example/ios/Runner/AppDelegate.swift +++ b/packages/firebase_ui_auth/example/ios/Runner/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import Flutter +import UIKit import app_links @main @@ -14,7 +14,7 @@ import app_links if let url = AppLinks.shared.getLink(launchOptions: launchOptions) { // We have a link, propagate it to your Flutter app or not AppLinks.shared.handleLink(url: url) - return true // Returning true will stop the propagation to other packages + return true // Returning true will stop the propagation to other packages } return super.application(application, didFinishLaunchingWithOptions: launchOptions) diff --git a/packages/firebase_ui_database/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt b/packages/firebase_ui_database/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt index e998cfce..d48e34dc 100644 --- a/packages/firebase_ui_database/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt +++ b/packages/firebase_ui_database/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt @@ -2,5 +2,4 @@ package io.flutter.plugins.firebase_ui_example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() { -} +class MainActivity : FlutterActivity() {} diff --git a/packages/firebase_ui_database/example/ios/Runner/AppDelegate.swift b/packages/firebase_ui_database/example/ios/Runner/AppDelegate.swift index 70693e4a..9074fee9 100644 --- a/packages/firebase_ui_database/example/ios/Runner/AppDelegate.swift +++ b/packages/firebase_ui_database/example/ios/Runner/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import Flutter +import UIKit @UIApplicationMain @objc class AppDelegate: FlutterAppDelegate { diff --git a/packages/firebase_ui_firestore/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt b/packages/firebase_ui_firestore/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt index e998cfce..d48e34dc 100644 --- a/packages/firebase_ui_firestore/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt +++ b/packages/firebase_ui_firestore/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt @@ -2,5 +2,4 @@ package io.flutter.plugins.firebase_ui_example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() { -} +class MainActivity : FlutterActivity() {} diff --git a/packages/firebase_ui_firestore/example/ios/Runner/AppDelegate.swift b/packages/firebase_ui_firestore/example/ios/Runner/AppDelegate.swift index 70693e4a..9074fee9 100644 --- a/packages/firebase_ui_firestore/example/ios/Runner/AppDelegate.swift +++ b/packages/firebase_ui_firestore/example/ios/Runner/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import Flutter +import UIKit @UIApplicationMain @objc class AppDelegate: FlutterAppDelegate { diff --git a/packages/firebase_ui_localizations/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_localizations_example/MainActivity.kt b/packages/firebase_ui_localizations/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_localizations_example/MainActivity.kt index 2dd30021..2fc7532b 100644 --- a/packages/firebase_ui_localizations/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_localizations_example/MainActivity.kt +++ b/packages/firebase_ui_localizations/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_localizations_example/MainActivity.kt @@ -2,5 +2,4 @@ package io.flutter.plugins.firebase_ui_localizations_example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() { -} +class MainActivity : FlutterActivity() {} diff --git a/packages/firebase_ui_localizations/example/ios/Runner/AppDelegate.swift b/packages/firebase_ui_localizations/example/ios/Runner/AppDelegate.swift index 70693e4a..9074fee9 100644 --- a/packages/firebase_ui_localizations/example/ios/Runner/AppDelegate.swift +++ b/packages/firebase_ui_localizations/example/ios/Runner/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import Flutter +import UIKit @UIApplicationMain @objc class AppDelegate: FlutterAppDelegate { diff --git a/packages/firebase_ui_oauth/example/ios/Runner/AppDelegate.swift b/packages/firebase_ui_oauth/example/ios/Runner/AppDelegate.swift index 70693e4a..9074fee9 100644 --- a/packages/firebase_ui_oauth/example/ios/Runner/AppDelegate.swift +++ b/packages/firebase_ui_oauth/example/ios/Runner/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import Flutter +import UIKit @UIApplicationMain @objc class AppDelegate: FlutterAppDelegate { diff --git a/packages/firebase_ui_oauth/example/macos/Runner/AppDelegate.swift b/packages/firebase_ui_oauth/example/macos/Runner/AppDelegate.swift index 5640f7be..cb46c3a4 100644 --- a/packages/firebase_ui_oauth/example/macos/Runner/AppDelegate.swift +++ b/packages/firebase_ui_oauth/example/macos/Runner/AppDelegate.swift @@ -5,13 +5,14 @@ import FlutterMacOS class AppDelegate: FlutterAppDelegate { override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { return true - + } - - override func application(_ application:NSApplication, open urls: [URL]) { + + override func application(_ application: NSApplication, open urls: [URL]) { var data: [String: URL] = [:] data["link"] = urls[0] - - NotificationCenter.default.post(Notification(name: Notification.Name(rawValue: "linkReceived"), object: nil, userInfo: data)); + + NotificationCenter.default.post( + Notification(name: Notification.Name(rawValue: "linkReceived"), object: nil, userInfo: data)) } } diff --git a/packages/firebase_ui_oauth/example/macos/Runner/MainFlutterWindow.swift b/packages/firebase_ui_oauth/example/macos/Runner/MainFlutterWindow.swift index 257ae0cd..a3eda9b5 100644 --- a/packages/firebase_ui_oauth/example/macos/Runner/MainFlutterWindow.swift +++ b/packages/firebase_ui_oauth/example/macos/Runner/MainFlutterWindow.swift @@ -9,7 +9,8 @@ class MainFlutterWindow: NSWindow { self.setFrame(windowFrame, display: true) RegisterGeneratedPlugins(registry: flutterViewController) - GoogleSignInMacOSPlugin.register(with: flutterViewController.registrar(forPlugin: "GoogleSignInMacOSPlugin")) + GoogleSignInMacOSPlugin.register( + with: flutterViewController.registrar(forPlugin: "GoogleSignInMacOSPlugin")) super.awakeFromNib() } diff --git a/packages/firebase_ui_storage/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt b/packages/firebase_ui_storage/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt index e998cfce..d48e34dc 100644 --- a/packages/firebase_ui_storage/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt +++ b/packages/firebase_ui_storage/example/android/app/src/main/kotlin/io/flutter/plugins/firebase_ui_example/MainActivity.kt @@ -2,5 +2,4 @@ package io.flutter.plugins.firebase_ui_example import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() { -} +class MainActivity : FlutterActivity() {} diff --git a/packages/firebase_ui_storage/example/ios/Runner/AppDelegate.swift b/packages/firebase_ui_storage/example/ios/Runner/AppDelegate.swift index 70693e4a..9074fee9 100644 --- a/packages/firebase_ui_storage/example/ios/Runner/AppDelegate.swift +++ b/packages/firebase_ui_storage/example/ios/Runner/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import Flutter +import UIKit @UIApplicationMain @objc class AppDelegate: FlutterAppDelegate { From 35273d827dc75fb65742d7c75d54388517e343b2 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Mon, 13 Jul 2026 11:35:25 +0000 Subject: [PATCH 3/5] chore(deps): update action versions in code_health.yml --- .github/workflows/code_health.yml | 34 +++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/code_health.yml b/.github/workflows/code_health.yml index a7325109..a06dbdff 100644 --- a/.github/workflows/code_health.yml +++ b/.github/workflows/code_health.yml @@ -20,12 +20,12 @@ jobs: analyze: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6.0.2 - - uses: subosito/flutter-action@v2 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2 with: channel: "stable" cache: true - - uses: bluefireteam/melos-action@v3 + - uses: bluefireteam/melos-action@2982f8e4fc92440a219490009d6d05195cb1a6a5 # v3 with: melos-version: "^7.5.0" - name: "Run Analyze" @@ -34,12 +34,12 @@ jobs: pub_dry_run: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6.0.2 - - uses: subosito/flutter-action@v2 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2 with: channel: "stable" cache: true - - uses: bluefireteam/melos-action@v3 + - uses: bluefireteam/melos-action@2982f8e4fc92440a219490009d6d05195cb1a6a5 # v3 with: melos-version: "^7.5.0" - name: "Pub Check" @@ -50,12 +50,12 @@ jobs: pub_get_check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6.0.2 - - uses: subosito/flutter-action@v2 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2 with: channel: "stable" cache: true - - uses: bluefireteam/melos-action@v3 + - uses: bluefireteam/melos-action@2982f8e4fc92440a219490009d6d05195cb1a6a5 # v3 with: melos-version: "^7.5.0" - name: "flutter pub get" @@ -67,17 +67,17 @@ jobs: # switch back to ubuntu-latest when swiftformat is working again runs-on: macos-latest steps: - - uses: actions/checkout@v6.0.2 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - - uses: subosito/flutter-action@v2 + - uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2 with: channel: "stable" cache: true - - uses: bluefireteam/melos-action@v3 + - uses: bluefireteam/melos-action@2982f8e4fc92440a219490009d6d05195cb1a6a5 # v3 with: melos-version: "^7.5.0" - - uses: Homebrew/actions/setup-homebrew@master + - uses: Homebrew/actions/setup-homebrew@18fcb8e3e06b4247c676c506750dc95ea7226479 # master - name: "Install Tools" run: | flutter pub global activate flutter_plugin_tools @@ -102,17 +102,17 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 30 steps: - - uses: actions/checkout@v6.0.2 - - uses: actions/setup-go@v5 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 with: go-version: "^1.13.1" - run: go install github.com/google/addlicense@latest - - uses: subosito/flutter-action@v2 + - uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2 with: channel: "stable" cache: true - name: Install Melos - uses: bluefireteam/melos-action@v3 + uses: bluefireteam/melos-action@2982f8e4fc92440a219490009d6d05195cb1a6a5 # v3 with: run-bootstrap: false melos-version: "^7.5.0" From d0b73d358b42ac38ac7feb9fe700acbc9f9ccc43 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Mon, 13 Jul 2026 11:38:57 +0000 Subject: [PATCH 4/5] revert --- .github/workflows/code_health.yml | 34 +++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/code_health.yml b/.github/workflows/code_health.yml index a06dbdff..a7325109 100644 --- a/.github/workflows/code_health.yml +++ b/.github/workflows/code_health.yml @@ -20,12 +20,12 @@ jobs: analyze: runs-on: ubuntu-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2 + - uses: actions/checkout@v6.0.2 + - uses: subosito/flutter-action@v2 with: channel: "stable" cache: true - - uses: bluefireteam/melos-action@2982f8e4fc92440a219490009d6d05195cb1a6a5 # v3 + - uses: bluefireteam/melos-action@v3 with: melos-version: "^7.5.0" - name: "Run Analyze" @@ -34,12 +34,12 @@ jobs: pub_dry_run: runs-on: ubuntu-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2 + - uses: actions/checkout@v6.0.2 + - uses: subosito/flutter-action@v2 with: channel: "stable" cache: true - - uses: bluefireteam/melos-action@2982f8e4fc92440a219490009d6d05195cb1a6a5 # v3 + - uses: bluefireteam/melos-action@v3 with: melos-version: "^7.5.0" - name: "Pub Check" @@ -50,12 +50,12 @@ jobs: pub_get_check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2 + - uses: actions/checkout@v6.0.2 + - uses: subosito/flutter-action@v2 with: channel: "stable" cache: true - - uses: bluefireteam/melos-action@2982f8e4fc92440a219490009d6d05195cb1a6a5 # v3 + - uses: bluefireteam/melos-action@v3 with: melos-version: "^7.5.0" - name: "flutter pub get" @@ -67,17 +67,17 @@ jobs: # switch back to ubuntu-latest when swiftformat is working again runs-on: macos-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@v6.0.2 with: fetch-depth: 0 - - uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2 + - uses: subosito/flutter-action@v2 with: channel: "stable" cache: true - - uses: bluefireteam/melos-action@2982f8e4fc92440a219490009d6d05195cb1a6a5 # v3 + - uses: bluefireteam/melos-action@v3 with: melos-version: "^7.5.0" - - uses: Homebrew/actions/setup-homebrew@18fcb8e3e06b4247c676c506750dc95ea7226479 # master + - uses: Homebrew/actions/setup-homebrew@master - name: "Install Tools" run: | flutter pub global activate flutter_plugin_tools @@ -102,17 +102,17 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 30 steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 + - uses: actions/checkout@v6.0.2 + - uses: actions/setup-go@v5 with: go-version: "^1.13.1" - run: go install github.com/google/addlicense@latest - - uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2 + - uses: subosito/flutter-action@v2 with: channel: "stable" cache: true - name: Install Melos - uses: bluefireteam/melos-action@2982f8e4fc92440a219490009d6d05195cb1a6a5 # v3 + uses: bluefireteam/melos-action@v3 with: run-bootstrap: false melos-version: "^7.5.0" From 219a434b28425e20e8dcf71c9b192916ddf7866e Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Wed, 15 Jul 2026 12:46:02 +0000 Subject: [PATCH 5/5] fix flaky test --- .../firebase_ui_firestore/firestore_list_view_test.dart | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tests/integration_test/firebase_ui_firestore/firestore_list_view_test.dart b/tests/integration_test/firebase_ui_firestore/firestore_list_view_test.dart index 876fa427..910017ca 100644 --- a/tests/integration_test/firebase_ui_firestore/firestore_list_view_test.dart +++ b/tests/integration_test/firebase_ui_firestore/firestore_list_view_test.dart @@ -38,15 +38,13 @@ void main() { expect(find.byType(CircularProgressIndicator), findsOneWidget); expect(find.byType(ListView), findsNothing); - await tester.pumpAndSettle(); + await collection.snapshots().first.then((_) {}, onError: (_) {}); + await tester.pump(); verifyZeroInteractions(builderSpy); expect( - find.text( - 'error: [cloud_firestore/permission-denied] ' - 'The caller does not have permission to execute the specified operation.', - ), + find.textContaining('error: [cloud_firestore/permission-denied]'), findsOneWidget, ); expect(find.byType(ListView), findsNothing);