@webex/plugin-meetings 3.12.0-next.90 → 3.12.0-next.92

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.
@@ -191,7 +191,7 @@ var AIEnableRequest = _webexCore.WebexPlugin.extend({
191
191
  method: _constants.HTTP_VERBS.PUT
192
192
  });
193
193
  },
194
- version: "3.12.0-next.90"
194
+ version: "3.12.0-next.92"
195
195
  });
196
196
  var _default = exports.default = AIEnableRequest;
197
197
  //# sourceMappingURL=index.js.map
@@ -214,7 +214,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
214
214
  sessionId: this.sessionId
215
215
  });
216
216
  },
217
- version: "3.12.0-next.90"
217
+ version: "3.12.0-next.92"
218
218
  });
219
219
  var _default = exports.default = Breakout;
220
220
  //# sourceMappingURL=breakout.js.map
@@ -1133,7 +1133,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
1133
1133
  this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
1134
1134
  }
1135
1135
  },
1136
- version: "3.12.0-next.90"
1136
+ version: "3.12.0-next.92"
1137
1137
  });
1138
1138
  var _default = exports.default = Breakouts;
1139
1139
  //# sourceMappingURL=index.js.map
@@ -381,7 +381,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
381
381
  throw error;
382
382
  });
383
383
  },
384
- version: "3.12.0-next.90"
384
+ version: "3.12.0-next.92"
385
385
  });
386
386
  var _default = exports.default = SimultaneousInterpretation;
387
387
  //# sourceMappingURL=index.js.map
@@ -18,7 +18,7 @@ var SILanguage = _webexCore.WebexPlugin.extend({
18
18
  languageCode: 'number',
19
19
  languageName: 'string'
20
20
  },
21
- version: "3.12.0-next.90"
21
+ version: "3.12.0-next.92"
22
22
  });
23
23
  var _default = exports.default = SILanguage;
24
24
  //# sourceMappingURL=siLanguage.js.map
@@ -492,7 +492,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
492
492
  this.updateControls(locus.controls, locus.self);
493
493
  this.updateLocusUrl(locus.url, _controlsUtils.default.isMainSessionDTO(locus));
494
494
  this.updateFullState(locus.fullState);
495
- this.updateMeetingInfo(locus.info);
495
+ this.updateMeetingInfo(locus.info, locus.self);
496
496
  this.updateEmbeddedApps(locus.embeddedApps);
497
497
  // self and participants generate sipUrl for 1:1 meeting
498
498
  this.updateSelf(locus.self);
@@ -2231,9 +2231,18 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
2231
2231
  value: function updateMeetingInfo(info, self) {
2232
2232
  var _this$parsedLocus$sel;
2233
2233
  var roles = self ? _selfUtils.default.getRoles(self) : ((_this$parsedLocus$sel = this.parsedLocus.self) === null || _this$parsedLocus$sel === void 0 ? void 0 : _this$parsedLocus$sel.roles) || [];
2234
- if (info && !(0, _lodash.isEqual)(this.info, info) || !(0, _lodash.isEqual)(this.roles, roles) && info) {
2235
- var isJoined = _selfUtils.default.isJoined(self || this.parsedLocus.self);
2236
- var parsedInfo = _infoUtils.default.getInfos(this.parsedLocus.info, info, roles, isJoined);
2234
+ var isJoined = _selfUtils.default.isJoined(self || this.parsedLocus.self);
2235
+
2236
+ // The parsed userDisplayHints depend on info, roles and isJoined, so we must recompute
2237
+ // whenever any of them changes. A common case is self transitioning to JOINED via a delta
2238
+ // that doesn't carry an info section - in that case we fall back to the previously stored
2239
+ // info so the hints get reparsed with the new joined state (e.g. VIEW_THE_PARTICIPANT_LIST).
2240
+ var infoToParse = info || this.info;
2241
+ var infoChanged = info && !(0, _lodash.isEqual)(this.info, info);
2242
+ var rolesChanged = !(0, _lodash.isEqual)(this.roles, roles);
2243
+ var isJoinedChanged = _selfUtils.default.isJoined(this.parsedLocus.self) !== isJoined;
2244
+ if (infoToParse && (infoChanged || rolesChanged || isJoinedChanged)) {
2245
+ var parsedInfo = _infoUtils.default.getInfos(this.parsedLocus.info, infoToParse, roles, isJoined);
2237
2246
  if (parsedInfo.updates.isLocked) {
2238
2247
  this.emitScoped({
2239
2248
  file: 'locus-info',
@@ -2246,7 +2255,7 @@ var LocusInfo = exports.default = /*#__PURE__*/function (_EventsScope) {
2246
2255
  function: 'updateMeetingInfo'
2247
2256
  }, _constants.LOCUSINFO.EVENTS.MEETING_UNLOCKED, info);
2248
2257
  }
2249
- this.info = info;
2258
+ this.info = infoToParse;
2250
2259
  this.parsedLocus.info = parsedInfo.current;
2251
2260
  // Parses the info and adds necessary values
2252
2261
  this.updateMeeting(parsedInfo.current);