@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
@@ -23,7 +23,7 @@ import { User } from '../../model/public_types';
23
23
  *
24
24
  * @public
25
25
  */
26
- export declare function updateProfile(user: User, { displayName, photoURL: photoUrl }: {
26
+ export declare function updateProfile(user: User, profile: {
27
27
  displayName?: string | null;
28
28
  photoURL?: string | null;
29
29
  }): Promise<void>;
@@ -23,7 +23,7 @@ import { User } from '../../model/public_types';
23
23
  *
24
24
  * @public
25
25
  */
26
- export declare function updateProfile(user: User, { displayName, photoURL: photoUrl }: {
26
+ export declare function updateProfile(user: User, profile: {
27
27
  displayName?: string | null;
28
28
  photoURL?: string | null;
29
29
  }): Promise<void>;
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "0.1.2"
8
+ "packageVersion": "7.58.13"
9
9
  }
10
10
  ]
11
11
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var register = require('./register-dQ43sygv.js');
5
+ var register = require('./register-eaUKtaNP.js');
6
6
  var app = require('@firebase/app');
7
7
  var util = require('@firebase/util');
8
8
  require('@firebase/component');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var register = require('./register-dQ43sygv.js');
5
+ var register = require('./register-eaUKtaNP.js');
6
6
  var util = require('@firebase/util');
7
7
  var app = require('@firebase/app');
8
8
  require('@firebase/component');
@@ -1992,7 +1992,12 @@ class PersistenceUserManager {
1992
1992
  this.fullUserKey = _persistenceKeyName(this.userKey, config.apiKey, name);
1993
1993
  this.fullPersistenceKey = _persistenceKeyName("persistence" /* KeyName.PERSISTENCE_USER */, config.apiKey, name);
1994
1994
  this.boundEventHandler = auth._onStorageEvent.bind(auth);
1995
- this.persistence._addListener(this.fullUserKey, this.boundEventHandler);
1995
+ try {
1996
+ this.persistence._addListener(this.fullUserKey, this.boundEventHandler);
1997
+ }
1998
+ catch {
1999
+ // Best effort; ignore errors if addListener throws
2000
+ }
1996
2001
  }
1997
2002
  setCurrentUser(user) {
1998
2003
  return this.persistence._set(this.fullUserKey, user.toJSON());
@@ -2029,7 +2034,10 @@ class PersistenceUserManager {
2029
2034
  }
2030
2035
  }
2031
2036
  delete() {
2032
- this.persistence._removeListener(this.fullUserKey, this.boundEventHandler);
2037
+ try {
2038
+ this.persistence._removeListener(this.fullUserKey, this.boundEventHandler);
2039
+ }
2040
+ catch { }
2033
2041
  }
2034
2042
  static async create(auth, persistenceHierarchy, userKey = "authUser" /* KeyName.AUTH_USER */) {
2035
2043
  if (!persistenceHierarchy.length) {
@@ -2037,8 +2045,13 @@ class PersistenceUserManager {
2037
2045
  }
2038
2046
  // Eliminate any persistences that are not available
2039
2047
  const availablePersistences = (await Promise.all(persistenceHierarchy.map(async (persistence) => {
2040
- if (await persistence._isAvailable()) {
2041
- return persistence;
2048
+ try {
2049
+ if (await persistence._isAvailable()) {
2050
+ return persistence;
2051
+ }
2052
+ }
2053
+ catch {
2054
+ return undefined;
2042
2055
  }
2043
2056
  return undefined;
2044
2057
  }))).filter(persistence => persistence);
@@ -2588,8 +2601,16 @@ class AuthImpl {
2588
2601
  if (this._deleted) {
2589
2602
  return;
2590
2603
  }
2591
- this.persistenceManager = await PersistenceUserManager.create(this, persistenceHierarchy);
2592
- this._resolvePersistenceManagerAvailable?.();
2604
+ try {
2605
+ this.persistenceManager = await PersistenceUserManager.create(this, persistenceHierarchy);
2606
+ }
2607
+ catch (e) {
2608
+ _logWarn(`Failed to initialize persistence: ${e}`);
2609
+ this.persistenceManager = await PersistenceUserManager.create(this, []);
2610
+ }
2611
+ finally {
2612
+ this._resolvePersistenceManagerAvailable?.();
2613
+ }
2593
2614
  if (this._deleted) {
2594
2615
  return;
2595
2616
  }
@@ -2604,7 +2625,13 @@ class AuthImpl {
2604
2625
  /* Ignore the error */
2605
2626
  }
2606
2627
  }
2607
- await this.initializeCurrentUser(popupRedirectResolver);
2628
+ try {
2629
+ await this.initializeCurrentUser(popupRedirectResolver);
2630
+ }
2631
+ catch (e) {
2632
+ _logWarn(`Failed to initialize current user: ${e}`);
2633
+ await this.directlySetCurrentUser(null).catch(() => { });
2634
+ }
2608
2635
  this.lastNotifiedUid = this.currentUser?.uid || null;
2609
2636
  if (this._deleted) {
2610
2637
  return;
@@ -3002,11 +3029,26 @@ class AuthImpl {
3002
3029
  _assert(promise, this, "internal-error" /* AuthErrorCode.INTERNAL_ERROR */);
3003
3030
  // The callback needs to be called asynchronously per the spec.
3004
3031
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
3005
- promise.then(() => {
3032
+ promise
3033
+ .then(() => {
3006
3034
  if (isUnsubscribed) {
3007
3035
  return;
3008
3036
  }
3009
3037
  cb(this.currentUser);
3038
+ })
3039
+ .catch(err => {
3040
+ if (isUnsubscribed) {
3041
+ return;
3042
+ }
3043
+ if (typeof nextOrObserver !== 'function' && nextOrObserver.error) {
3044
+ nextOrObserver.error(err);
3045
+ }
3046
+ else if (error) {
3047
+ error(err);
3048
+ }
3049
+ else {
3050
+ throw err;
3051
+ }
3010
3052
  });
3011
3053
  if (typeof nextOrObserver === 'function') {
3012
3054
  const unsubscribe = subscription.addObserver(nextOrObserver, error, completed);
@@ -3036,11 +3078,21 @@ class AuthImpl {
3036
3078
  user._startProactiveRefresh();
3037
3079
  }
3038
3080
  this.currentUser = user;
3039
- if (user) {
3040
- await this.assertedPersistence.setCurrentUser(user);
3041
- }
3042
- else {
3043
- await this.assertedPersistence.removeCurrentUser();
3081
+ if (this.persistenceManager) {
3082
+ try {
3083
+ if (user) {
3084
+ await this.persistenceManager.setCurrentUser(user);
3085
+ }
3086
+ else {
3087
+ await this.persistenceManager.removeCurrentUser();
3088
+ }
3089
+ }
3090
+ catch (e) {
3091
+ const originalMessage = e?.message || String(e);
3092
+ const error = _errorWithCustomMessage(this, "internal-error" /* AuthErrorCode.INTERNAL_ERROR */, `An internal AuthError has occurred: ${originalMessage}`);
3093
+ error.customData = { originalError: e };
3094
+ throw error;
3095
+ }
3044
3096
  }
3045
3097
  }
3046
3098
  queue(action) {
@@ -6617,7 +6669,8 @@ async function updateProfile$1(auth, request) {
6617
6669
  *
6618
6670
  * @public
6619
6671
  */
6620
- async function updateProfile(user, { displayName, photoURL: photoUrl }) {
6672
+ async function updateProfile(user, profile) {
6673
+ const { displayName, photoURL: photoUrl } = profile;
6621
6674
  if (displayName === undefined && photoUrl === undefined) {
6622
6675
  return;
6623
6676
  }
@@ -7782,9 +7835,6 @@ class IndexedDBLocalPersistence {
7782
7835
  this.initializeServiceWorkerMessaging().then(() => { }, () => { });
7783
7836
  }
7784
7837
  async _openDb() {
7785
- if (this.isClosing) {
7786
- throw new Error('Database is closing');
7787
- }
7788
7838
  if (this.dbPromise) {
7789
7839
  return this.dbPromise;
7790
7840
  }
@@ -7802,16 +7852,17 @@ class IndexedDBLocalPersistence {
7802
7852
  return await op(db);
7803
7853
  }
7804
7854
  catch (e) {
7805
- if (this.isClosing) {
7806
- throw e;
7807
- }
7808
7855
  if (numAttempts++ > _TRANSACTION_RETRY_COUNT) {
7809
7856
  throw e;
7810
7857
  }
7811
7858
  if (this.dbPromise) {
7812
- const db = await this.dbPromise;
7813
- db.close();
7859
+ const dbPromise = this.dbPromise;
7814
7860
  this.dbPromise = null;
7861
+ try {
7862
+ const db = await dbPromise;
7863
+ db.close();
7864
+ }
7865
+ catch { }
7815
7866
  }
7816
7867
  // TODO: consider adding exponential backoff
7817
7868
  }
@@ -8222,7 +8273,7 @@ function _isEmptyString(input) {
8222
8273
  }
8223
8274
 
8224
8275
  var name = "@firebase/auth";
8225
- var version = "1.13.5";
8276
+ var version = "1.13.6";
8226
8277
 
8227
8278
  /**
8228
8279
  * @license
@@ -8486,4 +8537,4 @@ exports.useDeviceLanguage = useDeviceLanguage;
8486
8537
  exports.validatePassword = validatePassword;
8487
8538
  exports.verifyBeforeUpdateEmail = verifyBeforeUpdateEmail;
8488
8539
  exports.verifyPasswordResetCode = verifyPasswordResetCode;
8489
- //# sourceMappingURL=register-dQ43sygv.js.map
8540
+ //# sourceMappingURL=register-eaUKtaNP.js.map