From 1f3b88f7c1c3bff8ca395391037a407dcade6e23 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Thu, 13 Aug 2026 15:59:46 +0000 Subject: [PATCH 1/5] fix(ci): align Android toolchain and analyzer with Flutter 3.47 Flutter 3.47 requires Gradle 8.14, AGP 8.11.1, and Kotlin 2.2.20. Await Pigeon futures in analytics async try blocks, and add the native-dir analyzer excludes that format CI now writes. --- analysis_options.yaml | 7 +++++ .../example/analysis_options.yaml | 9 +++++++ .../pipeline_example/analysis_options.yaml | 7 +++++ .../pipeline/pipeline_expressions_e2e.dart | 26 ++++++++----------- .../example/analysis_options.yaml | 9 +++++++ .../firebase_ai/example/analysis_options.yaml | 9 +++++++ .../example/analysis_options.yaml | 9 +++++++ .../method_channel_firebase_analytics.dart | 6 ++--- .../example/analysis_options.yaml | 9 +++++++ .../example/analysis_options.yaml | 10 +++++++ .../analysis_options.yaml | 9 +++++++ .../analysis_options.yaml | 9 +++++++ .../example/analysis_options.yaml | 9 +++++++ .../example/analysis_options.yaml | 9 +++++++ .../example/analysis_options.yaml | 9 +++++++ .../analysis_options.yaml | 9 +++++++ .../example/analysis_options.yaml | 7 +++++ .../firebase_database/analysis_options.yaml | 9 +++++++ .../example/analysis_options.yaml | 9 +++++++ .../analysis_options.yaml | 9 +++++++ .../example/analysis_options.yaml | 9 +++++++ .../example/analysis_options.yaml | 8 ++++++ .../example/analysis_options.yaml | 10 +++++++ .../example/analysis_options.yaml | 9 +++++++ .../example/analysis_options.yaml | 8 ++++++ .../example/analysis_options.yaml | 9 +++++++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- tests/android/settings.gradle | 4 +-- 28 files changed, 227 insertions(+), 21 deletions(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index 42a29fa6821d..3447c90e96b2 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -12,6 +12,13 @@ analyzer: included_file_warning: ignore exclude: - packages/**/example/lib/generated_plugin_registrant.dart + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** linter: rules: diff --git a/packages/cloud_firestore/cloud_firestore/example/analysis_options.yaml b/packages/cloud_firestore/cloud_firestore/example/analysis_options.yaml index 7eb091c6b7d6..e13d3194c4d8 100644 --- a/packages/cloud_firestore/cloud_firestore/example/analysis_options.yaml +++ b/packages/cloud_firestore/cloud_firestore/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/cloud_firestore/cloud_firestore/pipeline_example/analysis_options.yaml b/packages/cloud_firestore/cloud_firestore/pipeline_example/analysis_options.yaml index 2f61fa3242f7..1f76f1947a8b 100644 --- a/packages/cloud_firestore/cloud_firestore/pipeline_example/analysis_options.yaml +++ b/packages/cloud_firestore/cloud_firestore/pipeline_example/analysis_options.yaml @@ -14,6 +14,13 @@ analyzer: # from analyze so analyze-ci passes. exclude: - integration_test/** + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** linter: # The lint rules applied to this project can be customized in the diff --git a/packages/cloud_firestore/cloud_firestore/pipeline_example/integration_test/pipeline/pipeline_expressions_e2e.dart b/packages/cloud_firestore/cloud_firestore/pipeline_example/integration_test/pipeline/pipeline_expressions_e2e.dart index 7a71c1fa379f..e82174343871 100644 --- a/packages/cloud_firestore/cloud_firestore/pipeline_example/integration_test/pipeline/pipeline_expressions_e2e.dart +++ b/packages/cloud_firestore/cloud_firestore/pipeline_example/integration_test/pipeline/pipeline_expressions_e2e.dart @@ -803,21 +803,17 @@ void runPipelineExpressionsTests() { ]); }); - test( - 'arraySum addFields succeeds on Android', - () async { - final snapshot = await firestore - .pipeline() - .collection('pipeline-e2e') - .where(Expression.field('test').equalValue('expressions')) - .addFields(Expression.array([1, 2, 3]).arraySum().as('x')) - .limit(1) - .execute(); - expectResultCount(snapshot, 1); - expect(snapshot.result[0].data()!['x'], 6); - }, - skip: defaultTargetPlatform != TargetPlatform.android, - ); + test('arraySum addFields succeeds on Android', () async { + final snapshot = await firestore + .pipeline() + .collection('pipeline-e2e') + .where(Expression.field('test').equalValue('expressions')) + .addFields(Expression.array([1, 2, 3]).arraySum().as('x')) + .limit(1) + .execute(); + expectResultCount(snapshot, 1); + expect(snapshot.result[0].data()!['x'], 6); + }, skip: defaultTargetPlatform != TargetPlatform.android); test( 'unsupported expression returns parse-error with informative message', diff --git a/packages/cloud_functions/cloud_functions/example/analysis_options.yaml b/packages/cloud_functions/cloud_functions/example/analysis_options.yaml index 5170ec319b4b..977f9e5d0ba8 100644 --- a/packages/cloud_functions/cloud_functions/example/analysis_options.yaml +++ b/packages/cloud_functions/cloud_functions/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: diff --git a/packages/firebase_ai/firebase_ai/example/analysis_options.yaml b/packages/firebase_ai/firebase_ai/example/analysis_options.yaml index b6cd704fb940..9103a67fb2d2 100644 --- a/packages/firebase_ai/firebase_ai/example/analysis_options.yaml +++ b/packages/firebase_ai/firebase_ai/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_analytics/firebase_analytics/example/analysis_options.yaml b/packages/firebase_analytics/firebase_analytics/example/analysis_options.yaml index b6cd704fb940..9103a67fb2d2 100644 --- a/packages/firebase_analytics/firebase_analytics/example/analysis_options.yaml +++ b/packages/firebase_analytics/firebase_analytics/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_analytics/firebase_analytics_platform_interface/lib/src/method_channel/method_channel_firebase_analytics.dart b/packages/firebase_analytics/firebase_analytics_platform_interface/lib/src/method_channel/method_channel_firebase_analytics.dart index e3c5d41eaa42..151734da565e 100644 --- a/packages/firebase_analytics/firebase_analytics_platform_interface/lib/src/method_channel/method_channel_firebase_analytics.dart +++ b/packages/firebase_analytics/firebase_analytics_platform_interface/lib/src/method_channel/method_channel_firebase_analytics.dart @@ -85,7 +85,7 @@ class MethodChannelFirebaseAnalytics extends FirebaseAnalyticsPlatform { bool? securityStorageConsentGranted, }) async { try { - return _api.setConsent({ + return await _api.setConsent({ if (adStorageConsentGranted != null) 'adStorageConsentGranted': adStorageConsentGranted, if (analyticsStorageConsentGranted != null) @@ -106,7 +106,7 @@ class MethodChannelFirebaseAnalytics extends FirebaseAnalyticsPlatform { Map? defaultParameters, ) async { try { - return _api.setDefaultEventParameters(defaultParameters); + return await _api.setDefaultEventParameters(defaultParameters); } catch (e, s) { convertPlatformException(e, s); } @@ -168,7 +168,7 @@ class MethodChannelFirebaseAnalytics extends FirebaseAnalyticsPlatform { Future setSessionTimeoutDuration(Duration timeout) async { try { if (!kIsWeb && defaultTargetPlatform == TargetPlatform.android) { - return _api.setSessionTimeoutDuration(timeout.inMilliseconds); + return await _api.setSessionTimeoutDuration(timeout.inMilliseconds); } } catch (e, s) { convertPlatformException(e, s); diff --git a/packages/firebase_app_check/firebase_app_check/example/analysis_options.yaml b/packages/firebase_app_check/firebase_app_check/example/analysis_options.yaml index b6cd704fb940..9103a67fb2d2 100644 --- a/packages/firebase_app_check/firebase_app_check/example/analysis_options.yaml +++ b/packages/firebase_app_check/firebase_app_check/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_app_installations/firebase_app_installations/example/analysis_options.yaml b/packages/firebase_app_installations/firebase_app_installations/example/analysis_options.yaml index 61b6c4de17c9..e2aca2845488 100644 --- a/packages/firebase_app_installations/firebase_app_installations/example/analysis_options.yaml +++ b/packages/firebase_app_installations/firebase_app_installations/example/analysis_options.yaml @@ -9,6 +9,16 @@ # packages, and plugins designed to encourage good coding practices. include: package:flutter_lints/flutter.yaml +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** + linter: # The lint rules applied to this project can be customized in the # section below to disable rules from the `package:flutter_lints/flutter.yaml` diff --git a/packages/firebase_app_installations/firebase_app_installations_platform_interface/analysis_options.yaml b/packages/firebase_app_installations/firebase_app_installations_platform_interface/analysis_options.yaml index a5744c1cfbe7..534f26d234cf 100644 --- a/packages/firebase_app_installations/firebase_app_installations_platform_interface/analysis_options.yaml +++ b/packages/firebase_app_installations/firebase_app_installations_platform_interface/analysis_options.yaml @@ -1,3 +1,12 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: package:flutter_lints/flutter.yaml # Additional information about this file can be found at diff --git a/packages/firebase_app_installations/firebase_app_installations_web/analysis_options.yaml b/packages/firebase_app_installations/firebase_app_installations_web/analysis_options.yaml index a5744c1cfbe7..534f26d234cf 100644 --- a/packages/firebase_app_installations/firebase_app_installations_web/analysis_options.yaml +++ b/packages/firebase_app_installations/firebase_app_installations_web/analysis_options.yaml @@ -1,3 +1,12 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: package:flutter_lints/flutter.yaml # Additional information about this file can be found at diff --git a/packages/firebase_auth/firebase_auth/example/analysis_options.yaml b/packages/firebase_auth/firebase_auth/example/analysis_options.yaml index 201a5ca41972..5d5dcf0b7c82 100644 --- a/packages/firebase_auth/firebase_auth/example/analysis_options.yaml +++ b/packages/firebase_auth/firebase_auth/example/analysis_options.yaml @@ -1,3 +1,12 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: diff --git a/packages/firebase_core/firebase_core/example/analysis_options.yaml b/packages/firebase_core/firebase_core/example/analysis_options.yaml index b6cd704fb940..9103a67fb2d2 100644 --- a/packages/firebase_core/firebase_core/example/analysis_options.yaml +++ b/packages/firebase_core/firebase_core/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_crashlytics/firebase_crashlytics/example/analysis_options.yaml b/packages/firebase_crashlytics/firebase_crashlytics/example/analysis_options.yaml index 9bd5dd18a857..4e83246933e6 100644 --- a/packages/firebase_crashlytics/firebase_crashlytics/example/analysis_options.yaml +++ b/packages/firebase_crashlytics/firebase_crashlytics/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: diff --git a/packages/firebase_data_connect/firebase_data_connect/analysis_options.yaml b/packages/firebase_data_connect/firebase_data_connect/analysis_options.yaml index f9b303465f19..743e05ad835a 100644 --- a/packages/firebase_data_connect/firebase_data_connect/analysis_options.yaml +++ b/packages/firebase_data_connect/firebase_data_connect/analysis_options.yaml @@ -1 +1,10 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: package:flutter_lints/flutter.yaml diff --git a/packages/firebase_data_connect/firebase_data_connect/example/analysis_options.yaml b/packages/firebase_data_connect/firebase_data_connect/example/analysis_options.yaml index 5636857817cf..f0fded2781db 100644 --- a/packages/firebase_data_connect/firebase_data_connect/example/analysis_options.yaml +++ b/packages/firebase_data_connect/firebase_data_connect/example/analysis_options.yaml @@ -12,6 +12,13 @@ include: package:flutter_lints/flutter.yaml analyzer: exclude: - lib/generated/** + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** linter: # The lint rules applied to this project can be customized in the # section below to disable rules from the `package:flutter_lints/flutter.yaml` diff --git a/packages/firebase_database/firebase_database/analysis_options.yaml b/packages/firebase_database/firebase_database/analysis_options.yaml index 835470402fcb..8d79b1c4bed0 100644 --- a/packages/firebase_database/firebase_database/analysis_options.yaml +++ b/packages/firebase_database/firebase_database/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_database/firebase_database/example/analysis_options.yaml b/packages/firebase_database/firebase_database/example/analysis_options.yaml index b6cd704fb940..9103a67fb2d2 100644 --- a/packages/firebase_database/firebase_database/example/analysis_options.yaml +++ b/packages/firebase_database/firebase_database/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_database/firebase_database_web/analysis_options.yaml b/packages/firebase_database/firebase_database_web/analysis_options.yaml index a5744c1cfbe7..534f26d234cf 100644 --- a/packages/firebase_database/firebase_database_web/analysis_options.yaml +++ b/packages/firebase_database/firebase_database_web/analysis_options.yaml @@ -1,3 +1,12 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: package:flutter_lints/flutter.yaml # Additional information about this file can be found at diff --git a/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/analysis_options.yaml b/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/analysis_options.yaml index e170d0e35e6e..31fff8a8bcf9 100644 --- a/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/analysis_options.yaml +++ b/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_messaging/firebase_messaging/example/analysis_options.yaml b/packages/firebase_messaging/firebase_messaging/example/analysis_options.yaml index 29c05d7b61b8..000654a21a3e 100644 --- a/packages/firebase_messaging/firebase_messaging/example/analysis_options.yaml +++ b/packages/firebase_messaging/firebase_messaging/example/analysis_options.yaml @@ -7,6 +7,14 @@ include: ../../../../analysis_options.yaml analyzer: errors: avoid_print: ignore + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** linter: rules: diff --git a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/analysis_options.yaml b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/analysis_options.yaml index 61b6c4de17c9..e2aca2845488 100644 --- a/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/analysis_options.yaml +++ b/packages/firebase_ml_model_downloader/firebase_ml_model_downloader/example/analysis_options.yaml @@ -9,6 +9,16 @@ # packages, and plugins designed to encourage good coding practices. include: package:flutter_lints/flutter.yaml +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** + linter: # The lint rules applied to this project can be customized in the # section below to disable rules from the `package:flutter_lints/flutter.yaml` diff --git a/packages/firebase_performance/firebase_performance/example/analysis_options.yaml b/packages/firebase_performance/firebase_performance/example/analysis_options.yaml index b6cd704fb940..9103a67fb2d2 100644 --- a/packages/firebase_performance/firebase_performance/example/analysis_options.yaml +++ b/packages/firebase_performance/firebase_performance/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_remote_config/firebase_remote_config/example/analysis_options.yaml b/packages/firebase_remote_config/firebase_remote_config/example/analysis_options.yaml index 9a316418eecd..27c61e0b402d 100644 --- a/packages/firebase_remote_config/firebase_remote_config/example/analysis_options.yaml +++ b/packages/firebase_remote_config/firebase_remote_config/example/analysis_options.yaml @@ -9,3 +9,11 @@ linter: analyzer: errors: public_member_api_docs: ignore + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** diff --git a/packages/firebase_storage/firebase_storage/example/analysis_options.yaml b/packages/firebase_storage/firebase_storage/example/analysis_options.yaml index 8a7be1213fdb..12a70adf9713 100644 --- a/packages/firebase_storage/firebase_storage/example/analysis_options.yaml +++ b/packages/firebase_storage/firebase_storage/example/analysis_options.yaml @@ -1,3 +1,12 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: diff --git a/tests/android/gradle/wrapper/gradle-wrapper.properties b/tests/android/gradle/wrapper/gradle-wrapper.properties index 3c85cfe057a1..e4ef43fb98df 100644 --- a/tests/android/gradle/wrapper/gradle-wrapper.properties +++ b/tests/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-all.zip diff --git a/tests/android/settings.gradle b/tests/android/settings.gradle index 4f520718dccf..ff03f22be32b 100644 --- a/tests/android/settings.gradle +++ b/tests/android/settings.gradle @@ -18,8 +18,8 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.6.0" apply false - id "org.jetbrains.kotlin.android" version "2.1.0" apply false + id "com.android.application" version "8.11.1" apply false + id "org.jetbrains.kotlin.android" version "2.2.20" apply false } include ":app" From dbe6496108c2f8fa3e514b2f1b0224ab869f46dc Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Thu, 13 Aug 2026 18:14:08 +0000 Subject: [PATCH 2/5] fix(firestore,web): keep query cursor helpers visible to dart2wasm TFA Flutter 3.47's WASM compiler tree-shakes Query.startAfter, which breaks startAfterDocument e2e under --wasm. --- .../cloud_firestore_web/lib/src/interop/firestore.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/cloud_firestore/cloud_firestore_web/lib/src/interop/firestore.dart b/packages/cloud_firestore/cloud_firestore_web/lib/src/interop/firestore.dart index 9ed2cf332707..32aaf918196d 100644 --- a/packages/cloud_firestore/cloud_firestore_web/lib/src/interop/firestore.dart +++ b/packages/cloud_firestore/cloud_firestore_web/lib/src/interop/firestore.dart @@ -495,12 +495,15 @@ class Query /// Creates a new Query from a [jsObject]. Query.fromJsObject(T jsObject) : super.fromJsObject(jsObject); + // dart2wasm TFA can drop these JS-interop cursor helpers (Flutter 3.47+). + @pragma('wasm:entry-point') Query endAt({DocumentSnapshot? snapshot, List? fieldValues}) => Query.fromJsObject(firestore_interop.query( jsObject, _createQueryConstraint( firestore_interop.endAt, snapshot, fieldValues))); + @pragma('wasm:entry-point') Query endBefore({DocumentSnapshot? snapshot, List? fieldValues}) => Query.fromJsObject(firestore_interop.query( jsObject, @@ -601,6 +604,7 @@ class Query firestore_interop.query(jsObject, jsObjectOrderBy)); } + @pragma('wasm:entry-point') Query startAfter({DocumentSnapshot? snapshot, List? fieldValues}) => Query.fromJsObject( firestore_interop.query( @@ -613,6 +617,7 @@ class Query ), ); + @pragma('wasm:entry-point') Query startAt({DocumentSnapshot? snapshot, List? fieldValues}) => Query.fromJsObject( firestore_interop.query( @@ -641,6 +646,7 @@ class Query /// [fieldValues]. /// We need to call this method in all paginating methods to fix that Dart /// doesn't support varargs - we need to use [List] to call js function. + @pragma('wasm:entry-point') firestore_interop.QueryConstraintJsImpl _createQueryConstraint( Object method, DocumentSnapshot? snapshot, List? fieldValues) { if (snapshot == null && fieldValues == null) { From edef0b872b1acfa2660cdef56ff9906079aeeee6 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Fri, 14 Aug 2026 09:05:18 +0000 Subject: [PATCH 3/5] fix(ci): inherit Flutter 3.47 analyzer excludes from the root options file Drop duplicated native-dir excludes from analysis_options.yaml files that already include the repo root. Revert the dart2wasm Query.startAfter workaround; it did not fix web-wasm CI. --- .../cloud_firestore/example/analysis_options.yaml | 9 --------- .../cloud_firestore_web/lib/src/interop/firestore.dart | 6 ------ .../cloud_functions/example/analysis_options.yaml | 9 --------- .../firebase_ai/example/analysis_options.yaml | 9 --------- .../firebase_analytics/example/analysis_options.yaml | 9 --------- .../firebase_app_check/example/analysis_options.yaml | 9 --------- .../firebase_auth/example/analysis_options.yaml | 9 --------- .../firebase_core/example/analysis_options.yaml | 9 --------- .../firebase_crashlytics/example/analysis_options.yaml | 9 --------- .../firebase_database/analysis_options.yaml | 9 --------- .../firebase_database/example/analysis_options.yaml | 9 --------- .../example/analysis_options.yaml | 9 --------- .../firebase_messaging/example/analysis_options.yaml | 8 -------- .../firebase_performance/example/analysis_options.yaml | 9 --------- .../firebase_remote_config/example/analysis_options.yaml | 8 -------- .../firebase_storage/example/analysis_options.yaml | 9 --------- 16 files changed, 139 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/example/analysis_options.yaml b/packages/cloud_firestore/cloud_firestore/example/analysis_options.yaml index e13d3194c4d8..7eb091c6b7d6 100644 --- a/packages/cloud_firestore/cloud_firestore/example/analysis_options.yaml +++ b/packages/cloud_firestore/cloud_firestore/example/analysis_options.yaml @@ -2,15 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. -analyzer: - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/cloud_firestore/cloud_firestore_web/lib/src/interop/firestore.dart b/packages/cloud_firestore/cloud_firestore_web/lib/src/interop/firestore.dart index 32aaf918196d..9ed2cf332707 100644 --- a/packages/cloud_firestore/cloud_firestore_web/lib/src/interop/firestore.dart +++ b/packages/cloud_firestore/cloud_firestore_web/lib/src/interop/firestore.dart @@ -495,15 +495,12 @@ class Query /// Creates a new Query from a [jsObject]. Query.fromJsObject(T jsObject) : super.fromJsObject(jsObject); - // dart2wasm TFA can drop these JS-interop cursor helpers (Flutter 3.47+). - @pragma('wasm:entry-point') Query endAt({DocumentSnapshot? snapshot, List? fieldValues}) => Query.fromJsObject(firestore_interop.query( jsObject, _createQueryConstraint( firestore_interop.endAt, snapshot, fieldValues))); - @pragma('wasm:entry-point') Query endBefore({DocumentSnapshot? snapshot, List? fieldValues}) => Query.fromJsObject(firestore_interop.query( jsObject, @@ -604,7 +601,6 @@ class Query firestore_interop.query(jsObject, jsObjectOrderBy)); } - @pragma('wasm:entry-point') Query startAfter({DocumentSnapshot? snapshot, List? fieldValues}) => Query.fromJsObject( firestore_interop.query( @@ -617,7 +613,6 @@ class Query ), ); - @pragma('wasm:entry-point') Query startAt({DocumentSnapshot? snapshot, List? fieldValues}) => Query.fromJsObject( firestore_interop.query( @@ -646,7 +641,6 @@ class Query /// [fieldValues]. /// We need to call this method in all paginating methods to fix that Dart /// doesn't support varargs - we need to use [List] to call js function. - @pragma('wasm:entry-point') firestore_interop.QueryConstraintJsImpl _createQueryConstraint( Object method, DocumentSnapshot? snapshot, List? fieldValues) { if (snapshot == null && fieldValues == null) { diff --git a/packages/cloud_functions/cloud_functions/example/analysis_options.yaml b/packages/cloud_functions/cloud_functions/example/analysis_options.yaml index 977f9e5d0ba8..5170ec319b4b 100644 --- a/packages/cloud_functions/cloud_functions/example/analysis_options.yaml +++ b/packages/cloud_functions/cloud_functions/example/analysis_options.yaml @@ -2,15 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. -analyzer: - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** include: ../../../../analysis_options.yaml linter: diff --git a/packages/firebase_ai/firebase_ai/example/analysis_options.yaml b/packages/firebase_ai/firebase_ai/example/analysis_options.yaml index 9103a67fb2d2..b6cd704fb940 100644 --- a/packages/firebase_ai/firebase_ai/example/analysis_options.yaml +++ b/packages/firebase_ai/firebase_ai/example/analysis_options.yaml @@ -2,15 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. -analyzer: - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_analytics/firebase_analytics/example/analysis_options.yaml b/packages/firebase_analytics/firebase_analytics/example/analysis_options.yaml index 9103a67fb2d2..b6cd704fb940 100644 --- a/packages/firebase_analytics/firebase_analytics/example/analysis_options.yaml +++ b/packages/firebase_analytics/firebase_analytics/example/analysis_options.yaml @@ -2,15 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. -analyzer: - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_app_check/firebase_app_check/example/analysis_options.yaml b/packages/firebase_app_check/firebase_app_check/example/analysis_options.yaml index 9103a67fb2d2..b6cd704fb940 100644 --- a/packages/firebase_app_check/firebase_app_check/example/analysis_options.yaml +++ b/packages/firebase_app_check/firebase_app_check/example/analysis_options.yaml @@ -2,15 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. -analyzer: - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_auth/firebase_auth/example/analysis_options.yaml b/packages/firebase_auth/firebase_auth/example/analysis_options.yaml index 5d5dcf0b7c82..201a5ca41972 100644 --- a/packages/firebase_auth/firebase_auth/example/analysis_options.yaml +++ b/packages/firebase_auth/firebase_auth/example/analysis_options.yaml @@ -1,12 +1,3 @@ -analyzer: - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** include: ../../../../analysis_options.yaml linter: diff --git a/packages/firebase_core/firebase_core/example/analysis_options.yaml b/packages/firebase_core/firebase_core/example/analysis_options.yaml index 9103a67fb2d2..b6cd704fb940 100644 --- a/packages/firebase_core/firebase_core/example/analysis_options.yaml +++ b/packages/firebase_core/firebase_core/example/analysis_options.yaml @@ -2,15 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. -analyzer: - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_crashlytics/firebase_crashlytics/example/analysis_options.yaml b/packages/firebase_crashlytics/firebase_crashlytics/example/analysis_options.yaml index 4e83246933e6..9bd5dd18a857 100644 --- a/packages/firebase_crashlytics/firebase_crashlytics/example/analysis_options.yaml +++ b/packages/firebase_crashlytics/firebase_crashlytics/example/analysis_options.yaml @@ -2,15 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. -analyzer: - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** include: ../../../../analysis_options.yaml linter: diff --git a/packages/firebase_database/firebase_database/analysis_options.yaml b/packages/firebase_database/firebase_database/analysis_options.yaml index 8d79b1c4bed0..835470402fcb 100644 --- a/packages/firebase_database/firebase_database/analysis_options.yaml +++ b/packages/firebase_database/firebase_database/analysis_options.yaml @@ -2,15 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. -analyzer: - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** include: ../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_database/firebase_database/example/analysis_options.yaml b/packages/firebase_database/firebase_database/example/analysis_options.yaml index 9103a67fb2d2..b6cd704fb940 100644 --- a/packages/firebase_database/firebase_database/example/analysis_options.yaml +++ b/packages/firebase_database/firebase_database/example/analysis_options.yaml @@ -2,15 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. -analyzer: - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/analysis_options.yaml b/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/analysis_options.yaml index 31fff8a8bcf9..e170d0e35e6e 100644 --- a/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/analysis_options.yaml +++ b/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/analysis_options.yaml @@ -2,15 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. -analyzer: - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_messaging/firebase_messaging/example/analysis_options.yaml b/packages/firebase_messaging/firebase_messaging/example/analysis_options.yaml index 000654a21a3e..29c05d7b61b8 100644 --- a/packages/firebase_messaging/firebase_messaging/example/analysis_options.yaml +++ b/packages/firebase_messaging/firebase_messaging/example/analysis_options.yaml @@ -7,14 +7,6 @@ include: ../../../../analysis_options.yaml analyzer: errors: avoid_print: ignore - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** linter: rules: diff --git a/packages/firebase_performance/firebase_performance/example/analysis_options.yaml b/packages/firebase_performance/firebase_performance/example/analysis_options.yaml index 9103a67fb2d2..b6cd704fb940 100644 --- a/packages/firebase_performance/firebase_performance/example/analysis_options.yaml +++ b/packages/firebase_performance/firebase_performance/example/analysis_options.yaml @@ -2,15 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. -analyzer: - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_remote_config/firebase_remote_config/example/analysis_options.yaml b/packages/firebase_remote_config/firebase_remote_config/example/analysis_options.yaml index 27c61e0b402d..9a316418eecd 100644 --- a/packages/firebase_remote_config/firebase_remote_config/example/analysis_options.yaml +++ b/packages/firebase_remote_config/firebase_remote_config/example/analysis_options.yaml @@ -9,11 +9,3 @@ linter: analyzer: errors: public_member_api_docs: ignore - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** diff --git a/packages/firebase_storage/firebase_storage/example/analysis_options.yaml b/packages/firebase_storage/firebase_storage/example/analysis_options.yaml index 12a70adf9713..8a7be1213fdb 100644 --- a/packages/firebase_storage/firebase_storage/example/analysis_options.yaml +++ b/packages/firebase_storage/firebase_storage/example/analysis_options.yaml @@ -1,12 +1,3 @@ -analyzer: - exclude: - - build/** - - android/** - - ios/** - - web/** - - windows/** - - macos/** - - linux/** include: ../../../../analysis_options.yaml linter: From 6ace3ae7336d1114957dfbfb2d123940f18d30b2 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Fri, 14 Aug 2026 09:16:03 +0000 Subject: [PATCH 4/5] fix(ci): keep Flutter 3.47 analyzer excludes in each analysis_options file The 3.47 migrator only inspects that project's own yaml for build/** and platform globs; include: of the repo root is not enough. --- .../cloud_firestore/example/analysis_options.yaml | 9 +++++++++ .../cloud_functions/example/analysis_options.yaml | 9 +++++++++ .../firebase_ai/example/analysis_options.yaml | 9 +++++++++ .../firebase_analytics/example/analysis_options.yaml | 9 +++++++++ .../firebase_app_check/example/analysis_options.yaml | 9 +++++++++ .../firebase_auth/example/analysis_options.yaml | 9 +++++++++ .../firebase_core/example/analysis_options.yaml | 9 +++++++++ .../firebase_crashlytics/example/analysis_options.yaml | 9 +++++++++ .../firebase_database/analysis_options.yaml | 9 +++++++++ .../firebase_database/example/analysis_options.yaml | 9 +++++++++ .../example/analysis_options.yaml | 9 +++++++++ .../firebase_messaging/example/analysis_options.yaml | 8 ++++++++ .../firebase_performance/example/analysis_options.yaml | 9 +++++++++ .../firebase_remote_config/example/analysis_options.yaml | 8 ++++++++ .../firebase_storage/example/analysis_options.yaml | 9 +++++++++ 15 files changed, 133 insertions(+) diff --git a/packages/cloud_firestore/cloud_firestore/example/analysis_options.yaml b/packages/cloud_firestore/cloud_firestore/example/analysis_options.yaml index 7eb091c6b7d6..e13d3194c4d8 100644 --- a/packages/cloud_firestore/cloud_firestore/example/analysis_options.yaml +++ b/packages/cloud_firestore/cloud_firestore/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/cloud_functions/cloud_functions/example/analysis_options.yaml b/packages/cloud_functions/cloud_functions/example/analysis_options.yaml index 5170ec319b4b..977f9e5d0ba8 100644 --- a/packages/cloud_functions/cloud_functions/example/analysis_options.yaml +++ b/packages/cloud_functions/cloud_functions/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: diff --git a/packages/firebase_ai/firebase_ai/example/analysis_options.yaml b/packages/firebase_ai/firebase_ai/example/analysis_options.yaml index b6cd704fb940..9103a67fb2d2 100644 --- a/packages/firebase_ai/firebase_ai/example/analysis_options.yaml +++ b/packages/firebase_ai/firebase_ai/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_analytics/firebase_analytics/example/analysis_options.yaml b/packages/firebase_analytics/firebase_analytics/example/analysis_options.yaml index b6cd704fb940..9103a67fb2d2 100644 --- a/packages/firebase_analytics/firebase_analytics/example/analysis_options.yaml +++ b/packages/firebase_analytics/firebase_analytics/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_app_check/firebase_app_check/example/analysis_options.yaml b/packages/firebase_app_check/firebase_app_check/example/analysis_options.yaml index b6cd704fb940..9103a67fb2d2 100644 --- a/packages/firebase_app_check/firebase_app_check/example/analysis_options.yaml +++ b/packages/firebase_app_check/firebase_app_check/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_auth/firebase_auth/example/analysis_options.yaml b/packages/firebase_auth/firebase_auth/example/analysis_options.yaml index 201a5ca41972..5d5dcf0b7c82 100644 --- a/packages/firebase_auth/firebase_auth/example/analysis_options.yaml +++ b/packages/firebase_auth/firebase_auth/example/analysis_options.yaml @@ -1,3 +1,12 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: diff --git a/packages/firebase_core/firebase_core/example/analysis_options.yaml b/packages/firebase_core/firebase_core/example/analysis_options.yaml index b6cd704fb940..9103a67fb2d2 100644 --- a/packages/firebase_core/firebase_core/example/analysis_options.yaml +++ b/packages/firebase_core/firebase_core/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_crashlytics/firebase_crashlytics/example/analysis_options.yaml b/packages/firebase_crashlytics/firebase_crashlytics/example/analysis_options.yaml index 9bd5dd18a857..4e83246933e6 100644 --- a/packages/firebase_crashlytics/firebase_crashlytics/example/analysis_options.yaml +++ b/packages/firebase_crashlytics/firebase_crashlytics/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: diff --git a/packages/firebase_database/firebase_database/analysis_options.yaml b/packages/firebase_database/firebase_database/analysis_options.yaml index 835470402fcb..8d79b1c4bed0 100644 --- a/packages/firebase_database/firebase_database/analysis_options.yaml +++ b/packages/firebase_database/firebase_database/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_database/firebase_database/example/analysis_options.yaml b/packages/firebase_database/firebase_database/example/analysis_options.yaml index b6cd704fb940..9103a67fb2d2 100644 --- a/packages/firebase_database/firebase_database/example/analysis_options.yaml +++ b/packages/firebase_database/firebase_database/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/analysis_options.yaml b/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/analysis_options.yaml index e170d0e35e6e..31fff8a8bcf9 100644 --- a/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/analysis_options.yaml +++ b/packages/firebase_in_app_messaging/firebase_in_app_messaging/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_messaging/firebase_messaging/example/analysis_options.yaml b/packages/firebase_messaging/firebase_messaging/example/analysis_options.yaml index 29c05d7b61b8..000654a21a3e 100644 --- a/packages/firebase_messaging/firebase_messaging/example/analysis_options.yaml +++ b/packages/firebase_messaging/firebase_messaging/example/analysis_options.yaml @@ -7,6 +7,14 @@ include: ../../../../analysis_options.yaml analyzer: errors: avoid_print: ignore + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** linter: rules: diff --git a/packages/firebase_performance/firebase_performance/example/analysis_options.yaml b/packages/firebase_performance/firebase_performance/example/analysis_options.yaml index b6cd704fb940..9103a67fb2d2 100644 --- a/packages/firebase_performance/firebase_performance/example/analysis_options.yaml +++ b/packages/firebase_performance/firebase_performance/example/analysis_options.yaml @@ -2,6 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # in the LICENSE file. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: rules: diff --git a/packages/firebase_remote_config/firebase_remote_config/example/analysis_options.yaml b/packages/firebase_remote_config/firebase_remote_config/example/analysis_options.yaml index 9a316418eecd..27c61e0b402d 100644 --- a/packages/firebase_remote_config/firebase_remote_config/example/analysis_options.yaml +++ b/packages/firebase_remote_config/firebase_remote_config/example/analysis_options.yaml @@ -9,3 +9,11 @@ linter: analyzer: errors: public_member_api_docs: ignore + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** diff --git a/packages/firebase_storage/firebase_storage/example/analysis_options.yaml b/packages/firebase_storage/firebase_storage/example/analysis_options.yaml index 8a7be1213fdb..12a70adf9713 100644 --- a/packages/firebase_storage/firebase_storage/example/analysis_options.yaml +++ b/packages/firebase_storage/firebase_storage/example/analysis_options.yaml @@ -1,3 +1,12 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: ../../../../analysis_options.yaml linter: From 8730a7fd9a28b34574a282c6bfad6df2c96facb5 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Fri, 14 Aug 2026 09:44:31 +0000 Subject: [PATCH 5/5] ci(firestore): pin web-wasm e2e to Flutter 3.44.0 Check whether the dart2wasm TFA startAfter failure is specific to unpinned 3.47. --- .github/workflows/e2e_tests_firestore.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/e2e_tests_firestore.yaml b/.github/workflows/e2e_tests_firestore.yaml index 0b1ad1b386e2..f41db07a69d9 100644 --- a/.github/workflows/e2e_tests_firestore.yaml +++ b/.github/workflows/e2e_tests_firestore.yaml @@ -103,6 +103,8 @@ jobs: package-path: 'packages/cloud_firestore/cloud_firestore' package-scope: 'cloud_firestore*' wasm: true + # Diagnostic pin: check whether the dart2wasm TFA startAfter failure is 3.47-only. + flutter-version: '3.44.0' drive-timeout: '300' max-attempts: '2' native-config-args: '--firestore-native'