@verdocs/js-sdk 4.2.74 → 4.2.75

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.
package/dist/index.js CHANGED
@@ -1287,27 +1287,26 @@ class VerdocsEndpoint {
1287
1287
  if (this.persist) {
1288
1288
  localStorage.setItem(this.sessionStorageKey(), token);
1289
1289
  }
1290
- if (!session.sub || this.sub !== session.sub) {
1291
- // The main purpose for this var is to prevent dupe getCurrentProfile calls and the trigger for the dupe
1292
- // is usually two components calling loadSession() at the same time to ensure we've done all we could
1293
- // to load it. We expose it in case it's useful, but have to set it here instead of in the async callbacks
1294
- // even though their might be a brief window of time where it's set but something might go wrong (profile
1295
- // doesn't load) because we need it to serve that original purpose more.
1296
- window?.console?.debug('[JS_SDK] userId changed, loading current profile...', this.endpointId, this.sub, session.sub);
1297
- this.sub = session.sub;
1298
- getCurrentProfile(this)
1299
- .then((r) => {
1300
- window?.console?.debug('[JS_SDK] Loaded profile', this.endpointId, r);
1301
- this.profile = r || null;
1302
- this.notifySessionListeners();
1303
- })
1304
- .catch((e) => {
1305
- this.profile = null;
1306
- this.sub = null;
1307
- window?.console?.warn('Unable to load profile', e);
1308
- this.notifySessionListeners();
1309
- });
1310
- }
1290
+ // NOTE: We don't attempt to de-dupe session/network operations because there are cases where we
1291
+ // operate within an IFRAME and multiple siblings need to operate on the same session. This happens
1292
+ // a lot in Storybook but may also happen in other environments as well. Rather than try to coordinate
1293
+ // something weird that might break (e.g. in a mobile app), we just allow the dupe calls. We generate
1294
+ // a unique ID for each endpoint just to help with debugging. It should not be taken as a bug if more
1295
+ // than one endpoint ID is seen within the app's logs.
1296
+ window?.console?.debug('[JS_SDK] Loading current profile...', this.endpointId, this.sub, session.sub);
1297
+ this.sub = session.sub;
1298
+ getCurrentProfile(this)
1299
+ .then((r) => {
1300
+ window?.console?.debug('[JS_SDK] Loaded profile', this.endpointId, r);
1301
+ this.profile = r || null;
1302
+ this.notifySessionListeners();
1303
+ })
1304
+ .catch((e) => {
1305
+ this.profile = null;
1306
+ this.sub = null;
1307
+ window?.console?.warn('Unable to load profile', e);
1308
+ this.notifySessionListeners();
1309
+ });
1311
1310
  return this;
1312
1311
  }
1313
1312
  /**