@webex/plugin-meetings 3.0.0-beta.13 → 3.0.0-beta.15

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 (252) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/common/browser-detection.js +1 -0
  4. package/dist/common/browser-detection.js.map +1 -1
  5. package/dist/common/collection.js.map +1 -1
  6. package/dist/common/errors/captcha-error.js +5 -5
  7. package/dist/common/errors/captcha-error.js.map +1 -1
  8. package/dist/common/errors/intent-to-join.js +5 -5
  9. package/dist/common/errors/intent-to-join.js.map +1 -1
  10. package/dist/common/errors/join-meeting.js +6 -6
  11. package/dist/common/errors/join-meeting.js.map +1 -1
  12. package/dist/common/errors/media.js +5 -5
  13. package/dist/common/errors/media.js.map +1 -1
  14. package/dist/common/errors/parameter.js +5 -5
  15. package/dist/common/errors/parameter.js.map +1 -1
  16. package/dist/common/errors/password-error.js +5 -5
  17. package/dist/common/errors/password-error.js.map +1 -1
  18. package/dist/common/errors/permission.js +4 -4
  19. package/dist/common/errors/permission.js.map +1 -1
  20. package/dist/common/errors/reconnection.js +5 -5
  21. package/dist/common/errors/reconnection.js.map +1 -1
  22. package/dist/common/errors/stats.js +5 -5
  23. package/dist/common/errors/stats.js.map +1 -1
  24. package/dist/common/errors/webex-errors.js.map +1 -1
  25. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  26. package/dist/common/events/events-scope.js.map +1 -1
  27. package/dist/common/events/events.js.map +1 -1
  28. package/dist/common/events/trigger-proxy.js.map +1 -1
  29. package/dist/common/events/util.js.map +1 -1
  30. package/dist/common/logs/logger-proxy.js.map +1 -1
  31. package/dist/common/logs/request.js.map +1 -1
  32. package/dist/config.js.map +1 -1
  33. package/dist/constants.js.map +1 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/locus-info/controlsUtils.js.map +1 -1
  36. package/dist/locus-info/fullState.js.map +1 -1
  37. package/dist/locus-info/hostUtils.js.map +1 -1
  38. package/dist/locus-info/index.js +11 -8
  39. package/dist/locus-info/index.js.map +1 -1
  40. package/dist/locus-info/infoUtils.js.map +1 -1
  41. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  42. package/dist/locus-info/parser.js +2 -1
  43. package/dist/locus-info/parser.js.map +1 -1
  44. package/dist/locus-info/selfUtils.js +2 -1
  45. package/dist/locus-info/selfUtils.js.map +1 -1
  46. package/dist/media/index.js.map +1 -1
  47. package/dist/media/internal-media-core-wrapper.js.map +1 -1
  48. package/dist/media/properties.js.map +1 -1
  49. package/dist/media/util.js +1 -1
  50. package/dist/media/util.js.map +1 -1
  51. package/dist/mediaQualityMetrics/config.js.map +1 -1
  52. package/dist/meeting/effectsState.js +1 -1
  53. package/dist/meeting/effectsState.js.map +1 -1
  54. package/dist/meeting/in-meeting-actions.js.map +1 -1
  55. package/dist/meeting/index.js +118 -89
  56. package/dist/meeting/index.js.map +1 -1
  57. package/dist/meeting/muteState.js +1 -1
  58. package/dist/meeting/muteState.js.map +1 -1
  59. package/dist/meeting/request.js +25 -0
  60. package/dist/meeting/request.js.map +1 -1
  61. package/dist/meeting/request.type.js +8 -0
  62. package/dist/meeting/request.type.js.map +1 -0
  63. package/dist/meeting/state.js +5 -5
  64. package/dist/meeting/state.js.map +1 -1
  65. package/dist/meeting/util.js.map +1 -1
  66. package/dist/meeting-info/collection.js.map +1 -1
  67. package/dist/meeting-info/index.js +2 -2
  68. package/dist/meeting-info/index.js.map +1 -1
  69. package/dist/meeting-info/meeting-info-v2.js +48 -48
  70. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  71. package/dist/meeting-info/request.js.map +1 -1
  72. package/dist/meeting-info/util.js.map +1 -1
  73. package/dist/meeting-info/utilv2.js +1 -1
  74. package/dist/meeting-info/utilv2.js.map +1 -1
  75. package/dist/meetings/collection.js.map +1 -1
  76. package/dist/meetings/index.js +251 -250
  77. package/dist/meetings/index.js.map +1 -1
  78. package/dist/meetings/request.js +2 -2
  79. package/dist/meetings/request.js.map +1 -1
  80. package/dist/meetings/util.js +14 -14
  81. package/dist/meetings/util.js.map +1 -1
  82. package/dist/member/index.js +31 -31
  83. package/dist/member/index.js.map +1 -1
  84. package/dist/member/util.js.map +1 -1
  85. package/dist/members/collection.js.map +1 -1
  86. package/dist/members/index.js +43 -43
  87. package/dist/members/index.js.map +1 -1
  88. package/dist/members/request.js.map +1 -1
  89. package/dist/members/util.js.map +1 -1
  90. package/dist/metrics/config.js.map +1 -1
  91. package/dist/metrics/constants.js.map +1 -1
  92. package/dist/metrics/index.js +23 -20
  93. package/dist/metrics/index.js.map +1 -1
  94. package/dist/multistream/multistreamMedia.js +2 -1
  95. package/dist/multistream/multistreamMedia.js.map +1 -1
  96. package/dist/multistream/receiveSlot.js.map +1 -1
  97. package/dist/multistream/receiveSlotManager.js +2 -0
  98. package/dist/multistream/receiveSlotManager.js.map +1 -1
  99. package/dist/multistream/remoteMedia.js.map +1 -1
  100. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  101. package/dist/multistream/remoteMediaManager.js.map +1 -1
  102. package/dist/networkQualityMonitor/index.js +8 -8
  103. package/dist/networkQualityMonitor/index.js.map +1 -1
  104. package/dist/personal-meeting-room/index.js +7 -7
  105. package/dist/personal-meeting-room/index.js.map +1 -1
  106. package/dist/personal-meeting-room/request.js.map +1 -1
  107. package/dist/personal-meeting-room/util.js.map +1 -1
  108. package/dist/reachability/index.js.map +1 -1
  109. package/dist/reachability/request.js.map +1 -1
  110. package/dist/reactions/reactions.js.map +1 -1
  111. package/dist/reactions/reactions.type.js +3 -1
  112. package/dist/reactions/reactions.type.js.map +1 -1
  113. package/dist/reconnection-manager/index.js +4 -4
  114. package/dist/reconnection-manager/index.js.map +1 -1
  115. package/dist/roap/index.js +5 -5
  116. package/dist/roap/index.js.map +1 -1
  117. package/dist/roap/request.js.map +1 -1
  118. package/dist/roap/turnDiscovery.js.map +1 -1
  119. package/dist/statsAnalyzer/global.js.map +1 -1
  120. package/dist/statsAnalyzer/index.js.map +1 -1
  121. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  122. package/dist/transcription/index.js +4 -1
  123. package/dist/transcription/index.js.map +1 -1
  124. package/internal-README.md +7 -6
  125. package/package.json +18 -18
  126. package/src/common/browser-detection.ts +9 -6
  127. package/src/common/collection.ts +3 -1
  128. package/src/common/errors/captcha-error.ts +6 -6
  129. package/src/common/errors/intent-to-join.ts +6 -6
  130. package/src/common/errors/join-meeting.ts +12 -8
  131. package/src/common/errors/media.ts +6 -6
  132. package/src/common/errors/parameter.ts +9 -6
  133. package/src/common/errors/password-error.ts +6 -6
  134. package/src/common/errors/permission.ts +5 -5
  135. package/src/common/errors/reconnection.ts +6 -6
  136. package/src/common/errors/stats.ts +6 -6
  137. package/src/common/errors/webex-errors.ts +7 -5
  138. package/src/common/errors/webex-meetings-error.ts +1 -1
  139. package/src/common/events/events-scope.ts +5 -1
  140. package/src/common/events/events.ts +5 -1
  141. package/src/common/events/trigger-proxy.ts +8 -3
  142. package/src/common/events/util.ts +1 -2
  143. package/src/common/logs/logger-proxy.ts +21 -10
  144. package/src/common/logs/request.ts +11 -8
  145. package/src/config.ts +11 -11
  146. package/src/constants.ts +1 -1
  147. package/src/index.js +1 -1
  148. package/src/locus-info/controlsUtils.ts +34 -24
  149. package/src/locus-info/fullState.ts +15 -11
  150. package/src/locus-info/hostUtils.ts +4 -3
  151. package/src/locus-info/index.ts +25 -34
  152. package/src/locus-info/infoUtils.ts +12 -4
  153. package/src/locus-info/mediaSharesUtils.ts +4 -4
  154. package/src/locus-info/parser.ts +45 -68
  155. package/src/locus-info/selfUtils.ts +106 -57
  156. package/src/media/index.ts +123 -135
  157. package/src/media/internal-media-core-wrapper.ts +2 -2
  158. package/src/media/properties.ts +30 -20
  159. package/src/media/util.ts +1 -1
  160. package/src/mediaQualityMetrics/config.ts +46 -46
  161. package/src/meeting/effectsState.ts +35 -35
  162. package/src/meeting/in-meeting-actions.ts +7 -3
  163. package/src/meeting/index.ts +1576 -1291
  164. package/src/meeting/muteState.ts +62 -31
  165. package/src/meeting/request.ts +174 -113
  166. package/src/meeting/request.type.ts +11 -0
  167. package/src/meeting/state.ts +45 -30
  168. package/src/meeting/util.ts +101 -70
  169. package/src/meeting-info/collection.ts +2 -1
  170. package/src/meeting-info/index.ts +32 -30
  171. package/src/meeting-info/meeting-info-v2.ts +106 -108
  172. package/src/meeting-info/request.ts +9 -3
  173. package/src/meeting-info/util.ts +54 -46
  174. package/src/meeting-info/utilv2.ts +59 -53
  175. package/src/meetings/collection.ts +1 -1
  176. package/src/meetings/index.ts +512 -440
  177. package/src/meetings/request.ts +26 -24
  178. package/src/meetings/util.ts +29 -29
  179. package/src/member/index.ts +55 -49
  180. package/src/member/util.ts +26 -13
  181. package/src/members/collection.ts +0 -1
  182. package/src/members/index.ts +182 -126
  183. package/src/members/request.ts +46 -14
  184. package/src/members/util.ts +44 -42
  185. package/src/metrics/config.ts +254 -81
  186. package/src/metrics/constants.ts +0 -2
  187. package/src/metrics/index.ts +84 -71
  188. package/src/multistream/multistreamMedia.ts +1 -0
  189. package/src/multistream/receiveSlot.ts +1 -0
  190. package/src/multistream/receiveSlotManager.ts +1 -0
  191. package/src/multistream/remoteMedia.ts +1 -1
  192. package/src/multistream/remoteMediaGroup.ts +2 -1
  193. package/src/multistream/remoteMediaManager.ts +3 -0
  194. package/src/networkQualityMonitor/index.ts +20 -23
  195. package/src/personal-meeting-room/index.ts +12 -16
  196. package/src/personal-meeting-room/request.ts +10 -3
  197. package/src/personal-meeting-room/util.ts +3 -3
  198. package/src/reachability/index.ts +61 -59
  199. package/src/reachability/request.ts +36 -32
  200. package/src/reactions/reactions.ts +4 -4
  201. package/src/reactions/reactions.type.ts +4 -3
  202. package/src/reconnection-manager/index.ts +139 -84
  203. package/src/roap/index.ts +46 -38
  204. package/src/roap/request.ts +44 -31
  205. package/src/roap/turnDiscovery.ts +59 -30
  206. package/src/statsAnalyzer/global.ts +30 -33
  207. package/src/statsAnalyzer/index.ts +432 -175
  208. package/src/statsAnalyzer/mqaUtil.ts +178 -72
  209. package/src/transcription/index.ts +34 -32
  210. package/test/integration/spec/journey.js +663 -462
  211. package/test/integration/spec/space-meeting.js +318 -203
  212. package/test/integration/spec/transcription.js +6 -7
  213. package/test/unit/spec/common/browser-detection.js +9 -28
  214. package/test/unit/spec/fixture/locus.js +92 -90
  215. package/test/unit/spec/locus-info/controlsUtils.js +5 -5
  216. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  217. package/test/unit/spec/locus-info/index.js +1 -2
  218. package/test/unit/spec/locus-info/infoUtils.js +26 -33
  219. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  220. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  221. package/test/unit/spec/locus-info/parser.js +3 -9
  222. package/test/unit/spec/locus-info/selfConstant.js +72 -103
  223. package/test/unit/spec/locus-info/selfUtils.js +21 -12
  224. package/test/unit/spec/meeting/effectsState.js +36 -46
  225. package/test/unit/spec/meeting/in-meeting-actions.ts +2 -3
  226. package/test/unit/spec/meeting/index.js +1342 -684
  227. package/test/unit/spec/meeting/muteState.js +42 -33
  228. package/test/unit/spec/meeting/request.js +75 -45
  229. package/test/unit/spec/meeting/utils.js +78 -53
  230. package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
  231. package/test/unit/spec/meeting-info/request.js +7 -9
  232. package/test/unit/spec/meeting-info/util.js +11 -12
  233. package/test/unit/spec/meeting-info/utilv2.js +110 -74
  234. package/test/unit/spec/meetings/collection.js +1 -1
  235. package/test/unit/spec/meetings/index.js +438 -257
  236. package/test/unit/spec/meetings/utils.js +14 -12
  237. package/test/unit/spec/member/index.js +0 -1
  238. package/test/unit/spec/member/util.js +5 -6
  239. package/test/unit/spec/members/index.js +104 -54
  240. package/test/unit/spec/members/request.js +29 -20
  241. package/test/unit/spec/members/utils.js +8 -5
  242. package/test/unit/spec/metrics/index.js +16 -21
  243. package/test/unit/spec/networkQualityMonitor/index.js +21 -15
  244. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  245. package/test/unit/spec/reachability/index.ts +9 -11
  246. package/test/unit/spec/reconnection-manager/index.js +16 -18
  247. package/test/unit/spec/roap/turnDiscovery.ts +22 -19
  248. package/test/unit/spec/stats-analyzer/index.js +25 -20
  249. package/test/utils/cmr.js +44 -42
  250. package/test/utils/testUtils.js +83 -74
  251. package/test/utils/webex-config.js +18 -18
  252. package/test/utils/webex-test-users.js +53 -50
@@ -1,3 +1,5 @@
1
+ /* eslint-disable default-param-last */
2
+
1
3
  import {
2
4
  _IDLE_,
3
5
  _JOINED_,
@@ -10,7 +12,7 @@ import {
10
12
  MEDIA_STATE,
11
13
  AUDIO,
12
14
  VIDEO,
13
- MediaContent
15
+ MediaContent,
14
16
  } from '../constants';
15
17
  import ParameterError from '../common/errors/parameter';
16
18
 
@@ -47,9 +49,7 @@ SelfUtils.parse = (self: any, deviceId: string) => {
47
49
  joinedWith,
48
50
  pstnDevices,
49
51
  // current media stats is for the current device who has joined
50
- currentMediaStatus: SelfUtils.getMediaStatus(
51
- joinedWith?.mediaSessions
52
- ),
52
+ currentMediaStatus: SelfUtils.getMediaStatus(joinedWith?.mediaSessions),
53
53
  creator: self.isCreator, // check if its used,
54
54
  selfId: self.id,
55
55
  selfIdentity: SelfUtils.getSelfIdentity(self),
@@ -59,22 +59,24 @@ SelfUtils.parse = (self: any, deviceId: string) => {
59
59
  isUserUnadmitted: self.state === _IDLE_ && joinedWith?.intent?.type === _WAIT_,
60
60
  layout: SelfUtils.getLayout(self),
61
61
  canNotViewTheParticipantList: SelfUtils.canNotViewTheParticipantList(self),
62
- isSharingBlocked: SelfUtils.isSharingBlocked(self)
62
+ isSharingBlocked: SelfUtils.isSharingBlocked(self),
63
63
  };
64
64
  }
65
65
 
66
66
  return null;
67
67
  };
68
68
 
69
- SelfUtils.getLayout = (self) => (Array.isArray(self?.controls?.layouts) ? self.controls.layouts[0].type : undefined);
69
+ SelfUtils.getLayout = (self) =>
70
+ Array.isArray(self?.controls?.layouts) ? self.controls.layouts[0].type : undefined;
70
71
 
71
- SelfUtils.getRoles = (self) => (self?.controls?.role?.roles || []).reduce((roles, role) => {
72
- if (role.hasRole) {
73
- roles.push(role.type);
74
- }
72
+ SelfUtils.getRoles = (self) =>
73
+ (self?.controls?.role?.roles || []).reduce((roles, role) => {
74
+ if (role.hasRole) {
75
+ roles.push(role.type);
76
+ }
75
77
 
76
- return roles;
77
- }, []);
78
+ return roles;
79
+ }, []);
78
80
 
79
81
  SelfUtils.canNotViewTheParticipantList = (self) => !!self?.canNotViewTheParticipantList;
80
82
 
@@ -88,25 +90,35 @@ SelfUtils.getSelves = (oldSelf, newSelf, deviceId) => {
88
90
  updates.isUserUnadmitted = SelfUtils.isUserUnadmitted(current);
89
91
  updates.isUserAdmitted = SelfUtils.isUserAdmitted(previous, current);
90
92
  updates.isMutedByOthersChanged = SelfUtils.mutedByOthersChanged(previous, current);
91
- updates.localAudioUnmuteRequestedByServer = SelfUtils.localAudioUnmuteRequestedByServer(previous, current);
92
- updates.localAudioUnmuteRequiredByServer = SelfUtils.localAudioUnmuteRequiredByServer(previous, current);
93
+ updates.localAudioUnmuteRequestedByServer = SelfUtils.localAudioUnmuteRequestedByServer(
94
+ previous,
95
+ current
96
+ );
97
+ updates.localAudioUnmuteRequiredByServer = SelfUtils.localAudioUnmuteRequiredByServer(
98
+ previous,
99
+ current
100
+ );
93
101
  updates.moderatorChanged = SelfUtils.moderatorChanged(previous, current);
94
102
  updates.isMediaInactiveOrReleased = SelfUtils.wasMediaInactiveOrReleased(previous, current);
95
103
  updates.isUserObserving = SelfUtils.isDeviceObserving(previous, current);
96
104
  updates.layoutChanged = SelfUtils.layoutChanged(previous, current);
97
105
 
98
106
  updates.isMediaInactive = SelfUtils.isMediaInactive(previous, current);
99
- updates.audioStateChange = previous?.currentMediaStatus.audio !== current.currentMediaStatus.audio;
100
- updates.videoStateChange = previous?.currentMediaStatus.video !== current.currentMediaStatus.video;
101
- updates.shareStateChange = previous?.currentMediaStatus.share !== current.currentMediaStatus.share;
102
-
103
- updates.canNotViewTheParticipantListChanged = previous?.canNotViewTheParticipantList !== current.canNotViewTheParticipantList;
107
+ updates.audioStateChange =
108
+ previous?.currentMediaStatus.audio !== current.currentMediaStatus.audio;
109
+ updates.videoStateChange =
110
+ previous?.currentMediaStatus.video !== current.currentMediaStatus.video;
111
+ updates.shareStateChange =
112
+ previous?.currentMediaStatus.share !== current.currentMediaStatus.share;
113
+
114
+ updates.canNotViewTheParticipantListChanged =
115
+ previous?.canNotViewTheParticipantList !== current.canNotViewTheParticipantList;
104
116
  updates.isSharingBlockedChanged = previous?.isSharingBlocked !== current.isSharingBlocked;
105
117
 
106
118
  return {
107
119
  previous,
108
120
  current,
109
- updates
121
+ updates,
110
122
  };
111
123
  };
112
124
 
@@ -114,7 +126,7 @@ SelfUtils.getSelves = (oldSelf, newSelf, deviceId) => {
114
126
  * Checks if user has joined the meeting
115
127
  * @param {Object} self
116
128
  * @returns {boolean} isJoined
117
- */
129
+ */
118
130
  SelfUtils.isJoined = (self: any) => self?.state === _JOINED_;
119
131
 
120
132
  /**
@@ -124,7 +136,8 @@ SelfUtils.isJoined = (self: any) => self?.state === _JOINED_;
124
136
  * @param {Self} current - Current self state [per event]
125
137
  * @returns {boolean} - If the MEeting Layout Controls Layout has changed.
126
138
  */
127
- SelfUtils.layoutChanged = (previous: any, current: any) => current?.layout && previous?.layout !== current?.layout;
139
+ SelfUtils.layoutChanged = (previous: any, current: any) =>
140
+ current?.layout && previous?.layout !== current?.layout;
128
141
 
129
142
  SelfUtils.isMediaInactive = (previous, current) => {
130
143
  if (
@@ -135,15 +148,12 @@ SelfUtils.isMediaInactive = (previous, current) => {
135
148
  current.joinedWith &&
136
149
  current.joinedWith.mediaSessions
137
150
  ) {
138
- const previousMediaStatus = SelfUtils.getMediaStatus(
139
- previous.joinedWith.mediaSessions
140
- );
141
- const currentMediaStatus = SelfUtils.getMediaStatus(
142
- current.joinedWith.mediaSessions
143
- );
151
+ const previousMediaStatus = SelfUtils.getMediaStatus(previous.joinedWith.mediaSessions);
152
+ const currentMediaStatus = SelfUtils.getMediaStatus(current.joinedWith.mediaSessions);
144
153
 
145
154
  if (
146
- previousMediaStatus.audio && currentMediaStatus.audio &&
155
+ previousMediaStatus.audio &&
156
+ currentMediaStatus.audio &&
147
157
  previousMediaStatus.audio.state !== MEDIA_STATE.inactive &&
148
158
  currentMediaStatus.audio.state === MEDIA_STATE.inactive &&
149
159
  currentMediaStatus.audio.direction !== MEDIA_STATE.inactive
@@ -152,7 +162,8 @@ SelfUtils.isMediaInactive = (previous, current) => {
152
162
  }
153
163
 
154
164
  if (
155
- previousMediaStatus.video && currentMediaStatus.video &&
165
+ previousMediaStatus.video &&
166
+ currentMediaStatus.video &&
156
167
  previousMediaStatus.video.state !== MEDIA_STATE.inactive &&
157
168
  currentMediaStatus.video.state === MEDIA_STATE.inactive &&
158
169
  currentMediaStatus.video.direction !== MEDIA_STATE.inactive
@@ -161,7 +172,8 @@ SelfUtils.isMediaInactive = (previous, current) => {
161
172
  }
162
173
 
163
174
  if (
164
- previousMediaStatus.share && currentMediaStatus.share &&
175
+ previousMediaStatus.share &&
176
+ currentMediaStatus.share &&
165
177
  previousMediaStatus.share.state !== MEDIA_STATE.inactive &&
166
178
  currentMediaStatus.share.state === MEDIA_STATE.inactive &&
167
179
  currentMediaStatus.share.direction !== MEDIA_STATE.inactive
@@ -176,7 +188,13 @@ SelfUtils.isMediaInactive = (previous, current) => {
176
188
  };
177
189
 
178
190
  SelfUtils.getLastModified = (self) => {
179
- if (!self || !self.controls || !self.controls.audio || !self.controls.audio.meta || !self.controls.audio.meta.lastModified) {
191
+ if (
192
+ !self ||
193
+ !self.controls ||
194
+ !self.controls.audio ||
195
+ !self.controls.audio.meta ||
196
+ !self.controls.audio.meta.lastModified
197
+ ) {
180
198
  return null;
181
199
  }
182
200
 
@@ -184,7 +202,13 @@ SelfUtils.getLastModified = (self) => {
184
202
  };
185
203
 
186
204
  SelfUtils.getModifiedBy = (self) => {
187
- if (!self || !self.controls || !self.controls.audio || !self.controls.audio.meta || !self.controls.audio.meta.modifiedBy) {
205
+ if (
206
+ !self ||
207
+ !self.controls ||
208
+ !self.controls.audio ||
209
+ !self.controls.audio.meta ||
210
+ !self.controls.audio.meta.modifiedBy
211
+ ) {
188
212
  return null;
189
213
  }
190
214
 
@@ -227,36 +251,39 @@ SelfUtils.getUnmuteAllowed = (self) => {
227
251
  return !self.controls.audio.disallowUnmute;
228
252
  };
229
253
 
230
-
231
254
  SelfUtils.getLocalAudioUnmuteRequired = (self) => !!self?.controls?.audio?.localAudioUnmuteRequired;
232
255
 
233
256
  SelfUtils.getStatus = (status) => ({
234
257
  audio: status.audioStatus,
235
258
  video: status.videoStatus,
236
- slides: status.videoSlidesStatus
259
+ slides: status.videoSlidesStatus,
237
260
  });
238
261
 
239
-
240
262
  /**
241
263
  * @param {Object} oldSelf
242
264
  * @param {Object} changedSelf
243
265
  * @returns {Boolean}
244
266
  */
245
- SelfUtils.wasMediaInactiveOrReleased = (oldSelf: any = {}, changedSelf: any) => oldSelf.joinedWith && oldSelf.joinedWith.state === _JOINED_ && changedSelf.joinedWith.state === _LEFT_ &&
246
- (changedSelf.joinedWith.reason === MEETING_END_REASON.INACTIVE || changedSelf.joinedWith.reason === MEETING_END_REASON.MEDIA_RELEASED);
247
-
267
+ SelfUtils.wasMediaInactiveOrReleased = (oldSelf: any = {}, changedSelf: any) =>
268
+ oldSelf.joinedWith &&
269
+ oldSelf.joinedWith.state === _JOINED_ &&
270
+ changedSelf.joinedWith.state === _LEFT_ &&
271
+ (changedSelf.joinedWith.reason === MEETING_END_REASON.INACTIVE ||
272
+ changedSelf.joinedWith.reason === MEETING_END_REASON.MEDIA_RELEASED);
248
273
 
249
274
  /**
250
275
  * @param {Object} check
251
276
  * @returns {Boolean}
252
277
  */
253
- SelfUtils.isLocusUserUnadmitted = (check: any) => check && check.joinedWith?.intent?.type === _WAIT_ && check.state === _IDLE_;
278
+ SelfUtils.isLocusUserUnadmitted = (check: any) =>
279
+ check && check.joinedWith?.intent?.type === _WAIT_ && check.state === _IDLE_;
254
280
 
255
281
  /**
256
282
  * @param {Object} check
257
283
  * @returns {Boolean}
258
284
  */
259
- SelfUtils.isLocusUserAdmitted = (check: any) => check && check.joinedWith?.intent?.type !== _WAIT_ && check.state === _JOINED_;
285
+ SelfUtils.isLocusUserAdmitted = (check: any) =>
286
+ check && check.joinedWith?.intent?.type !== _WAIT_ && check.state === _JOINED_;
260
287
 
261
288
  /**
262
289
  * @param {Object} self
@@ -276,20 +303,25 @@ SelfUtils.moderatorChanged = (oldSelf, changedSelf) => {
276
303
  return true;
277
304
  }
278
305
  if (!changedSelf) {
279
- throw new ParameterError('New self must be defined to determine if self transitioned moderator status.');
306
+ throw new ParameterError(
307
+ 'New self must be defined to determine if self transitioned moderator status.'
308
+ );
280
309
  }
281
310
 
282
311
  return oldSelf.moderator !== changedSelf.moderator;
283
312
  };
284
313
 
285
-
286
314
  /**
287
315
  * @param {Object} oldSelf
288
316
  * @param {Object} changedSelf
289
317
  * @returns {Boolean}
290
318
  * @throws {Error} if changed self was undefined
291
319
  */
292
- SelfUtils.isDeviceObserving = (oldSelf: any, changedSelf: any) => oldSelf && oldSelf.joinedWith?.intent?.type === _MOVE_MEDIA_ && changedSelf && changedSelf.joinedWith?.intent?.type === _OBSERVE_;
320
+ SelfUtils.isDeviceObserving = (oldSelf: any, changedSelf: any) =>
321
+ oldSelf &&
322
+ oldSelf.joinedWith?.intent?.type === _MOVE_MEDIA_ &&
323
+ changedSelf &&
324
+ changedSelf.joinedWith?.intent?.type === _OBSERVE_;
293
325
 
294
326
  /**
295
327
  * @param {Object} oldSelf
@@ -303,7 +335,9 @@ SelfUtils.isUserAdmitted = (oldSelf: object, changedSelf: object) => {
303
335
  return false;
304
336
  }
305
337
  if (!changedSelf) {
306
- throw new ParameterError('New self must be defined to determine if self transitioned to admitted as guest.');
338
+ throw new ParameterError(
339
+ 'New self must be defined to determine if self transitioned to admitted as guest.'
340
+ );
307
341
  }
308
342
 
309
343
  return SelfUtils.isLocusUserUnadmitted(oldSelf) && SelfUtils.isLocusUserAdmitted(changedSelf);
@@ -314,7 +348,7 @@ SelfUtils.mutedByOthersChanged = (oldSelf, changedSelf) => {
314
348
  throw new ParameterError('New self must be defined to determine if self was muted by others.');
315
349
  }
316
350
 
317
- if (!oldSelf || (oldSelf.remoteMuted === null)) {
351
+ if (!oldSelf || oldSelf.remoteMuted === null) {
318
352
  if (changedSelf.remoteMuted) {
319
353
  return true; // this happens when mute on-entry is enabled
320
354
  }
@@ -323,25 +357,35 @@ SelfUtils.mutedByOthersChanged = (oldSelf, changedSelf) => {
323
357
  return false;
324
358
  }
325
359
 
326
- return (changedSelf.remoteMuted !== null) &&
327
- ((oldSelf.remoteMuted !== changedSelf.remoteMuted) || (changedSelf.remoteMuted && (oldSelf.unmuteAllowed !== changedSelf.unmuteAllowed)));
360
+ return (
361
+ changedSelf.remoteMuted !== null &&
362
+ (oldSelf.remoteMuted !== changedSelf.remoteMuted ||
363
+ (changedSelf.remoteMuted && oldSelf.unmuteAllowed !== changedSelf.unmuteAllowed))
364
+ );
328
365
  };
329
366
 
330
367
  SelfUtils.localAudioUnmuteRequestedByServer = (oldSelf: any = {}, changedSelf: any) => {
331
368
  if (!changedSelf) {
332
- throw new ParameterError('New self must be defined to determine if self received request to unmute.');
369
+ throw new ParameterError(
370
+ 'New self must be defined to determine if self received request to unmute.'
371
+ );
333
372
  }
334
373
 
335
374
  return changedSelf.localAudioUnmuteRequested && !oldSelf.localAudioUnmuteRequested;
336
375
  };
337
376
 
338
-
339
377
  SelfUtils.localAudioUnmuteRequiredByServer = (oldSelf: any = {}, changedSelf: any) => {
340
378
  if (!changedSelf) {
341
- throw new ParameterError('New self must be defined to determine if localAudioUnmuteRequired changed.');
379
+ throw new ParameterError(
380
+ 'New self must be defined to determine if localAudioUnmuteRequired changed.'
381
+ );
342
382
  }
343
383
 
344
- return !changedSelf.remoteMuted && changedSelf.localAudioUnmuteRequired && (oldSelf.localAudioUnmuteRequired !== changedSelf.localAudioUnmuteRequired);
384
+ return (
385
+ !changedSelf.remoteMuted &&
386
+ changedSelf.localAudioUnmuteRequired &&
387
+ oldSelf.localAudioUnmuteRequired !== changedSelf.localAudioUnmuteRequired
388
+ );
345
389
  };
346
390
 
347
391
  /**
@@ -364,15 +408,20 @@ SelfUtils.getMediaStatus = (mediaSessions = []) => {
364
408
  const mediaStatus = {
365
409
  audio: {},
366
410
  video: {},
367
- share: {}
411
+ share: {},
368
412
  };
369
413
 
370
- mediaStatus.audio = mediaSessions.find((media) => media.mediaType === AUDIO && media.mediaContent === MediaContent.main);
371
- mediaStatus.video = mediaSessions.find((media) => media.mediaType === VIDEO && media.mediaContent === MediaContent.main);
372
- mediaStatus.share = mediaSessions.find((media) => media.mediaType === VIDEO && media.mediaContent === MediaContent.slides);
414
+ mediaStatus.audio = mediaSessions.find(
415
+ (media) => media.mediaType === AUDIO && media.mediaContent === MediaContent.main
416
+ );
417
+ mediaStatus.video = mediaSessions.find(
418
+ (media) => media.mediaType === VIDEO && media.mediaContent === MediaContent.main
419
+ );
420
+ mediaStatus.share = mediaSessions.find(
421
+ (media) => media.mediaType === VIDEO && media.mediaContent === MediaContent.slides
422
+ );
373
423
 
374
424
  return mediaStatus;
375
425
  };
376
426
 
377
-
378
427
  export default SelfUtils;