Skip to content

Commit 21fe1d9

Browse files
Merge master into release
2 parents 568d34f + 58bae87 commit 21fe1d9

File tree

77 files changed

+3659
-651
lines changed

Some content is hidden

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

77 files changed

+3659
-651
lines changed

.changeset/brown-beers-tease.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@firebase/firestore": minor
3+
"firebase": minor
4+
---
5+
6+
Introduces a new way to config Firestore SDK Cache.

.changeset/friendly-ads-yell.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@firebase/firestore': patch
3+
'firebase': patch
4+
---
5+
6+
Check that DOMException exists before referencing it, to fix react-native, which was broken by https://github.com/firebase/firebase-js-sdk/pull/7019 in v9.17.2.

.changeset/hot-experts-talk.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@firebase/auth': patch
3+
---
4+
5+
Support TOTP as a multi-factor option in Firebase Auth/GCIP.

.changeset/plenty-radios-look.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@firebase/firestore': patch
3+
'firebase': patch
4+
---
5+
6+
Remove the deprecated gapi.auth from FirstPartyToken.

.changeset/sixty-buckets-repeat.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@firebase/auth': patch
3+
---
4+
5+
Modify \_fail to use AuthErrorCode.NETWORK_REQUEST_FAILED

.changeset/wet-cooks-doubt.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@firebase/analytics': patch
3+
---
4+
5+
Use the Trusted Types API when composing the gtag URL.

.github/workflows/test-changed-auth.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,13 @@ jobs:
1414
steps:
1515
# install Chrome first, so the correct version of webdriver can be installed by chromedriver when setting up the repo
1616
- name: install Chrome stable
17+
# Install Chrome version 110.0.5481.177-1 as test starts to fail on version 111.0.5563.64-1.
18+
# We will retry to use the latest, once Chrome releases stable version 112 (April 4 ETA).
1719
run: |
1820
sudo apt-get update
19-
sudo apt-get install google-chrome-stable
21+
sudo apt-get install wget
22+
sudo wget http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_110.0.5481.177-1_amd64.deb
23+
sudo apt-get install -f ./google-chrome-stable_110.0.5481.177-1_amd64.deb --allow-downgrades
2024
- name: Checkout Repo
2125
uses: actions/checkout@master
2226
with:

.github/workflows/update-api-reports.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
run: yarn build
2828
id: update-api-reports
2929
- name: Commit & Push changes
30-
uses: EndBug/add-and-commit@v7
30+
uses: EndBug/add-and-commit@v9
3131
with:
3232
add: 'common/api-review/*'
3333
message: 'Update API reports'

common/api-review/auth.api.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,7 @@ export class FacebookAuthProvider extends BaseOAuthProvider {
361361
// @public
362362
export const FactorId: {
363363
readonly PHONE: "phone";
364+
readonly TOTP: "totp";
364365
};
365366

366367
// @public
@@ -745,6 +746,41 @@ export function signInWithRedirect(auth: Auth, provider: AuthProvider, resolver?
745746
// @public
746747
export function signOut(auth: Auth): Promise<void>;
747748

749+
// @public
750+
export interface TotpMultiFactorAssertion extends MultiFactorAssertion {
751+
}
752+
753+
// @public
754+
export class TotpMultiFactorGenerator {
755+
static assertionForEnrollment(secret: TotpSecret, oneTimePassword: string): TotpMultiFactorAssertion;
756+
static assertionForSignIn(enrollmentId: string, oneTimePassword: string): TotpMultiFactorAssertion;
757+
// Warning: (ae-forgotten-export) The symbol "FactorId" needs to be exported by the entry point index.d.ts
758+
static FACTOR_ID: FactorId_2;
759+
static generateSecret(session: MultiFactorSession): Promise<TotpSecret>;
760+
}
761+
762+
// @public
763+
export interface TotpMultiFactorInfo extends MultiFactorInfo {
764+
}
765+
766+
// @public
767+
export class TotpSecret {
768+
readonly codeIntervalSeconds: number;
769+
readonly codeLength: number;
770+
readonly enrollmentCompletionDeadline: string;
771+
// Warning: (ae-forgotten-export) The symbol "StartTotpMfaEnrollmentResponse" needs to be exported by the entry point index.d.ts
772+
//
773+
// @internal (undocumented)
774+
static _fromStartTotpMfaEnrollmentResponse(response: StartTotpMfaEnrollmentResponse, auth: AuthInternal): TotpSecret;
775+
generateQrCodeUrl(accountName?: string, issuer?: string): string;
776+
readonly hashingAlgorithm: string;
777+
// Warning: (ae-forgotten-export) The symbol "TotpVerificationInfo" needs to be exported by the entry point index.d.ts
778+
//
779+
// @internal (undocumented)
780+
_makeTotpVerificationInfo(otp: string): TotpVerificationInfo;
781+
readonly secretKey: string;
782+
}
783+
748784
// @public
749785
export class TwitterAuthProvider extends BaseOAuthProvider {
750786
constructor();

common/api-review/firestore.api.md

Lines changed: 56 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,10 @@ export class DocumentSnapshot<T = DocumentData> {
163163

164164
export { EmulatorMockTokenOptions }
165165

166-
// @public
166+
// @public @deprecated
167167
export function enableIndexedDbPersistence(firestore: Firestore, persistenceSettings?: PersistenceSettings): Promise<void>;
168168

169-
// @public
169+
// @public @deprecated
170170
export function enableMultiTabIndexedDbPersistence(firestore: Firestore): Promise<void>;
171171

172172
// @public
@@ -219,13 +219,17 @@ export class FirestoreError extends FirebaseError {
219219
// @public
220220
export type FirestoreErrorCode = 'cancelled' | 'unknown' | 'invalid-argument' | 'deadline-exceeded' | 'not-found' | 'already-exists' | 'permission-denied' | 'resource-exhausted' | 'failed-precondition' | 'aborted' | 'out-of-range' | 'unimplemented' | 'internal' | 'unavailable' | 'data-loss' | 'unauthenticated';
221221

222+
// @public
223+
export type FirestoreLocalCache = MemoryLocalCache | PersistentLocalCache;
224+
222225
// @public
223226
export interface FirestoreSettings {
224227
cacheSizeBytes?: number;
225228
experimentalAutoDetectLongPolling?: boolean;
226229
experimentalForceLongPolling?: boolean;
227230
host?: string;
228231
ignoreUndefinedProperties?: boolean;
232+
localCache?: FirestoreLocalCache;
229233
ssl?: boolean;
230234
}
231235

@@ -327,6 +331,15 @@ export interface LoadBundleTaskProgress {
327331

328332
export { LogLevel }
329333

334+
// @public
335+
export interface MemoryLocalCache {
336+
// (undocumented)
337+
kind: 'memory';
338+
}
339+
340+
// @public
341+
export function memoryLocalCache(): MemoryLocalCache;
342+
330343
// @public
331344
export function namedQuery(firestore: Firestore, name: string): Promise<Query | null>;
332345

@@ -404,6 +417,47 @@ export interface PersistenceSettings {
404417
forceOwnership?: boolean;
405418
}
406419

420+
// @public
421+
export interface PersistentCacheSettings {
422+
cacheSizeBytes?: number;
423+
tabManager?: PersistentTabManager;
424+
}
425+
426+
// @public
427+
export interface PersistentLocalCache {
428+
// (undocumented)
429+
kind: 'persistent';
430+
}
431+
432+
// @public
433+
export function persistentLocalCache(settings?: PersistentCacheSettings): PersistentLocalCache;
434+
435+
// @public
436+
export interface PersistentMultipleTabManager {
437+
// (undocumented)
438+
kind: 'PersistentMultipleTab';
439+
}
440+
441+
// @public
442+
export function persistentMultipleTabManager(): PersistentMultipleTabManager;
443+
444+
// @public
445+
export interface PersistentSingleTabManager {
446+
// (undocumented)
447+
kind: 'persistentSingleTab';
448+
}
449+
450+
// @public
451+
export function persistentSingleTabManager(settings: PersistentSingleTabManagerSettings | undefined): PersistentSingleTabManager;
452+
453+
// @public
454+
export interface PersistentSingleTabManagerSettings {
455+
forceOwnership?: boolean;
456+
}
457+
458+
// @public
459+
export type PersistentTabManager = PersistentSingleTabManager | PersistentMultipleTabManager;
460+
407461
// @public
408462
export type Primitive = string | number | boolean | undefined | null;
409463

0 commit comments

Comments
 (0)