@whereby.com/core 0.17.0 → 0.18.0

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.cjs CHANGED
@@ -45,7 +45,7 @@ const createReactor = (selectors, callback) => {
45
45
  });
46
46
  };
47
47
 
48
- const coreVersion = "0.17.0";
48
+ const coreVersion = "0.18.0";
49
49
 
50
50
  const initialState$f = {
51
51
  isNodeSdk: false,
@@ -1050,6 +1050,8 @@ startAppListening({
1050
1050
  },
1051
1051
  });
1052
1052
 
1053
+ const NON_PERSON_ROLES = ["recorder", "streamer"];
1054
+
1053
1055
  const initialState$a = {
1054
1056
  displayName: "",
1055
1057
  id: "",
@@ -1146,6 +1148,9 @@ const selectLocalParticipantView = toolkit.createSelector(selectLocalParticipant
1146
1148
  isAudioEnabled: participant.isAudioEnabled,
1147
1149
  isVideoEnabled: participant.isVideoEnabled,
1148
1150
  };
1151
+ if (NON_PERSON_ROLES.includes(participant.roleName)) {
1152
+ return null;
1153
+ }
1149
1154
  return clientView;
1150
1155
  });
1151
1156
  startAppListening({
@@ -1253,7 +1258,6 @@ const rtcEvents = {
1253
1258
  streamAdded: createRtcEventAction("streamAdded"),
1254
1259
  };
1255
1260
 
1256
- const NON_PERSON_ROLES = ["recorder", "streamer"];
1257
1261
  function createRemoteParticipant(client, newJoiner = false) {
1258
1262
  const { streams, role } = client, rest = __rest(client, ["streams", "role"]);
1259
1263
  return Object.assign(Object.assign({}, rest), { stream: null, streams: streams.map((streamId) => ({ id: streamId, state: newJoiner ? "new_accept" : "to_accept" })), isLocalParticipant: false, roleName: (role === null || role === void 0 ? void 0 : role.roleName) || "none", presentationStream: null, newJoiner });
@@ -1442,8 +1446,15 @@ const doRequestAudioEnable = createAppAuthorizedThunk((state) => selectIsAuthori
1442
1446
  socket === null || socket === void 0 ? void 0 : socket.emit("request_audio_enable", payload);
1443
1447
  });
1444
1448
  const selectRemoteParticipantsRaw = (state) => state.remoteParticipants;
1445
- const selectRemoteParticipants = (state) => state.remoteParticipants.remoteParticipants;
1446
- const selectNumParticipants = toolkit.createSelector(selectRemoteParticipants, (clients) => clients.filter((c) => !NON_PERSON_ROLES.includes(c.roleName)).length + 1);
1449
+ const selectRemoteClients = (state) => state.remoteParticipants.remoteParticipants;
1450
+ const selectRemoteParticipants = toolkit.createSelector(selectRemoteClients, (clients) => clients.filter((c) => !NON_PERSON_ROLES.includes(c.roleName)));
1451
+ const selectNumClients = toolkit.createSelector(selectRemoteClients, (clients) => clients.length + 1);
1452
+ const selectNumParticipants = toolkit.createSelector(selectRemoteParticipants, selectLocalParticipantRaw, (clients, localParticipant) => {
1453
+ if (NON_PERSON_ROLES.includes(localParticipant.roleName)) {
1454
+ return clients.length;
1455
+ }
1456
+ return clients.length + 1;
1457
+ });
1447
1458
 
1448
1459
  const initialState$7 = {
1449
1460
  data: null,
@@ -1837,7 +1848,7 @@ const doKickParticipant = createAppAuthorizedThunk((state) => selectIsAuthorized
1837
1848
  });
1838
1849
  const doEndMeeting = createAppAuthorizedThunk((state) => selectIsAuthorizedToEndMeeting(state), (payload) => (dispatch, getState) => {
1839
1850
  const state = getState();
1840
- const clientsToKick = selectRemoteParticipants(state).map((c) => c.id);
1851
+ const clientsToKick = selectRemoteClients(state).map((c) => c.id);
1841
1852
  if (clientsToKick.length) {
1842
1853
  const { socket } = selectSignalConnectionRaw(state);
1843
1854
  socket === null || socket === void 0 ? void 0 : socket.emit("kick_client", { clientIds: clientsToKick, reasonId: "end-meeting" });
@@ -1904,7 +1915,7 @@ const selectRemoteClientViews = toolkit.createSelector(selectLocalScreenshareStr
1904
1915
  return views;
1905
1916
  });
1906
1917
  const selectAllClientViews = toolkit.createSelector(selectLocalParticipantView, selectRemoteClientViews, (localParticipant, remoteParticipants) => {
1907
- return [localParticipant, ...remoteParticipants];
1918
+ return [...(localParticipant ? [localParticipant] : []), ...remoteParticipants];
1908
1919
  });
1909
1920
 
1910
1921
  const createWebRtcEmitter = (dispatch) => {
@@ -2019,7 +2030,7 @@ const doHandleAcceptStreams = createAppThunk((payload) => (dispatch, getState) =
2019
2030
  dispatch(isAcceptingStreams(true));
2020
2031
  const state = getState();
2021
2032
  const rtcManager = selectRtcConnectionRaw(state).rtcManager;
2022
- const remoteParticipants = selectRemoteParticipants(state);
2033
+ const remoteClients = selectRemoteClients(state);
2023
2034
  if (!rtcManager) {
2024
2035
  throw new Error("No rtc manager");
2025
2036
  }
@@ -2027,7 +2038,7 @@ const doHandleAcceptStreams = createAppThunk((payload) => (dispatch, getState) =
2027
2038
  const shouldAcceptNewClients = (_a = rtcManager.shouldAcceptStreamsFromBothSides) === null || _a === void 0 ? void 0 : _a.call(rtcManager);
2028
2039
  const updates = [];
2029
2040
  for (const { clientId, streamId, state } of payload) {
2030
- const participant = remoteParticipants.find((p) => p.id === clientId);
2041
+ const participant = remoteClients.find((p) => p.id === clientId);
2031
2042
  if (!participant)
2032
2043
  continue;
2033
2044
  if (state === "to_accept" ||
@@ -2167,7 +2178,7 @@ createReactor([selectShouldDisconnectRtc], ({ dispatch }, shouldDisconnectRtc) =
2167
2178
  dispatch(doDisconnectRtc());
2168
2179
  }
2169
2180
  });
2170
- const selectStreamsToAccept = toolkit.createSelector(selectRtcStatus, selectRemoteParticipants, (rtcStatus, remoteParticipants) => {
2181
+ const selectStreamsToAccept = toolkit.createSelector(selectRtcStatus, selectRemoteClients, (rtcStatus, remoteParticipants) => {
2171
2182
  if (rtcStatus !== "ready") {
2172
2183
  return [];
2173
2184
  }
@@ -3812,10 +3823,12 @@ exports.selectMicrophoneDevices = selectMicrophoneDevices;
3812
3823
  exports.selectNotificationsEmitter = selectNotificationsEmitter;
3813
3824
  exports.selectNotificationsEvents = selectNotificationsEvents;
3814
3825
  exports.selectNotificationsRaw = selectNotificationsRaw;
3826
+ exports.selectNumClients = selectNumClients;
3815
3827
  exports.selectNumParticipants = selectNumParticipants;
3816
3828
  exports.selectOrganizationId = selectOrganizationId;
3817
3829
  exports.selectOrganizationRaw = selectOrganizationRaw;
3818
3830
  exports.selectRemoteClientViews = selectRemoteClientViews;
3831
+ exports.selectRemoteClients = selectRemoteClients;
3819
3832
  exports.selectRemoteParticipants = selectRemoteParticipants;
3820
3833
  exports.selectRemoteParticipantsRaw = selectRemoteParticipantsRaw;
3821
3834
  exports.selectRoomConnectionError = selectRoomConnectionError;
package/dist/index.d.cts CHANGED
@@ -3908,18 +3908,18 @@ declare const selectLocalParticipantView: ((state: {
3908
3908
  spotlights: SpotlightsState;
3909
3909
  streaming: StreamingState;
3910
3910
  waitingParticipants: WaitingParticipantsState;
3911
- }) => ClientView) & {
3911
+ }) => ClientView | null) & {
3912
3912
  clearCache: () => void;
3913
3913
  resultsCount: () => number;
3914
3914
  resetResultsCount: () => void;
3915
3915
  } & {
3916
- resultFunc: (resultFuncArgs_0: LocalParticipantState, resultFuncArgs_1: MediaStream | undefined) => ClientView;
3917
- memoizedResultFunc: ((resultFuncArgs_0: LocalParticipantState, resultFuncArgs_1: MediaStream | undefined) => ClientView) & {
3916
+ resultFunc: (resultFuncArgs_0: LocalParticipantState, resultFuncArgs_1: MediaStream | undefined) => ClientView | null;
3917
+ memoizedResultFunc: ((resultFuncArgs_0: LocalParticipantState, resultFuncArgs_1: MediaStream | undefined) => ClientView | null) & {
3918
3918
  clearCache: () => void;
3919
3919
  resultsCount: () => number;
3920
3920
  resetResultsCount: () => void;
3921
3921
  };
3922
- lastResult: () => ClientView;
3922
+ lastResult: () => ClientView | null;
3923
3923
  dependencies: [(state: RootState) => LocalParticipantState, (state: {
3924
3924
  app: AppState;
3925
3925
  authorization: AuthorizationState;
@@ -4326,8 +4326,49 @@ declare const participantStreamIdAdded: _reduxjs_toolkit.ActionCreatorWithPayloa
4326
4326
  declare const streamStatusUpdated: _reduxjs_toolkit.ActionCreatorWithPayload<StreamStatusUpdate[], "remoteParticipants/streamStatusUpdated">;
4327
4327
  declare const doRequestAudioEnable: (args: AudioEnableRequest) => AppThunk<void>;
4328
4328
  declare const selectRemoteParticipantsRaw: (state: RootState) => RemoteParticipantState;
4329
- declare const selectRemoteParticipants: (state: RootState) => RemoteParticipant[];
4330
- declare const selectNumParticipants: ((state: {
4329
+ declare const selectRemoteClients: (state: RootState) => RemoteParticipant[];
4330
+ declare const selectRemoteParticipants: ((state: {
4331
+ app: AppState;
4332
+ authorization: AuthorizationState;
4333
+ chat: ChatState;
4334
+ cloudRecording: CloudRecordingState;
4335
+ deviceCredentials: DeviceCredentialsState;
4336
+ localMedia: LocalMediaState;
4337
+ localParticipant: LocalParticipantState;
4338
+ localScreenshare: LocalScreenshareState;
4339
+ notifications: NotificationsState;
4340
+ organization: OrganizationState;
4341
+ remoteParticipants: RemoteParticipantState;
4342
+ room: RoomState;
4343
+ roomConnection: RoomConnectionState;
4344
+ rtcAnalytics: rtcAnalyticsState;
4345
+ rtcConnection: RtcConnectionState;
4346
+ signalConnection: SignalConnectionState;
4347
+ spotlights: SpotlightsState;
4348
+ streaming: StreamingState;
4349
+ waitingParticipants: WaitingParticipantsState;
4350
+ }) => RemoteParticipant[]) & {
4351
+ clearCache: () => void;
4352
+ resultsCount: () => number;
4353
+ resetResultsCount: () => void;
4354
+ } & {
4355
+ resultFunc: (resultFuncArgs_0: RemoteParticipant[]) => RemoteParticipant[];
4356
+ memoizedResultFunc: ((resultFuncArgs_0: RemoteParticipant[]) => RemoteParticipant[]) & {
4357
+ clearCache: () => void;
4358
+ resultsCount: () => number;
4359
+ resetResultsCount: () => void;
4360
+ };
4361
+ lastResult: () => RemoteParticipant[];
4362
+ dependencies: [(state: RootState) => RemoteParticipant[]];
4363
+ recomputations: () => number;
4364
+ resetRecomputations: () => void;
4365
+ dependencyRecomputations: () => number;
4366
+ resetDependencyRecomputations: () => void;
4367
+ } & {
4368
+ argsMemoize: typeof reselect.weakMapMemoize;
4369
+ memoize: typeof reselect.weakMapMemoize;
4370
+ };
4371
+ declare const selectNumClients: ((state: {
4331
4372
  app: AppState;
4332
4373
  authorization: AuthorizationState;
4333
4374
  chat: ChatState;
@@ -4368,6 +4409,107 @@ declare const selectNumParticipants: ((state: {
4368
4409
  argsMemoize: typeof reselect.weakMapMemoize;
4369
4410
  memoize: typeof reselect.weakMapMemoize;
4370
4411
  };
4412
+ declare const selectNumParticipants: ((state: {
4413
+ app: AppState;
4414
+ authorization: AuthorizationState;
4415
+ chat: ChatState;
4416
+ cloudRecording: CloudRecordingState;
4417
+ deviceCredentials: DeviceCredentialsState;
4418
+ localMedia: LocalMediaState;
4419
+ localParticipant: LocalParticipantState;
4420
+ localScreenshare: LocalScreenshareState;
4421
+ notifications: NotificationsState;
4422
+ organization: OrganizationState;
4423
+ remoteParticipants: RemoteParticipantState;
4424
+ room: RoomState;
4425
+ roomConnection: RoomConnectionState;
4426
+ rtcAnalytics: rtcAnalyticsState;
4427
+ rtcConnection: RtcConnectionState;
4428
+ signalConnection: SignalConnectionState;
4429
+ spotlights: SpotlightsState;
4430
+ streaming: StreamingState;
4431
+ waitingParticipants: WaitingParticipantsState;
4432
+ }) => number) & {
4433
+ clearCache: () => void;
4434
+ resultsCount: () => number;
4435
+ resetResultsCount: () => void;
4436
+ } & {
4437
+ resultFunc: (resultFuncArgs_0: RemoteParticipant[], resultFuncArgs_1: LocalParticipantState) => number;
4438
+ memoizedResultFunc: ((resultFuncArgs_0: RemoteParticipant[], resultFuncArgs_1: LocalParticipantState) => number) & {
4439
+ clearCache: () => void;
4440
+ resultsCount: () => number;
4441
+ resetResultsCount: () => void;
4442
+ };
4443
+ lastResult: () => number;
4444
+ dependencies: [((state: {
4445
+ app: AppState;
4446
+ authorization: AuthorizationState;
4447
+ chat: ChatState;
4448
+ cloudRecording: CloudRecordingState;
4449
+ deviceCredentials: DeviceCredentialsState;
4450
+ localMedia: LocalMediaState;
4451
+ localParticipant: LocalParticipantState;
4452
+ localScreenshare: LocalScreenshareState;
4453
+ notifications: NotificationsState;
4454
+ organization: OrganizationState;
4455
+ remoteParticipants: RemoteParticipantState;
4456
+ room: RoomState;
4457
+ roomConnection: RoomConnectionState;
4458
+ rtcAnalytics: rtcAnalyticsState;
4459
+ rtcConnection: RtcConnectionState;
4460
+ signalConnection: SignalConnectionState;
4461
+ spotlights: SpotlightsState;
4462
+ streaming: StreamingState;
4463
+ waitingParticipants: WaitingParticipantsState;
4464
+ }) => RemoteParticipant[]) & {
4465
+ clearCache: () => void;
4466
+ resultsCount: () => number;
4467
+ resetResultsCount: () => void;
4468
+ } & {
4469
+ resultFunc: (resultFuncArgs_0: RemoteParticipant[]) => RemoteParticipant[];
4470
+ memoizedResultFunc: ((resultFuncArgs_0: RemoteParticipant[]) => RemoteParticipant[]) & {
4471
+ clearCache: () => void;
4472
+ resultsCount: () => number;
4473
+ resetResultsCount: () => void;
4474
+ };
4475
+ lastResult: () => RemoteParticipant[];
4476
+ dependencies: [(state: RootState) => RemoteParticipant[]];
4477
+ recomputations: () => number;
4478
+ resetRecomputations: () => void;
4479
+ dependencyRecomputations: () => number;
4480
+ resetDependencyRecomputations: () => void;
4481
+ } & {
4482
+ argsMemoize: typeof reselect.weakMapMemoize;
4483
+ memoize: typeof reselect.weakMapMemoize;
4484
+ }, (state: {
4485
+ app: AppState;
4486
+ authorization: AuthorizationState;
4487
+ chat: ChatState;
4488
+ cloudRecording: CloudRecordingState;
4489
+ deviceCredentials: DeviceCredentialsState;
4490
+ localMedia: LocalMediaState;
4491
+ localParticipant: LocalParticipantState;
4492
+ localScreenshare: LocalScreenshareState;
4493
+ notifications: NotificationsState;
4494
+ organization: OrganizationState;
4495
+ remoteParticipants: RemoteParticipantState;
4496
+ room: RoomState;
4497
+ roomConnection: RoomConnectionState;
4498
+ rtcAnalytics: rtcAnalyticsState;
4499
+ rtcConnection: RtcConnectionState;
4500
+ signalConnection: SignalConnectionState;
4501
+ spotlights: SpotlightsState;
4502
+ streaming: StreamingState;
4503
+ waitingParticipants: WaitingParticipantsState;
4504
+ }) => LocalParticipantState];
4505
+ recomputations: () => number;
4506
+ resetRecomputations: () => void;
4507
+ dependencyRecomputations: () => number;
4508
+ resetDependencyRecomputations: () => void;
4509
+ } & {
4510
+ argsMemoize: typeof reselect.weakMapMemoize;
4511
+ memoize: typeof reselect.weakMapMemoize;
4512
+ };
4371
4513
 
4372
4514
  interface RoomState {
4373
4515
  isLocked: boolean;
@@ -4435,7 +4577,7 @@ declare const selectScreenshares: ((state: {
4435
4577
  spotlights: SpotlightsState;
4436
4578
  streaming: StreamingState;
4437
4579
  waitingParticipants: WaitingParticipantsState;
4438
- }) => MediaStream | null, (state: {
4580
+ }) => MediaStream | null, ((state: {
4439
4581
  app: AppState;
4440
4582
  authorization: AuthorizationState;
4441
4583
  chat: ChatState;
@@ -4455,7 +4597,47 @@ declare const selectScreenshares: ((state: {
4455
4597
  spotlights: SpotlightsState;
4456
4598
  streaming: StreamingState;
4457
4599
  waitingParticipants: WaitingParticipantsState;
4458
- }) => RemoteParticipant[]];
4600
+ }) => RemoteParticipant[]) & {
4601
+ clearCache: () => void;
4602
+ resultsCount: () => number;
4603
+ resetResultsCount: () => void;
4604
+ } & {
4605
+ resultFunc: (resultFuncArgs_0: RemoteParticipant[]) => RemoteParticipant[];
4606
+ memoizedResultFunc: ((resultFuncArgs_0: RemoteParticipant[]) => RemoteParticipant[]) & {
4607
+ clearCache: () => void;
4608
+ resultsCount: () => number;
4609
+ resetResultsCount: () => void;
4610
+ };
4611
+ lastResult: () => RemoteParticipant[];
4612
+ dependencies: [(state: {
4613
+ app: AppState;
4614
+ authorization: AuthorizationState;
4615
+ chat: ChatState;
4616
+ cloudRecording: CloudRecordingState;
4617
+ deviceCredentials: DeviceCredentialsState;
4618
+ localMedia: LocalMediaState;
4619
+ localParticipant: LocalParticipantState;
4620
+ localScreenshare: LocalScreenshareState;
4621
+ notifications: NotificationsState;
4622
+ organization: OrganizationState;
4623
+ remoteParticipants: RemoteParticipantState;
4624
+ room: RoomState;
4625
+ roomConnection: RoomConnectionState;
4626
+ rtcAnalytics: rtcAnalyticsState;
4627
+ rtcConnection: RtcConnectionState;
4628
+ signalConnection: SignalConnectionState;
4629
+ spotlights: SpotlightsState;
4630
+ streaming: StreamingState;
4631
+ waitingParticipants: WaitingParticipantsState;
4632
+ }) => RemoteParticipant[]];
4633
+ recomputations: () => number;
4634
+ resetRecomputations: () => void;
4635
+ dependencyRecomputations: () => number;
4636
+ resetDependencyRecomputations: () => void;
4637
+ } & {
4638
+ argsMemoize: typeof reselect.weakMapMemoize;
4639
+ memoize: typeof reselect.weakMapMemoize;
4640
+ }];
4459
4641
  recomputations: () => number;
4460
4642
  resetRecomputations: () => void;
4461
4643
  dependencyRecomputations: () => number;
@@ -4536,7 +4718,7 @@ declare const selectRemoteClientViews: ((state: {
4536
4718
  spotlights: SpotlightsState;
4537
4719
  streaming: StreamingState;
4538
4720
  waitingParticipants: WaitingParticipantsState;
4539
- }) => LocalParticipantState, (state: {
4721
+ }) => LocalParticipantState, ((state: {
4540
4722
  app: AppState;
4541
4723
  authorization: AuthorizationState;
4542
4724
  chat: ChatState;
@@ -4556,7 +4738,47 @@ declare const selectRemoteClientViews: ((state: {
4556
4738
  spotlights: SpotlightsState;
4557
4739
  streaming: StreamingState;
4558
4740
  waitingParticipants: WaitingParticipantsState;
4559
- }) => RemoteParticipant[]];
4741
+ }) => RemoteParticipant[]) & {
4742
+ clearCache: () => void;
4743
+ resultsCount: () => number;
4744
+ resetResultsCount: () => void;
4745
+ } & {
4746
+ resultFunc: (resultFuncArgs_0: RemoteParticipant[]) => RemoteParticipant[];
4747
+ memoizedResultFunc: ((resultFuncArgs_0: RemoteParticipant[]) => RemoteParticipant[]) & {
4748
+ clearCache: () => void;
4749
+ resultsCount: () => number;
4750
+ resetResultsCount: () => void;
4751
+ };
4752
+ lastResult: () => RemoteParticipant[];
4753
+ dependencies: [(state: {
4754
+ app: AppState;
4755
+ authorization: AuthorizationState;
4756
+ chat: ChatState;
4757
+ cloudRecording: CloudRecordingState;
4758
+ deviceCredentials: DeviceCredentialsState;
4759
+ localMedia: LocalMediaState;
4760
+ localParticipant: LocalParticipantState;
4761
+ localScreenshare: LocalScreenshareState;
4762
+ notifications: NotificationsState;
4763
+ organization: OrganizationState;
4764
+ remoteParticipants: RemoteParticipantState;
4765
+ room: RoomState;
4766
+ roomConnection: RoomConnectionState;
4767
+ rtcAnalytics: rtcAnalyticsState;
4768
+ rtcConnection: RtcConnectionState;
4769
+ signalConnection: SignalConnectionState;
4770
+ spotlights: SpotlightsState;
4771
+ streaming: StreamingState;
4772
+ waitingParticipants: WaitingParticipantsState;
4773
+ }) => RemoteParticipant[]];
4774
+ recomputations: () => number;
4775
+ resetRecomputations: () => void;
4776
+ dependencyRecomputations: () => number;
4777
+ resetDependencyRecomputations: () => void;
4778
+ } & {
4779
+ argsMemoize: typeof reselect.weakMapMemoize;
4780
+ memoize: typeof reselect.weakMapMemoize;
4781
+ }];
4560
4782
  recomputations: () => number;
4561
4783
  resetRecomputations: () => void;
4562
4784
  dependencyRecomputations: () => number;
@@ -4590,8 +4812,8 @@ declare const selectAllClientViews: ((state: {
4590
4812
  resultsCount: () => number;
4591
4813
  resetResultsCount: () => void;
4592
4814
  } & {
4593
- resultFunc: (resultFuncArgs_0: ClientView, resultFuncArgs_1: ClientView[]) => ClientView[];
4594
- memoizedResultFunc: ((resultFuncArgs_0: ClientView, resultFuncArgs_1: ClientView[]) => ClientView[]) & {
4815
+ resultFunc: (resultFuncArgs_0: ClientView | null, resultFuncArgs_1: ClientView[]) => ClientView[];
4816
+ memoizedResultFunc: ((resultFuncArgs_0: ClientView | null, resultFuncArgs_1: ClientView[]) => ClientView[]) & {
4595
4817
  clearCache: () => void;
4596
4818
  resultsCount: () => number;
4597
4819
  resetResultsCount: () => void;
@@ -4617,18 +4839,18 @@ declare const selectAllClientViews: ((state: {
4617
4839
  spotlights: SpotlightsState;
4618
4840
  streaming: StreamingState;
4619
4841
  waitingParticipants: WaitingParticipantsState;
4620
- }) => ClientView) & {
4842
+ }) => ClientView | null) & {
4621
4843
  clearCache: () => void;
4622
4844
  resultsCount: () => number;
4623
4845
  resetResultsCount: () => void;
4624
4846
  } & {
4625
- resultFunc: (resultFuncArgs_0: LocalParticipantState, resultFuncArgs_1: MediaStream | undefined) => ClientView;
4626
- memoizedResultFunc: ((resultFuncArgs_0: LocalParticipantState, resultFuncArgs_1: MediaStream | undefined) => ClientView) & {
4847
+ resultFunc: (resultFuncArgs_0: LocalParticipantState, resultFuncArgs_1: MediaStream | undefined) => ClientView | null;
4848
+ memoizedResultFunc: ((resultFuncArgs_0: LocalParticipantState, resultFuncArgs_1: MediaStream | undefined) => ClientView | null) & {
4627
4849
  clearCache: () => void;
4628
4850
  resultsCount: () => number;
4629
4851
  resetResultsCount: () => void;
4630
4852
  };
4631
- lastResult: () => ClientView;
4853
+ lastResult: () => ClientView | null;
4632
4854
  dependencies: [(state: {
4633
4855
  app: AppState;
4634
4856
  authorization: AuthorizationState;
@@ -4749,7 +4971,7 @@ declare const selectAllClientViews: ((state: {
4749
4971
  spotlights: SpotlightsState;
4750
4972
  streaming: StreamingState;
4751
4973
  waitingParticipants: WaitingParticipantsState;
4752
- }) => LocalParticipantState, (state: {
4974
+ }) => LocalParticipantState, ((state: {
4753
4975
  app: AppState;
4754
4976
  authorization: AuthorizationState;
4755
4977
  chat: ChatState;
@@ -4769,7 +4991,47 @@ declare const selectAllClientViews: ((state: {
4769
4991
  spotlights: SpotlightsState;
4770
4992
  streaming: StreamingState;
4771
4993
  waitingParticipants: WaitingParticipantsState;
4772
- }) => RemoteParticipant[]];
4994
+ }) => RemoteParticipant[]) & {
4995
+ clearCache: () => void;
4996
+ resultsCount: () => number;
4997
+ resetResultsCount: () => void;
4998
+ } & {
4999
+ resultFunc: (resultFuncArgs_0: RemoteParticipant[]) => RemoteParticipant[];
5000
+ memoizedResultFunc: ((resultFuncArgs_0: RemoteParticipant[]) => RemoteParticipant[]) & {
5001
+ clearCache: () => void;
5002
+ resultsCount: () => number;
5003
+ resetResultsCount: () => void;
5004
+ };
5005
+ lastResult: () => RemoteParticipant[];
5006
+ dependencies: [(state: {
5007
+ app: AppState;
5008
+ authorization: AuthorizationState;
5009
+ chat: ChatState;
5010
+ cloudRecording: CloudRecordingState;
5011
+ deviceCredentials: DeviceCredentialsState;
5012
+ localMedia: LocalMediaState;
5013
+ localParticipant: LocalParticipantState;
5014
+ localScreenshare: LocalScreenshareState;
5015
+ notifications: NotificationsState;
5016
+ organization: OrganizationState;
5017
+ remoteParticipants: RemoteParticipantState;
5018
+ room: RoomState;
5019
+ roomConnection: RoomConnectionState;
5020
+ rtcAnalytics: rtcAnalyticsState;
5021
+ rtcConnection: RtcConnectionState;
5022
+ signalConnection: SignalConnectionState;
5023
+ spotlights: SpotlightsState;
5024
+ streaming: StreamingState;
5025
+ waitingParticipants: WaitingParticipantsState;
5026
+ }) => RemoteParticipant[]];
5027
+ recomputations: () => number;
5028
+ resetRecomputations: () => void;
5029
+ dependencyRecomputations: () => number;
5030
+ resetDependencyRecomputations: () => void;
5031
+ } & {
5032
+ argsMemoize: typeof reselect.weakMapMemoize;
5033
+ memoize: typeof reselect.weakMapMemoize;
5034
+ }];
4773
5035
  recomputations: () => number;
4774
5036
  resetRecomputations: () => void;
4775
5037
  dependencyRecomputations: () => number;
@@ -7564,8 +7826,8 @@ declare const selectSpotlightedClientViews: ((state: {
7564
7826
  resultsCount: () => number;
7565
7827
  resetResultsCount: () => void;
7566
7828
  } & {
7567
- resultFunc: (resultFuncArgs_0: ClientView, resultFuncArgs_1: ClientView[]) => ClientView[];
7568
- memoizedResultFunc: ((resultFuncArgs_0: ClientView, resultFuncArgs_1: ClientView[]) => ClientView[]) & {
7829
+ resultFunc: (resultFuncArgs_0: ClientView | null, resultFuncArgs_1: ClientView[]) => ClientView[];
7830
+ memoizedResultFunc: ((resultFuncArgs_0: ClientView | null, resultFuncArgs_1: ClientView[]) => ClientView[]) & {
7569
7831
  clearCache: () => void;
7570
7832
  resultsCount: () => number;
7571
7833
  resetResultsCount: () => void;
@@ -7591,18 +7853,18 @@ declare const selectSpotlightedClientViews: ((state: {
7591
7853
  spotlights: SpotlightsState;
7592
7854
  streaming: StreamingState;
7593
7855
  waitingParticipants: WaitingParticipantsState;
7594
- }) => ClientView) & {
7856
+ }) => ClientView | null) & {
7595
7857
  clearCache: () => void;
7596
7858
  resultsCount: () => number;
7597
7859
  resetResultsCount: () => void;
7598
7860
  } & {
7599
- resultFunc: (resultFuncArgs_0: LocalParticipantState, resultFuncArgs_1: MediaStream | undefined) => ClientView;
7600
- memoizedResultFunc: ((resultFuncArgs_0: LocalParticipantState, resultFuncArgs_1: MediaStream | undefined) => ClientView) & {
7861
+ resultFunc: (resultFuncArgs_0: LocalParticipantState, resultFuncArgs_1: MediaStream | undefined) => ClientView | null;
7862
+ memoizedResultFunc: ((resultFuncArgs_0: LocalParticipantState, resultFuncArgs_1: MediaStream | undefined) => ClientView | null) & {
7601
7863
  clearCache: () => void;
7602
7864
  resultsCount: () => number;
7603
7865
  resetResultsCount: () => void;
7604
7866
  };
7605
- lastResult: () => ClientView;
7867
+ lastResult: () => ClientView | null;
7606
7868
  dependencies: [(state: {
7607
7869
  app: AppState;
7608
7870
  authorization: AuthorizationState;
@@ -7723,7 +7985,7 @@ declare const selectSpotlightedClientViews: ((state: {
7723
7985
  spotlights: SpotlightsState;
7724
7986
  streaming: StreamingState;
7725
7987
  waitingParticipants: WaitingParticipantsState;
7726
- }) => LocalParticipantState, (state: {
7988
+ }) => LocalParticipantState, ((state: {
7727
7989
  app: AppState;
7728
7990
  authorization: AuthorizationState;
7729
7991
  chat: ChatState;
@@ -7743,7 +8005,47 @@ declare const selectSpotlightedClientViews: ((state: {
7743
8005
  spotlights: SpotlightsState;
7744
8006
  streaming: StreamingState;
7745
8007
  waitingParticipants: WaitingParticipantsState;
7746
- }) => RemoteParticipant[]];
8008
+ }) => RemoteParticipant[]) & {
8009
+ clearCache: () => void;
8010
+ resultsCount: () => number;
8011
+ resetResultsCount: () => void;
8012
+ } & {
8013
+ resultFunc: (resultFuncArgs_0: RemoteParticipant[]) => RemoteParticipant[];
8014
+ memoizedResultFunc: ((resultFuncArgs_0: RemoteParticipant[]) => RemoteParticipant[]) & {
8015
+ clearCache: () => void;
8016
+ resultsCount: () => number;
8017
+ resetResultsCount: () => void;
8018
+ };
8019
+ lastResult: () => RemoteParticipant[];
8020
+ dependencies: [(state: {
8021
+ app: AppState;
8022
+ authorization: AuthorizationState;
8023
+ chat: ChatState;
8024
+ cloudRecording: CloudRecordingState;
8025
+ deviceCredentials: DeviceCredentialsState;
8026
+ localMedia: LocalMediaState;
8027
+ localParticipant: LocalParticipantState;
8028
+ localScreenshare: LocalScreenshareState;
8029
+ notifications: NotificationsState;
8030
+ organization: OrganizationState;
8031
+ remoteParticipants: RemoteParticipantState;
8032
+ room: RoomState;
8033
+ roomConnection: RoomConnectionState;
8034
+ rtcAnalytics: rtcAnalyticsState;
8035
+ rtcConnection: RtcConnectionState;
8036
+ signalConnection: SignalConnectionState;
8037
+ spotlights: SpotlightsState;
8038
+ streaming: StreamingState;
8039
+ waitingParticipants: WaitingParticipantsState;
8040
+ }) => RemoteParticipant[]];
8041
+ recomputations: () => number;
8042
+ resetRecomputations: () => void;
8043
+ dependencyRecomputations: () => number;
8044
+ resetDependencyRecomputations: () => void;
8045
+ } & {
8046
+ argsMemoize: typeof reselect.weakMapMemoize;
8047
+ memoize: typeof reselect.weakMapMemoize;
8048
+ }];
7747
8049
  recomputations: () => number;
7748
8050
  resetRecomputations: () => void;
7749
8051
  dependencyRecomputations: () => number;
@@ -8010,4 +8312,4 @@ declare function parseRoomUrlAndSubdomain(roomAttribute?: string, subdomainAttri
8010
8312
 
8011
8313
  declare function parseUnverifiedRoomKeyData(roomKey: string): any;
8012
8314
 
8013
- export { ApiClient, type AppConfig, type AppDispatch, type AppReducer, type AppStartListening, type AppState, type AppThunk, type AuthorizationState, type ChatMessage, type ChatMessageEvent, type ChatMessageEventProps, type ChatState, type ClientView, type CloudRecordingState, type ConnectionStatus, Credentials, CredentialsService, type DeviceCredentialsState, type FullOrganizationPermissions, type LocalMediaOptions, type LocalMediaState, LocalParticipant, type LocalParticipantState, type LocalScreenshareState, type Notification, type NotificationEvent, type NotificationEventMap, type NotificationEvents, type NotificationsEventEmitter, type NotificationsState, OrganizationApiClient, type OrganizationLimits, type OrganizationOnboardingSurvey, type OrganizationPermissionAction, type OrganizationPermissions, type OrganizationPreferences, OrganizationService, OrganizationServiceCache, type OrganizationState, type RemoteParticipant, type RemoteParticipantData, type RemoteParticipantState, type RequestAudioEvent, type RequestAudioEventProps, type RoomConnectionState, RoomService, type RoomState, type RootState, type RtcConnectionState, type Screenshare, type SignalConnectionState, type SignalStatusEvent, type SignalStatusEventProps, type SpotlightsState, type StickyReaction, type StickyReactionEvent, type StickyReactionEventProps, type Store, type StreamState, type StreamingState, type ThunkConfig, type WaitingParticipant, type WaitingParticipantsState, addAppListener, addSpotlight, appSlice, authorizationSlice, chatSlice, cloudRecordingSlice, createAppAsyncThunk, createAppAuthorizedThunk, createAppThunk, createReactor, createServices, createStore, createWebRtcEmitter, debounce, deviceBusy, deviceCredentialsSlice, deviceIdentified, deviceIdentifying, doAcceptWaitingParticipant, doAppStart, doAppStop, doClearNotifications, doConnectRoom, doConnectRtc, doDisconnectRtc, doEnableAudio, doEnableVideo, doEndMeeting, doGetDeviceCredentials, doHandleAcceptStreams, doHandleStreamingStarted, doHandleStreamingStopped, doKickParticipant, doKnockRoom, doLockRoom, doOrganizationFetch, doRejectWaitingParticipant, doRemoveSpotlight, doRequestAudioEnable, doRtcAnalyticsCustomEventsInitialize, doRtcManagerCreated, doRtcManagerInitialize, doRtcReportStreamResolution, doSendChatMessage, doSendClientMetadata, doSetDevice, doSetDisplayName, doSetLocalStickyReaction, doSetNotification, doSignalConnect, doSignalDisconnect, doSignalIdentifyDevice, doSpotlightParticipant, doStartCloudRecording, doStartLocalMedia, doStartScreenshare, doStopCloudRecording, doStopLocalMedia, doStopScreenshare, doSwitchLocalStream, doToggleCamera, doToggleLowDataMode, doUpdateDeviceList, getAudioTrack, getFakeMediaStream, getVideoTrack, hasValue, initialCloudRecordingState, initialLocalMediaState, initialNotificationsState, isAcceptingStreams, isClientSpotlighted, listenerMiddleware, localMediaSlice, localMediaStopped, localParticipantSlice, localScreenshareSlice, localStreamMetadataUpdated, notificationsSlice, observeStore, organizationSlice, parseRoomUrlAndSubdomain, parseUnverifiedRoomKeyData, participantStreamAdded, participantStreamIdAdded, recordingRequestStarted, remoteParticipantsSlice, removeSpotlight, resolutionReported, roomConnectionSlice, roomSlice, rootReducer, rtcAnalyticsCustomEvents, rtcAnalyticsSlice, type rtcAnalyticsState, rtcConnectionSlice, rtcDisconnected, rtcDispatcherCreated, rtcManagerCreated, rtcManagerDestroyed, rtcManagerInitialized, selectAllClientViews, selectAppDisplayName, selectAppExternalId, selectAppInitialConfig, selectAppIsActive, selectAppIsNodeSdk, selectAppRaw, selectAppRoomName, selectAppRoomUrl, selectAppUserAgent, selectAuthorizationRoleName, selectBusyDeviceIds, selectCameraDeviceError, selectCameraDevices, selectChatMessages, selectChatRaw, selectCloudRecordingError, selectCloudRecordingRaw, selectCloudRecordingStartedAt, selectCloudRecordingStatus, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectCurrentSpeakerDeviceId, selectDeviceCredentialsRaw, selectDeviceId, selectHasFetchedDeviceCredentials, selectIsAcceptingStreams, selectIsAuthorizedToAskToSpeak, selectIsAuthorizedToEndMeeting, selectIsAuthorizedToKickClient, selectIsAuthorizedToLockRoom, selectIsAuthorizedToRequestAudioEnable, selectIsAuthorizedToSpotlight, selectIsCameraEnabled, selectIsCloudRecording, selectIsLocalMediaStarting, selectIsLocalParticipantSpotlighted, selectIsLowDataModeEnabled, selectIsMicrophoneEnabled, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsToggleCamera, selectLocalMediaConstraintsOptions, selectLocalMediaDevices, selectLocalMediaIsSwitchingStream, selectLocalMediaOptions, selectLocalMediaOwnsStream, selectLocalMediaRaw, selectLocalMediaShouldStartWithOptions, selectLocalMediaShouldStop, selectLocalMediaStartError, selectLocalMediaStatus, selectLocalMediaStream, selectLocalParticipantClientClaim, selectLocalParticipantDisplayName, selectLocalParticipantIsScreenSharing, selectLocalParticipantRaw, selectLocalParticipantStickyReaction, selectLocalParticipantView, selectLocalScreenshareRaw, selectLocalScreenshareStatus, selectLocalScreenshareStream, selectMicrophoneDeviceError, selectMicrophoneDevices, selectNotificationsEmitter, selectNotificationsEvents, selectNotificationsRaw, selectNumParticipants, selectOrganizationId, selectOrganizationRaw, selectRemoteClientViews, selectRemoteParticipants, selectRemoteParticipantsRaw, selectRoomConnectionError, selectRoomConnectionRaw, selectRoomConnectionSession, selectRoomConnectionSessionId, selectRoomConnectionStatus, selectRoomIsLocked, selectRoomKey, selectRtcConnectionRaw, selectRtcDispatcherCreated, selectRtcIsCreatingDispatcher, selectRtcManager, selectRtcManagerInitialized, selectRtcStatus, selectScreenshares, selectSelfId, selectShouldConnectRoom, selectShouldConnectRtc, selectShouldConnectSignal, selectShouldDisconnectRtc, selectShouldFetchDeviceCredentials, selectShouldFetchOrganization, selectShouldIdentifyDevice, selectShouldInitializeRtc, selectSignalConnectionDeviceIdentified, selectSignalConnectionRaw, selectSignalConnectionSocket, selectSignalIsIdentifyingDevice, selectSignalStatus, selectSpeakerDevices, selectSpotlightedClientViews, selectSpotlights, selectSpotlightsRaw, selectStreamingRaw, selectStreamsToAccept, selectWaitingParticipants, selectWaitingParticipantsRaw, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId, setCurrentSpeakerDeviceId, setLocalMediaOptions, setLocalMediaStream, setRoomKey, signalConnectionSlice, signalEvents, socketConnected, socketConnecting, socketDisconnected, socketReconnecting, spotlightsSlice, startAppListening, stopScreenshare, streamIdForClient, streamStatusUpdated, streamingSlice, toggleCameraEnabled, toggleLowDataModeEnabled, toggleMicrophoneEnabled, updateReportedValues, waitingParticipantsSlice };
8315
+ export { ApiClient, type AppConfig, type AppDispatch, type AppReducer, type AppStartListening, type AppState, type AppThunk, type AuthorizationState, type ChatMessage, type ChatMessageEvent, type ChatMessageEventProps, type ChatState, type ClientView, type CloudRecordingState, type ConnectionStatus, Credentials, CredentialsService, type DeviceCredentialsState, type FullOrganizationPermissions, type LocalMediaOptions, type LocalMediaState, LocalParticipant, type LocalParticipantState, type LocalScreenshareState, type Notification, type NotificationEvent, type NotificationEventMap, type NotificationEvents, type NotificationsEventEmitter, type NotificationsState, OrganizationApiClient, type OrganizationLimits, type OrganizationOnboardingSurvey, type OrganizationPermissionAction, type OrganizationPermissions, type OrganizationPreferences, OrganizationService, OrganizationServiceCache, type OrganizationState, type RemoteParticipant, type RemoteParticipantData, type RemoteParticipantState, type RequestAudioEvent, type RequestAudioEventProps, type RoomConnectionState, RoomService, type RoomState, type RootState, type RtcConnectionState, type Screenshare, type SignalConnectionState, type SignalStatusEvent, type SignalStatusEventProps, type SpotlightsState, type StickyReaction, type StickyReactionEvent, type StickyReactionEventProps, type Store, type StreamState, type StreamingState, type ThunkConfig, type WaitingParticipant, type WaitingParticipantsState, addAppListener, addSpotlight, appSlice, authorizationSlice, chatSlice, cloudRecordingSlice, createAppAsyncThunk, createAppAuthorizedThunk, createAppThunk, createReactor, createServices, createStore, createWebRtcEmitter, debounce, deviceBusy, deviceCredentialsSlice, deviceIdentified, deviceIdentifying, doAcceptWaitingParticipant, doAppStart, doAppStop, doClearNotifications, doConnectRoom, doConnectRtc, doDisconnectRtc, doEnableAudio, doEnableVideo, doEndMeeting, doGetDeviceCredentials, doHandleAcceptStreams, doHandleStreamingStarted, doHandleStreamingStopped, doKickParticipant, doKnockRoom, doLockRoom, doOrganizationFetch, doRejectWaitingParticipant, doRemoveSpotlight, doRequestAudioEnable, doRtcAnalyticsCustomEventsInitialize, doRtcManagerCreated, doRtcManagerInitialize, doRtcReportStreamResolution, doSendChatMessage, doSendClientMetadata, doSetDevice, doSetDisplayName, doSetLocalStickyReaction, doSetNotification, doSignalConnect, doSignalDisconnect, doSignalIdentifyDevice, doSpotlightParticipant, doStartCloudRecording, doStartLocalMedia, doStartScreenshare, doStopCloudRecording, doStopLocalMedia, doStopScreenshare, doSwitchLocalStream, doToggleCamera, doToggleLowDataMode, doUpdateDeviceList, getAudioTrack, getFakeMediaStream, getVideoTrack, hasValue, initialCloudRecordingState, initialLocalMediaState, initialNotificationsState, isAcceptingStreams, isClientSpotlighted, listenerMiddleware, localMediaSlice, localMediaStopped, localParticipantSlice, localScreenshareSlice, localStreamMetadataUpdated, notificationsSlice, observeStore, organizationSlice, parseRoomUrlAndSubdomain, parseUnverifiedRoomKeyData, participantStreamAdded, participantStreamIdAdded, recordingRequestStarted, remoteParticipantsSlice, removeSpotlight, resolutionReported, roomConnectionSlice, roomSlice, rootReducer, rtcAnalyticsCustomEvents, rtcAnalyticsSlice, type rtcAnalyticsState, rtcConnectionSlice, rtcDisconnected, rtcDispatcherCreated, rtcManagerCreated, rtcManagerDestroyed, rtcManagerInitialized, selectAllClientViews, selectAppDisplayName, selectAppExternalId, selectAppInitialConfig, selectAppIsActive, selectAppIsNodeSdk, selectAppRaw, selectAppRoomName, selectAppRoomUrl, selectAppUserAgent, selectAuthorizationRoleName, selectBusyDeviceIds, selectCameraDeviceError, selectCameraDevices, selectChatMessages, selectChatRaw, selectCloudRecordingError, selectCloudRecordingRaw, selectCloudRecordingStartedAt, selectCloudRecordingStatus, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectCurrentSpeakerDeviceId, selectDeviceCredentialsRaw, selectDeviceId, selectHasFetchedDeviceCredentials, selectIsAcceptingStreams, selectIsAuthorizedToAskToSpeak, selectIsAuthorizedToEndMeeting, selectIsAuthorizedToKickClient, selectIsAuthorizedToLockRoom, selectIsAuthorizedToRequestAudioEnable, selectIsAuthorizedToSpotlight, selectIsCameraEnabled, selectIsCloudRecording, selectIsLocalMediaStarting, selectIsLocalParticipantSpotlighted, selectIsLowDataModeEnabled, selectIsMicrophoneEnabled, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsToggleCamera, selectLocalMediaConstraintsOptions, selectLocalMediaDevices, selectLocalMediaIsSwitchingStream, selectLocalMediaOptions, selectLocalMediaOwnsStream, selectLocalMediaRaw, selectLocalMediaShouldStartWithOptions, selectLocalMediaShouldStop, selectLocalMediaStartError, selectLocalMediaStatus, selectLocalMediaStream, selectLocalParticipantClientClaim, selectLocalParticipantDisplayName, selectLocalParticipantIsScreenSharing, selectLocalParticipantRaw, selectLocalParticipantStickyReaction, selectLocalParticipantView, selectLocalScreenshareRaw, selectLocalScreenshareStatus, selectLocalScreenshareStream, selectMicrophoneDeviceError, selectMicrophoneDevices, selectNotificationsEmitter, selectNotificationsEvents, selectNotificationsRaw, selectNumClients, selectNumParticipants, selectOrganizationId, selectOrganizationRaw, selectRemoteClientViews, selectRemoteClients, selectRemoteParticipants, selectRemoteParticipantsRaw, selectRoomConnectionError, selectRoomConnectionRaw, selectRoomConnectionSession, selectRoomConnectionSessionId, selectRoomConnectionStatus, selectRoomIsLocked, selectRoomKey, selectRtcConnectionRaw, selectRtcDispatcherCreated, selectRtcIsCreatingDispatcher, selectRtcManager, selectRtcManagerInitialized, selectRtcStatus, selectScreenshares, selectSelfId, selectShouldConnectRoom, selectShouldConnectRtc, selectShouldConnectSignal, selectShouldDisconnectRtc, selectShouldFetchDeviceCredentials, selectShouldFetchOrganization, selectShouldIdentifyDevice, selectShouldInitializeRtc, selectSignalConnectionDeviceIdentified, selectSignalConnectionRaw, selectSignalConnectionSocket, selectSignalIsIdentifyingDevice, selectSignalStatus, selectSpeakerDevices, selectSpotlightedClientViews, selectSpotlights, selectSpotlightsRaw, selectStreamingRaw, selectStreamsToAccept, selectWaitingParticipants, selectWaitingParticipantsRaw, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId, setCurrentSpeakerDeviceId, setLocalMediaOptions, setLocalMediaStream, setRoomKey, signalConnectionSlice, signalEvents, socketConnected, socketConnecting, socketDisconnected, socketReconnecting, spotlightsSlice, startAppListening, stopScreenshare, streamIdForClient, streamStatusUpdated, streamingSlice, toggleCameraEnabled, toggleLowDataModeEnabled, toggleMicrophoneEnabled, updateReportedValues, waitingParticipantsSlice };