@firebase/auth 1.13.5 → 1.13.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/auth-public.d.ts +4 -1
  2. package/dist/auth.d.ts +5 -1
  3. package/dist/browser-cjs/{index-DY73Er5u.js → index-DBOuNQej.js} +75 -24
  4. package/dist/browser-cjs/index-DBOuNQej.js.map +1 -0
  5. package/dist/browser-cjs/index.js +1 -1
  6. package/dist/browser-cjs/internal.js +1 -1
  7. package/dist/browser-cjs/src/core/user/account_info.d.ts +1 -1
  8. package/dist/cordova/auth-cordova-public.d.ts +4 -1
  9. package/dist/cordova/auth-cordova.d.ts +5 -1
  10. package/dist/cordova/index.js +2 -2
  11. package/dist/cordova/internal.js +2 -2
  12. package/dist/cordova/{popup_redirect-D_ZWtJhY.js → popup_redirect-CHQiJtfZ.js} +75 -24
  13. package/dist/cordova/popup_redirect-CHQiJtfZ.js.map +1 -0
  14. package/dist/cordova/src/core/user/account_info.d.ts +1 -1
  15. package/dist/cordova/tsdoc-metadata.json +1 -1
  16. package/dist/esm/{index-CvXU3_1x.js → index-4NFEPWkC.js} +75 -24
  17. package/dist/esm/index-4NFEPWkC.js.map +1 -0
  18. package/dist/esm/index.js +1 -1
  19. package/dist/esm/internal.js +2 -2
  20. package/dist/esm/src/core/user/account_info.d.ts +1 -1
  21. package/dist/index.webworker.js +74 -23
  22. package/dist/index.webworker.js.map +1 -1
  23. package/dist/node/index.js +1 -1
  24. package/dist/node/internal.js +1 -1
  25. package/dist/node/src/core/user/account_info.d.ts +1 -1
  26. package/dist/node/{totp-B19JzI52.js → totp-C8DKrPQi.js} +69 -16
  27. package/dist/node/totp-C8DKrPQi.js.map +1 -0
  28. package/dist/node-esm/index.js +1 -1
  29. package/dist/node-esm/internal.js +2 -2
  30. package/dist/node-esm/src/core/user/account_info.d.ts +1 -1
  31. package/dist/node-esm/{totp-C24pd8aS.js → totp-BU9AvxK8.js} +69 -16
  32. package/dist/node-esm/totp-BU9AvxK8.js.map +1 -0
  33. package/dist/rn/{index-CiDS6PaG.js → index-DSVEw5ju.js} +69 -16
  34. package/dist/rn/index-DSVEw5ju.js.map +1 -0
  35. package/dist/rn/index.js +1 -1
  36. package/dist/rn/internal.js +7 -9
  37. package/dist/rn/internal.js.map +1 -1
  38. package/dist/rn/src/core/user/account_info.d.ts +1 -1
  39. package/dist/src/core/user/account_info.d.ts +1 -1
  40. package/dist/tsdoc-metadata.json +1 -1
  41. package/dist/web-extension-cjs/index.js +1 -1
  42. package/dist/web-extension-cjs/internal.js +1 -1
  43. package/dist/web-extension-cjs/{register-dQ43sygv.js → register-eaUKtaNP.js} +75 -24
  44. package/dist/web-extension-cjs/register-eaUKtaNP.js.map +1 -0
  45. package/dist/web-extension-cjs/src/core/user/account_info.d.ts +1 -1
  46. package/dist/web-extension-esm/auth-web-extension-public.d.ts +1 -1
  47. package/dist/web-extension-esm/auth-web-extension.d.ts +1 -1
  48. package/dist/web-extension-esm/index.js +2 -2
  49. package/dist/web-extension-esm/internal.js +2 -2
  50. package/dist/web-extension-esm/{register-DN05P0kB.js → register-CPcgXhGD.js} +75 -24
  51. package/dist/web-extension-esm/register-CPcgXhGD.js.map +1 -0
  52. package/dist/web-extension-esm/src/core/user/account_info.d.ts +1 -1
  53. package/dist/web-extension-esm/tsdoc-metadata.json +1 -1
  54. package/package.json +3 -3
  55. package/dist/browser-cjs/index-DY73Er5u.js.map +0 -1
  56. package/dist/cordova/popup_redirect-D_ZWtJhY.js.map +0 -1
  57. package/dist/esm/index-CvXU3_1x.js.map +0 -1
  58. package/dist/node/totp-B19JzI52.js.map +0 -1
  59. package/dist/node-esm/totp-C24pd8aS.js.map +0 -1
  60. package/dist/rn/index-CiDS6PaG.js.map +0 -1
  61. package/dist/web-extension-cjs/register-dQ43sygv.js.map +0 -1
  62. package/dist/web-extension-esm/register-DN05P0kB.js.map +0 -1
@@ -1120,6 +1120,7 @@ declare const enum EnforcementState {
1120
1120
  OFF = "OFF",
1121
1121
  ENFORCEMENT_STATE_UNSPECIFIED = "ENFORCEMENT_STATE_UNSPECIFIED"
1122
1122
  }
1123
+
1123
1124
  export { ErrorFn }
1124
1125
 
1125
1126
  /* Excluded from this release type: EventManager */
@@ -2028,6 +2029,7 @@ export declare interface MultiFactorUser {
2028
2029
  declare type MutableUserInfo = {
2029
2030
  -readonly [K in keyof UserInfo]: UserInfo[K];
2030
2031
  };
2032
+
2031
2033
  export { NextFn }
2032
2034
 
2033
2035
  /**
@@ -3692,6 +3694,7 @@ export declare class TwitterAuthProvider extends BaseOAuthProvider {
3692
3694
  * @public
3693
3695
  */
3694
3696
  export declare function unlink(user: User, providerId: string): Promise<User>;
3697
+
3695
3698
  export { Unsubscribe }
3696
3699
 
3697
3700
  /**
@@ -3791,7 +3794,7 @@ export declare function updatePhoneNumber(user: User, credential: PhoneAuthCrede
3791
3794
  *
3792
3795
  * @public
3793
3796
  */
3794
- export declare function updateProfile(user: User, { displayName, photoURL: photoUrl }: {
3797
+ export declare function updateProfile(user: User, profile: {
3795
3798
  displayName?: string | null;
3796
3799
  photoURL?: string | null;
3797
3800
  }): Promise<void>;
package/dist/auth.d.ts CHANGED
@@ -1051,6 +1051,7 @@ declare const enum ClientPlatform {
1051
1051
  WORKER = "Worker",
1052
1052
  WEB_EXTENSION = "WebExtension"
1053
1053
  }
1054
+
1054
1055
  export { CompleteFn }
1055
1056
 
1056
1057
  /**
@@ -1405,6 +1406,7 @@ declare const enum EnforcementState {
1405
1406
  OFF = "OFF",
1406
1407
  ENFORCEMENT_STATE_UNSPECIFIED = "ENFORCEMENT_STATE_UNSPECIFIED"
1407
1408
  }
1409
+
1408
1410
  export { ErrorFn }
1409
1411
 
1410
1412
  /**
@@ -2374,6 +2376,7 @@ export declare interface MultiFactorUser {
2374
2376
  declare type MutableUserInfo = {
2375
2377
  -readonly [K in keyof UserInfo]: UserInfo[K];
2376
2378
  };
2379
+
2377
2380
  export { NextFn }
2378
2381
 
2379
2382
  /**
@@ -4222,6 +4225,7 @@ export declare class TwitterAuthProvider extends BaseOAuthProvider {
4222
4225
  * @public
4223
4226
  */
4224
4227
  export declare function unlink(user: User, providerId: string): Promise<User>;
4228
+
4225
4229
  export { Unsubscribe }
4226
4230
 
4227
4231
  /**
@@ -4321,7 +4325,7 @@ export declare function updatePhoneNumber(user: User, credential: PhoneAuthCrede
4321
4325
  *
4322
4326
  * @public
4323
4327
  */
4324
- export declare function updateProfile(user: User, { displayName, photoURL: photoUrl }: {
4328
+ export declare function updateProfile(user: User, profile: {
4325
4329
  displayName?: string | null;
4326
4330
  photoURL?: string | null;
4327
4331
  }): Promise<void>;
@@ -2091,7 +2091,12 @@ class PersistenceUserManager {
2091
2091
  this.fullUserKey = _persistenceKeyName(this.userKey, config.apiKey, name);
2092
2092
  this.fullPersistenceKey = _persistenceKeyName("persistence" /* KeyName.PERSISTENCE_USER */, config.apiKey, name);
2093
2093
  this.boundEventHandler = auth._onStorageEvent.bind(auth);
2094
- this.persistence._addListener(this.fullUserKey, this.boundEventHandler);
2094
+ try {
2095
+ this.persistence._addListener(this.fullUserKey, this.boundEventHandler);
2096
+ }
2097
+ catch {
2098
+ // Best effort; ignore errors if addListener throws
2099
+ }
2095
2100
  }
2096
2101
  setCurrentUser(user) {
2097
2102
  return this.persistence._set(this.fullUserKey, user.toJSON());
@@ -2128,7 +2133,10 @@ class PersistenceUserManager {
2128
2133
  }
2129
2134
  }
2130
2135
  delete() {
2131
- this.persistence._removeListener(this.fullUserKey, this.boundEventHandler);
2136
+ try {
2137
+ this.persistence._removeListener(this.fullUserKey, this.boundEventHandler);
2138
+ }
2139
+ catch { }
2132
2140
  }
2133
2141
  static async create(auth, persistenceHierarchy, userKey = "authUser" /* KeyName.AUTH_USER */) {
2134
2142
  if (!persistenceHierarchy.length) {
@@ -2136,8 +2144,13 @@ class PersistenceUserManager {
2136
2144
  }
2137
2145
  // Eliminate any persistences that are not available
2138
2146
  const availablePersistences = (await Promise.all(persistenceHierarchy.map(async (persistence) => {
2139
- if (await persistence._isAvailable()) {
2140
- return persistence;
2147
+ try {
2148
+ if (await persistence._isAvailable()) {
2149
+ return persistence;
2150
+ }
2151
+ }
2152
+ catch {
2153
+ return undefined;
2141
2154
  }
2142
2155
  return undefined;
2143
2156
  }))).filter(persistence => persistence);
@@ -2687,8 +2700,16 @@ class AuthImpl {
2687
2700
  if (this._deleted) {
2688
2701
  return;
2689
2702
  }
2690
- this.persistenceManager = await PersistenceUserManager.create(this, persistenceHierarchy);
2691
- this._resolvePersistenceManagerAvailable?.();
2703
+ try {
2704
+ this.persistenceManager = await PersistenceUserManager.create(this, persistenceHierarchy);
2705
+ }
2706
+ catch (e) {
2707
+ _logWarn(`Failed to initialize persistence: ${e}`);
2708
+ this.persistenceManager = await PersistenceUserManager.create(this, []);
2709
+ }
2710
+ finally {
2711
+ this._resolvePersistenceManagerAvailable?.();
2712
+ }
2692
2713
  if (this._deleted) {
2693
2714
  return;
2694
2715
  }
@@ -2703,7 +2724,13 @@ class AuthImpl {
2703
2724
  /* Ignore the error */
2704
2725
  }
2705
2726
  }
2706
- await this.initializeCurrentUser(popupRedirectResolver);
2727
+ try {
2728
+ await this.initializeCurrentUser(popupRedirectResolver);
2729
+ }
2730
+ catch (e) {
2731
+ _logWarn(`Failed to initialize current user: ${e}`);
2732
+ await this.directlySetCurrentUser(null).catch(() => { });
2733
+ }
2707
2734
  this.lastNotifiedUid = this.currentUser?.uid || null;
2708
2735
  if (this._deleted) {
2709
2736
  return;
@@ -3101,11 +3128,26 @@ class AuthImpl {
3101
3128
  _assert(promise, this, "internal-error" /* AuthErrorCode.INTERNAL_ERROR */);
3102
3129
  // The callback needs to be called asynchronously per the spec.
3103
3130
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
3104
- promise.then(() => {
3131
+ promise
3132
+ .then(() => {
3105
3133
  if (isUnsubscribed) {
3106
3134
  return;
3107
3135
  }
3108
3136
  cb(this.currentUser);
3137
+ })
3138
+ .catch(err => {
3139
+ if (isUnsubscribed) {
3140
+ return;
3141
+ }
3142
+ if (typeof nextOrObserver !== 'function' && nextOrObserver.error) {
3143
+ nextOrObserver.error(err);
3144
+ }
3145
+ else if (error) {
3146
+ error(err);
3147
+ }
3148
+ else {
3149
+ throw err;
3150
+ }
3109
3151
  });
3110
3152
  if (typeof nextOrObserver === 'function') {
3111
3153
  const unsubscribe = subscription.addObserver(nextOrObserver, error, completed);
@@ -3135,11 +3177,21 @@ class AuthImpl {
3135
3177
  user._startProactiveRefresh();
3136
3178
  }
3137
3179
  this.currentUser = user;
3138
- if (user) {
3139
- await this.assertedPersistence.setCurrentUser(user);
3140
- }
3141
- else {
3142
- await this.assertedPersistence.removeCurrentUser();
3180
+ if (this.persistenceManager) {
3181
+ try {
3182
+ if (user) {
3183
+ await this.persistenceManager.setCurrentUser(user);
3184
+ }
3185
+ else {
3186
+ await this.persistenceManager.removeCurrentUser();
3187
+ }
3188
+ }
3189
+ catch (e) {
3190
+ const originalMessage = e?.message || String(e);
3191
+ const error = _errorWithCustomMessage(this, "internal-error" /* AuthErrorCode.INTERNAL_ERROR */, `An internal AuthError has occurred: ${originalMessage}`);
3192
+ error.customData = { originalError: e };
3193
+ throw error;
3194
+ }
3143
3195
  }
3144
3196
  }
3145
3197
  queue(action) {
@@ -6716,7 +6768,8 @@ async function updateProfile$1(auth, request) {
6716
6768
  *
6717
6769
  * @public
6718
6770
  */
6719
- async function updateProfile(user, { displayName, photoURL: photoUrl }) {
6771
+ async function updateProfile(user, profile) {
6772
+ const { displayName, photoURL: photoUrl } = profile;
6720
6773
  if (displayName === undefined && photoUrl === undefined) {
6721
6774
  return;
6722
6775
  }
@@ -8297,9 +8350,6 @@ class IndexedDBLocalPersistence {
8297
8350
  this.initializeServiceWorkerMessaging().then(() => { }, () => { });
8298
8351
  }
8299
8352
  async _openDb() {
8300
- if (this.isClosing) {
8301
- throw new Error('Database is closing');
8302
- }
8303
8353
  if (this.dbPromise) {
8304
8354
  return this.dbPromise;
8305
8355
  }
@@ -8317,16 +8367,17 @@ class IndexedDBLocalPersistence {
8317
8367
  return await op(db);
8318
8368
  }
8319
8369
  catch (e) {
8320
- if (this.isClosing) {
8321
- throw e;
8322
- }
8323
8370
  if (numAttempts++ > _TRANSACTION_RETRY_COUNT) {
8324
8371
  throw e;
8325
8372
  }
8326
8373
  if (this.dbPromise) {
8327
- const db = await this.dbPromise;
8328
- db.close();
8374
+ const dbPromise = this.dbPromise;
8329
8375
  this.dbPromise = null;
8376
+ try {
8377
+ const db = await dbPromise;
8378
+ db.close();
8379
+ }
8380
+ catch { }
8330
8381
  }
8331
8382
  // TODO: consider adding exponential backoff
8332
8383
  }
@@ -11016,7 +11067,7 @@ function _isEmptyString(input) {
11016
11067
  }
11017
11068
 
11018
11069
  var name = "@firebase/auth";
11019
- var version = "1.13.5";
11070
+ var version = "1.13.6";
11020
11071
 
11021
11072
  /**
11022
11073
  * @license
@@ -11376,4 +11427,4 @@ exports.useDeviceLanguage = useDeviceLanguage;
11376
11427
  exports.validatePassword = validatePassword;
11377
11428
  exports.verifyBeforeUpdateEmail = verifyBeforeUpdateEmail;
11378
11429
  exports.verifyPasswordResetCode = verifyPasswordResetCode;
11379
- //# sourceMappingURL=index-DY73Er5u.js.map
11430
+ //# sourceMappingURL=index-DBOuNQej.js.map