Skip to content

Commit e72e1ab

Browse files
authored
Merge branch 'firebase:main' into fix-avoid-redundant-confirmation-on-account-deletion
2 parents e3c0323 + 770a486 commit e72e1ab

66 files changed

Lines changed: 358 additions & 213 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/e2e.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8
3333
name: Install Node.js
3434
with:
35-
node-version: "18"
35+
node-version: "22"
3636
- uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73
3737
with:
3838
distribution: "temurin"
@@ -45,7 +45,7 @@ jobs:
4545
- name: Gradle cache
4646
uses: gradle/actions/setup-gradle@v3
4747
- name: AVD cache
48-
uses: actions/cache@v3
48+
uses: actions/cache@v4
4949
id: avd-cache
5050
with:
5151
path: |
@@ -59,7 +59,7 @@ jobs:
5959
- name: "Install Tools"
6060
run: sudo npm i -g firebase-tools
6161
- name: Firebase Emulator Cache
62-
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84
62+
uses: actions/cache@v4
6363
with:
6464
path: ~/.cache/firebase/emulators
6565
key: firebase-emulators-v2-${{ github.run_id }}
@@ -94,7 +94,7 @@ jobs:
9494
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8
9595
name: Install Node.js
9696
with:
97-
node-version: "18"
97+
node-version: "22"
9898
- uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73
9999
with:
100100
distribution: "temurin"
@@ -121,7 +121,7 @@ jobs:
121121
with:
122122
key: ${{ runner.os }}-ios-v3
123123
max-size: 700M
124-
- uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84
124+
- uses: actions/cache@v4
125125
name: Pods Cache
126126
id: pods-cache
127127
with:
@@ -131,7 +131,7 @@ jobs:
131131
- name: "Install Tools"
132132
run: sudo npm i -g firebase-tools
133133
- name: Firebase Emulator Cache
134-
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84
134+
uses: actions/cache@v4
135135
with:
136136
path: ~/.cache/firebase/emulators
137137
key: firebase-emulators-v1-${{ github.run_id }}
@@ -190,7 +190,7 @@ jobs:
190190
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8
191191
name: Install Node.js
192192
with:
193-
node-version: "18"
193+
node-version: "22"
194194
- uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73
195195
with:
196196
distribution: "temurin"
@@ -200,7 +200,7 @@ jobs:
200200
with:
201201
key: ${{ runner.os }}-macos-v2
202202
max-size: 700M
203-
- uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84
203+
- uses: actions/cache@v4
204204
name: Pods Cache
205205
id: pods-cache
206206
with:
@@ -210,7 +210,7 @@ jobs:
210210
- name: "Install Tools"
211211
run: sudo npm i -g firebase-tools
212212
- name: Cache Firebase Emulator
213-
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84
213+
uses: actions/cache@v4
214214
with:
215215
path: ~/.cache/firebase/emulators
216216
key: firebase-emulators-v1-${{ github.run_id }}

CHANGELOG.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,76 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
## 2025-06-10
7+
8+
### Changes
9+
10+
---
11+
12+
Packages with breaking changes:
13+
14+
- There are no breaking changes in this release.
15+
16+
Packages with other changes:
17+
18+
- [`firebase_ui_auth` - `v1.17.0`](#firebase_ui_auth---v1170)
19+
- [`firebase_ui_database` - `v1.5.2`](#firebase_ui_database---v152)
20+
- [`firebase_ui_firestore` - `v1.7.2`](#firebase_ui_firestore---v172)
21+
- [`firebase_ui_localizations` - `v1.14.0`](#firebase_ui_localizations---v1140)
22+
- [`firebase_ui_oauth` - `v1.7.0`](#firebase_ui_oauth---v170)
23+
- [`firebase_ui_oauth_apple` - `v1.3.2`](#firebase_ui_oauth_apple---v132)
24+
- [`firebase_ui_oauth_facebook` - `v1.3.2`](#firebase_ui_oauth_facebook---v132)
25+
- [`firebase_ui_oauth_google` - `v1.4.2`](#firebase_ui_oauth_google---v142)
26+
- [`firebase_ui_oauth_twitter` - `v1.3.2`](#firebase_ui_oauth_twitter---v132)
27+
- [`firebase_ui_storage` - `v2.1.2`](#firebase_ui_storage---v212)
28+
29+
---
30+
31+
#### `firebase_ui_auth` - `v1.17.0`
32+
33+
- **FIX**: bump FF dependencies to latest ([#520](https://github.com/firebase/FirebaseUI-Flutter/issues/520)). ([ac4f1fdd](https://github.com/firebase/FirebaseUI-Flutter/commit/ac4f1fddcee04b020a6384ac74f2571bccafe44e))
34+
- **FEAT**(firebase_ui_auth): Use icon from OAuth provider as a fallback in ProfileScreen ([#474](https://github.com/firebase/FirebaseUI-Flutter/issues/474)). ([55f04ebb](https://github.com/firebase/FirebaseUI-Flutter/commit/55f04ebbf29fcc7f8abe11df1b4e7dfaf04028f5))
35+
36+
#### `firebase_ui_database` - `v1.5.2`
37+
38+
- **FIX**: bump FF dependencies to latest ([#520](https://github.com/firebase/FirebaseUI-Flutter/issues/520)). ([ac4f1fdd](https://github.com/firebase/FirebaseUI-Flutter/commit/ac4f1fddcee04b020a6384ac74f2571bccafe44e))
39+
40+
#### `firebase_ui_firestore` - `v1.7.2`
41+
42+
- **FIX**: bump FF dependencies to latest ([#520](https://github.com/firebase/FirebaseUI-Flutter/issues/520)). ([ac4f1fdd](https://github.com/firebase/FirebaseUI-Flutter/commit/ac4f1fddcee04b020a6384ac74f2571bccafe44e))
43+
44+
#### `firebase_ui_localizations` - `v1.14.0`
45+
46+
- **FIX**: bump FF dependencies to latest ([#520](https://github.com/firebase/FirebaseUI-Flutter/issues/520)). ([ac4f1fdd](https://github.com/firebase/FirebaseUI-Flutter/commit/ac4f1fddcee04b020a6384ac74f2571bccafe44e))
47+
- **FEAT**: Add missing translation values ([#507](https://github.com/firebase/FirebaseUI-Flutter/issues/507)). ([fc0e3da0](https://github.com/firebase/FirebaseUI-Flutter/commit/fc0e3da07388b624e049c3878cbf03f6817a840f))
48+
49+
#### `firebase_ui_oauth` - `v1.7.0`
50+
51+
- **FIX**: bump FF dependencies to latest ([#520](https://github.com/firebase/FirebaseUI-Flutter/issues/520)). ([ac4f1fdd](https://github.com/firebase/FirebaseUI-Flutter/commit/ac4f1fddcee04b020a6384ac74f2571bccafe44e))
52+
- **FEAT**(firebase_ui_auth): Use icon from OAuth provider as a fallback in ProfileScreen ([#474](https://github.com/firebase/FirebaseUI-Flutter/issues/474)). ([55f04ebb](https://github.com/firebase/FirebaseUI-Flutter/commit/55f04ebbf29fcc7f8abe11df1b4e7dfaf04028f5))
53+
54+
#### `firebase_ui_oauth_apple` - `v1.3.2`
55+
56+
- **FIX**: bump FF dependencies to latest ([#520](https://github.com/firebase/FirebaseUI-Flutter/issues/520)). ([ac4f1fdd](https://github.com/firebase/FirebaseUI-Flutter/commit/ac4f1fddcee04b020a6384ac74f2571bccafe44e))
57+
58+
#### `firebase_ui_oauth_facebook` - `v1.3.2`
59+
60+
- **FIX**: bump FF dependencies to latest ([#520](https://github.com/firebase/FirebaseUI-Flutter/issues/520)). ([ac4f1fdd](https://github.com/firebase/FirebaseUI-Flutter/commit/ac4f1fddcee04b020a6384ac74f2571bccafe44e))
61+
62+
#### `firebase_ui_oauth_google` - `v1.4.2`
63+
64+
- **FIX**: bump FF dependencies to latest ([#520](https://github.com/firebase/FirebaseUI-Flutter/issues/520)). ([ac4f1fdd](https://github.com/firebase/FirebaseUI-Flutter/commit/ac4f1fddcee04b020a6384ac74f2571bccafe44e))
65+
66+
#### `firebase_ui_oauth_twitter` - `v1.3.2`
67+
68+
- **FIX**: bump FF dependencies to latest ([#520](https://github.com/firebase/FirebaseUI-Flutter/issues/520)). ([ac4f1fdd](https://github.com/firebase/FirebaseUI-Flutter/commit/ac4f1fddcee04b020a6384ac74f2571bccafe44e))
69+
70+
#### `firebase_ui_storage` - `v2.1.2`
71+
72+
- **FIX**: bump FF dependencies to latest ([#520](https://github.com/firebase/FirebaseUI-Flutter/issues/520)). ([ac4f1fdd](https://github.com/firebase/FirebaseUI-Flutter/commit/ac4f1fddcee04b020a6384ac74f2571bccafe44e))
73+
- **FIX**: progress is NaN when both bytesTransferred & totalBytes are 0 ([#491](https://github.com/firebase/FirebaseUI-Flutter/issues/491)). ([95b5f53a](https://github.com/firebase/FirebaseUI-Flutter/commit/95b5f53a35c06d5f4ac2b8f714400fd1f05524ab))
74+
75+
676
## 2025-01-13
777

878
### Changes

packages/firebase_ui_auth/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 1.17.0
2+
3+
- **FIX**: bump FF dependencies to latest ([#520](https://github.com/firebase/FirebaseUI-Flutter/issues/520)). ([ac4f1fdd](https://github.com/firebase/FirebaseUI-Flutter/commit/ac4f1fddcee04b020a6384ac74f2571bccafe44e))
4+
- **FEAT**(firebase_ui_auth): Use icon from OAuth provider as a fallback in ProfileScreen ([#474](https://github.com/firebase/FirebaseUI-Flutter/issues/474)). ([55f04ebb](https://github.com/firebase/FirebaseUI-Flutter/commit/55f04ebbf29fcc7f8abe11df1b4e7dfaf04028f5))
5+
16
## 1.16.1
27

38
- **FIX**: replace deprecated API and bump FlutterFire dependencies ([#453](https://github.com/firebase/FirebaseUI-Flutter/issues/453)). ([530be48a](https://github.com/firebase/FirebaseUI-Flutter/commit/530be48a4710387832f98059bd34ce07bba1778c))

packages/firebase_ui_auth/example/pubspec.yaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,19 @@ environment:
2222

2323
dependencies:
2424
cupertino_icons: ^1.0.6
25-
firebase_auth: ^5.4.0
26-
firebase_core: ^3.10.0
25+
firebase_auth: ^5.6.0
26+
firebase_core: ^3.14.0
2727
flutter:
2828
sdk: flutter
2929
flutter_localizations:
3030
sdk: flutter
31-
firebase_ui_auth: ^1.16.1
32-
firebase_ui_localizations: ^1.13.1
33-
firebase_ui_oauth: ^1.6.1
34-
firebase_ui_oauth_apple: ^1.3.1
35-
firebase_ui_oauth_facebook: ^1.3.1
36-
firebase_ui_oauth_google: ^1.4.1
37-
firebase_ui_oauth_twitter: ^1.3.1
31+
firebase_ui_auth: ^1.17.0
32+
firebase_ui_localizations: ^1.14.0
33+
firebase_ui_oauth: ^1.7.0
34+
firebase_ui_oauth_apple: ^1.3.2
35+
firebase_ui_oauth_facebook: ^1.3.2
36+
firebase_ui_oauth_google: ^1.4.2
37+
firebase_ui_oauth_twitter: ^1.3.2
3838
dev_dependencies:
3939
drive: ^1.0.0-1.0.nullsafety.5
4040
firebase_ui_shared: ^1.4.1

packages/firebase_ui_auth/lib/src/oauth/provider_resolvers.dart

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44

55
// ignore_for_file: constant_identifier_names
66

7+
import 'package:firebase_ui_auth/firebase_ui_auth.dart';
8+
import 'package:firebase_ui_oauth/firebase_ui_oauth.dart';
79
import 'package:flutter/cupertino.dart';
810
import 'package:flutter/material.dart';
911

10-
import 'social_icons.dart';
11-
1212
const GOOGLE_PROVIDER_ID = 'google.com';
1313
const APPLE_PROVIDER_ID = 'apple.com';
1414
const TWITTER_PROVIDER_ID = 'twitter.com';
@@ -22,31 +22,51 @@ const PASSWORD_PROVIDER_ID = 'password';
2222
/// final icon = providerIcon(context, 'google.com');
2323
/// Icon(icon);
2424
/// ```
25-
IconData providerIcon(BuildContext context, String providerId) {
25+
Widget providerIcon(BuildContext context, AuthProvider provider) {
26+
final providerId = provider.providerId;
2627
final isCupertino = CupertinoUserInterfaceLevel.maybeOf(context) != null;
2728

29+
final IconData? data;
2830
switch (providerId) {
2931
case GOOGLE_PROVIDER_ID:
30-
return SocialIcons.google;
32+
data = SocialIcons.google;
33+
break;
3134
case APPLE_PROVIDER_ID:
32-
return SocialIcons.apple;
35+
data = SocialIcons.apple;
36+
break;
3337
case TWITTER_PROVIDER_ID:
34-
return SocialIcons.twitter;
38+
data = SocialIcons.twitter;
39+
break;
3540
case FACEBOOK_PROVIDER_ID:
36-
return SocialIcons.facebook;
41+
data = SocialIcons.facebook;
42+
break;
3743
case PHONE_PROVIDER_ID:
3844
if (isCupertino) {
39-
return CupertinoIcons.phone;
45+
data = CupertinoIcons.phone;
4046
} else {
41-
return Icons.phone;
47+
data = Icons.phone;
4248
}
49+
break;
4350
case PASSWORD_PROVIDER_ID:
4451
if (isCupertino) {
45-
return CupertinoIcons.mail;
52+
data = CupertinoIcons.mail;
4653
} else {
47-
return Icons.email_outlined;
54+
data = Icons.email_outlined;
4855
}
56+
break;
4957
default:
50-
throw Exception('Unknown provider: $providerId');
58+
data = null;
59+
}
60+
61+
if (data != null) {
62+
return Icon(data);
5163
}
64+
65+
if (provider is OAuthProvider) {
66+
final brightness =
67+
CupertinoTheme.of(context).brightness ?? Theme.of(context).brightness;
68+
return provider.style.iconWidget.getValue(brightness);
69+
}
70+
71+
throw Exception('Unknown provider: $providerId');
5272
}

packages/firebase_ui_auth/lib/src/screens/profile_screen.dart

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -89,15 +89,11 @@ class _AvailableProvidersRowState extends State<_AvailableProvidersRow> {
8989
context: context,
9090
provider: provider,
9191
).then((_) => widget.onProviderLinked()),
92-
child: Icon(
93-
providerIcon(context, provider.providerId),
94-
),
92+
child: providerIcon(context, provider),
9593
)
9694
else
9795
IconButton(
98-
icon: Icon(
99-
providerIcon(context, provider.providerId),
100-
),
96+
icon: providerIcon(context, provider),
10197
onPressed: () => connectProvider(
10298
context: context,
10399
provider: provider,
@@ -246,7 +242,8 @@ class _LinkedProvidersRowState extends State<_LinkedProvidersRow> {
246242
}
247243
}
248244

249-
Widget buildProviderIcon(BuildContext context, String providerId) {
245+
Widget buildProviderIcon(BuildContext context, AuthProvider provider) {
246+
final providerId = provider.providerId;
250247
final isCupertino = CupertinoUserInterfaceLevel.maybeOf(context) != null;
251248
const animationDuration = Duration(milliseconds: 150);
252249
const curve = Curves.easeOut;
@@ -267,7 +264,7 @@ class _LinkedProvidersRowState extends State<_LinkedProvidersRow> {
267264
size: size - (size / 4),
268265
borderWidth: 1,
269266
)
270-
: Icon(providerIcon(context, providerId)),
267+
: providerIcon(context, provider),
271268
),
272269
if (unlinkingProvider != providerId)
273270
AnimatedOpacity(
@@ -306,7 +303,7 @@ class _LinkedProvidersRowState extends State<_LinkedProvidersRow> {
306303
Widget child = Row(
307304
children: [
308305
for (var provider in widget.providers)
309-
buildProviderIcon(context, provider.providerId)
306+
buildProviderIcon(context, provider)
310307
]
311308
.map((e) => [e, const SizedBox(width: 8)])
312309
.expand((element) => element)

packages/firebase_ui_auth/pubspec.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: firebase_ui_auth
22
description: Pre-built widgets library that are integrated with the variety of the Firebase Auth providers.
3-
version: 1.16.1
3+
version: 1.17.0
44
repository: https://github.com/firebase/FirebaseUI-Flutter/tree/master/packages/firebase_ui_auth
55
homepage: https://github.com/firebase/FirebaseUI-Flutter/tree/master/packages/firebase_ui_auth
66

@@ -10,11 +10,11 @@ environment:
1010

1111
dependencies:
1212
email_validator: ^2.1.17
13-
firebase_auth: ^5.4.0
14-
firebase_core: ^3.10.0
15-
firebase_dynamic_links: ^6.1.0
16-
firebase_ui_localizations: ^1.13.1
17-
firebase_ui_oauth: ^1.6.1
13+
firebase_auth: ^5.6.0
14+
firebase_core: ^3.14.0
15+
firebase_dynamic_links: ^6.1.7
16+
firebase_ui_localizations: ^1.14.0
17+
firebase_ui_oauth: ^1.7.0
1818
firebase_ui_shared: ^1.4.1
1919
flutter:
2020
sdk: flutter

packages/firebase_ui_auth/test/widgets/error_text_test.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ void main() {
2323
await tester.pumpWidget(
2424
MaterialApp(
2525
home: ErrorText(exception: exception),
26-
localizationsDelegates: [
26+
localizationsDelegates: const [
2727
FirebaseUILocalizations.delegate,
2828
],
2929
),
@@ -48,7 +48,7 @@ void main() {
4848
await tester.pumpWidget(
4949
MaterialApp(
5050
home: ErrorText(exception: exception),
51-
localizationsDelegates: [
51+
localizationsDelegates: const [
5252
FirebaseUILocalizations.delegate,
5353
],
5454
),

packages/firebase_ui_database/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.5.2
2+
3+
- **FIX**: bump FF dependencies to latest ([#520](https://github.com/firebase/FirebaseUI-Flutter/issues/520)). ([ac4f1fdd](https://github.com/firebase/FirebaseUI-Flutter/commit/ac4f1fddcee04b020a6384ac74f2571bccafe44e))
4+
15
## 1.5.1
26

37
- **FIX**: replace deprecated API and bump FlutterFire dependencies ([#453](https://github.com/firebase/FirebaseUI-Flutter/issues/453)). ([530be48a](https://github.com/firebase/FirebaseUI-Flutter/commit/530be48a4710387832f98059bd34ce07bba1778c))

packages/firebase_ui_database/example/pubspec.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ environment:
2929
dependencies:
3030
flutter:
3131
sdk: flutter
32-
firebase_ui_database: ^1.5.1
32+
firebase_ui_database: ^1.5.2
3333
# The following adds the Cupertino Icons font to your application.
3434
# Use with the CupertinoIcons class for iOS style icons.
3535
cupertino_icons: ^1.0.6
36-
firebase_core: ^3.10.0
37-
firebase_database: ^11.3.0
36+
firebase_core: ^3.14.0
37+
firebase_database: ^11.3.7
3838
dev_dependencies:
3939
drive: ^1.0.0-1.0.nullsafety.5
4040
flutter_test:

0 commit comments

Comments
 (0)