@whereby.com/core 0.26.0 → 0.27.1

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.mjs CHANGED
@@ -21,6 +21,37 @@ function createAppAuthorizedThunk(authorizationSelector, thunk) {
21
21
  return thunk(payload)(dispatch, getState, extra);
22
22
  });
23
23
  }
24
+ function createRoomConnectedThunk(thunk) {
25
+ return createAppThunk((payload) => (dispatch, getState, extra) => {
26
+ const connectionStatus = getState().roomConnection.status;
27
+ if (connectionStatus !== "connected") {
28
+ console.warn("Action cannot be performed outside of a connected room");
29
+ return false;
30
+ }
31
+ return thunk(payload)(dispatch, getState, extra);
32
+ });
33
+ }
34
+ function createAsyncRoomConnectedThunk(typePrefix, payloadCreator) {
35
+ return createAppAsyncThunk(typePrefix, (arg, thunkApi) => {
36
+ const { getState } = thunkApi;
37
+ const connectionStatus = getState().roomConnection.status;
38
+ if (connectionStatus !== "connected") {
39
+ console.warn("Action cannot be performed outside of a connected room");
40
+ return Promise.reject("Action cannot be performed outside of a connected room");
41
+ }
42
+ return payloadCreator(arg, thunkApi);
43
+ });
44
+ }
45
+ function createAuthorizedRoomConnectedThunk(authorizationSelector, thunk) {
46
+ return createAppThunk((payload) => (dispatch, getState, extra) => {
47
+ const connectionStatus = getState().roomConnection.status;
48
+ if (connectionStatus !== "connected") {
49
+ console.warn("Action cannot be performed outside of a connected room");
50
+ return false;
51
+ }
52
+ return createAppAuthorizedThunk(authorizationSelector, thunk)(payload)(dispatch, getState, extra);
53
+ });
54
+ }
24
55
 
25
56
  const listenerMiddleware = createListenerMiddleware();
26
57
  const startAppListening = listenerMiddleware.startListening;
@@ -43,7 +74,7 @@ const createReactor = (selectors, callback) => {
43
74
  });
44
75
  };
45
76
 
46
- const coreVersion = "0.26.0";
77
+ const coreVersion = "0.27.1";
47
78
 
48
79
  const initialState$g = {
49
80
  isNodeSdk: false,
@@ -108,6 +139,7 @@ const signalEvents = {
108
139
  spotlightRemoved: createSignalEventAction("spotlightRemoved"),
109
140
  streamingStopped: createSignalEventAction("streamingStopped"),
110
141
  videoEnabled: createSignalEventAction("videoEnabled"),
142
+ videoEnableRequested: createSignalEventAction("videoEnableRequested"),
111
143
  liveTranscriptionStarted: createSignalEventAction("liveTranscriptionStarted"),
112
144
  liveTranscriptionStopped: createSignalEventAction("liveTranscriptionStopped"),
113
145
  };
@@ -115,6 +147,7 @@ const signalEvents = {
115
147
  const ROOM_ACTION_PERMISSIONS_BY_ROLE = {
116
148
  canLockRoom: ["host"],
117
149
  canRequestAudioEnable: ["host"],
150
+ canRequestVideoEnable: ["host"],
118
151
  canKickClient: ["host"],
119
152
  canEndMeeting: ["host"],
120
153
  canAskToSpeak: ["host"],
@@ -148,6 +181,7 @@ const selectRoomKey = (state) => state.authorization.roomKey;
148
181
  const selectAuthorizationRoleName = (state) => state.authorization.roleName;
149
182
  const selectIsAuthorizedToLockRoom = createSelector(selectAuthorizationRoleName, (localParticipantRole) => ROOM_ACTION_PERMISSIONS_BY_ROLE.canLockRoom.includes(localParticipantRole));
150
183
  const selectIsAuthorizedToRequestAudioEnable = createSelector(selectAuthorizationRoleName, (localParticipantRole) => ROOM_ACTION_PERMISSIONS_BY_ROLE.canRequestAudioEnable.includes(localParticipantRole));
184
+ const selectIsAuthorizedToRequestVideoEnable = createSelector(selectAuthorizationRoleName, (localParticipantRole) => ROOM_ACTION_PERMISSIONS_BY_ROLE.canRequestVideoEnable.includes(localParticipantRole));
151
185
  const selectIsAuthorizedToKickClient = createSelector(selectAuthorizationRoleName, (localParticipantRole) => ROOM_ACTION_PERMISSIONS_BY_ROLE.canKickClient.includes(localParticipantRole));
152
186
  const selectIsAuthorizedToEndMeeting = createSelector(selectAuthorizationRoleName, (localParticipantRole) => ROOM_ACTION_PERMISSIONS_BY_ROLE.canEndMeeting.includes(localParticipantRole));
153
187
  const selectIsAuthorizedToAskToSpeak = createSelector(selectAuthorizationRoleName, (localParticipantRole) => ROOM_ACTION_PERMISSIONS_BY_ROLE.canAskToSpeak.includes(localParticipantRole));
@@ -268,6 +302,7 @@ function forwardSocketEvents(socket, dispatch) {
268
302
  socket.on("spotlight_removed", (payload) => dispatch(signalEvents.spotlightRemoved(payload)));
269
303
  socket.on("live_transcription_started", (payload) => dispatch(signalEvents.liveTranscriptionStarted(payload)));
270
304
  socket.on("live_transcription_stopped", (payload) => dispatch(signalEvents.liveTranscriptionStopped(payload)));
305
+ socket.on("video_enable_requested", (payload) => dispatch(signalEvents.videoEnableRequested(payload)));
271
306
  }
272
307
  const SIGNAL_BASE_URL = "wss://signal.appearin.net" ;
273
308
  function createSocket() {
@@ -408,7 +443,7 @@ const chatSlice = createSlice({
408
443
  });
409
444
  },
410
445
  });
411
- const doSendChatMessage = createAppThunk((payload) => (_, getState) => {
446
+ const doSendChatMessage = createRoomConnectedThunk((payload) => (_, getState) => {
412
447
  const state = getState();
413
448
  const socket = selectSignalConnectionRaw(state).socket;
414
449
  socket === null || socket === void 0 ? void 0 : socket.emit("chat_message", { text: payload.text });
@@ -453,7 +488,7 @@ const cloudRecordingSlice = createSlice({
453
488
  },
454
489
  });
455
490
  const { recordingRequestStarted } = cloudRecordingSlice.actions;
456
- const doStartCloudRecording = createAppThunk(() => (dispatch, getState) => {
491
+ const doStartCloudRecording = createRoomConnectedThunk(() => (dispatch, getState) => {
457
492
  const state = getState();
458
493
  const socket = selectSignalConnectionRaw(state).socket;
459
494
  const status = selectCloudRecordingStatus(state);
@@ -465,7 +500,7 @@ const doStartCloudRecording = createAppThunk(() => (dispatch, getState) => {
465
500
  });
466
501
  dispatch(recordingRequestStarted());
467
502
  });
468
- const doStopCloudRecording = createAppThunk(() => (dispatch, getState) => {
503
+ const doStopCloudRecording = createRoomConnectedThunk(() => (dispatch, getState) => {
469
504
  const state = getState();
470
505
  const socket = selectSignalConnectionRaw(state).socket;
471
506
  socket === null || socket === void 0 ? void 0 : socket.emit("stop_recording");
@@ -1109,6 +1144,15 @@ startAppListening({
1109
1144
  }
1110
1145
  },
1111
1146
  });
1147
+ startAppListening({
1148
+ actionCreator: signalEvents.videoEnableRequested,
1149
+ effect: ({ payload }, { dispatch }) => {
1150
+ const { enable } = payload;
1151
+ if (!enable) {
1152
+ dispatch(toggleCameraEnabled({ enabled: false }));
1153
+ }
1154
+ },
1155
+ });
1112
1156
 
1113
1157
  const NON_PERSON_ROLES = ["recorder", "streamer"];
1114
1158
 
@@ -1129,7 +1173,7 @@ const localParticipantSlice = createSlice({
1129
1173
  name: "localParticipant",
1130
1174
  initialState: initialState$a,
1131
1175
  reducers: {
1132
- doSetDisplayName: (state, action) => {
1176
+ setDisplayName: (state, action) => {
1133
1177
  return Object.assign(Object.assign({}, state), { displayName: action.payload.displayName });
1134
1178
  },
1135
1179
  },
@@ -1153,8 +1197,17 @@ const localParticipantSlice = createSlice({
1153
1197
  });
1154
1198
  },
1155
1199
  });
1156
- const { doSetDisplayName } = localParticipantSlice.actions;
1157
- const doEnableAudio = createAppAsyncThunk("localParticipant/doEnableAudio", (payload, { dispatch, getState }) => __awaiter(void 0, void 0, void 0, function* () {
1200
+ const { setDisplayName } = localParticipantSlice.actions;
1201
+ const doSetDisplayName = createRoomConnectedThunk((payload) => (dispatch, getState) => {
1202
+ const state = getState();
1203
+ const socket = selectSignalConnectionRaw(state).socket;
1204
+ socket === null || socket === void 0 ? void 0 : socket.emit("send_client_metadata", {
1205
+ type: "UserData",
1206
+ payload: { displayName: payload.displayName },
1207
+ });
1208
+ dispatch(setDisplayName({ displayName: payload.displayName }));
1209
+ });
1210
+ const doEnableAudio = createAsyncRoomConnectedThunk("localParticipant/doEnableAudio", (payload, { dispatch, getState }) => __awaiter(void 0, void 0, void 0, function* () {
1158
1211
  const state = getState();
1159
1212
  const socket = selectSignalConnectionRaw(state).socket;
1160
1213
  socket === null || socket === void 0 ? void 0 : socket.emit("enable_audio", { enabled: payload.enabled });
@@ -1163,13 +1216,13 @@ const doEnableAudio = createAppAsyncThunk("localParticipant/doEnableAudio", (pay
1163
1216
  }
1164
1217
  return payload.enabled;
1165
1218
  }));
1166
- const doEnableVideo = createAppAsyncThunk("localParticipant/doEnableVideo", (payload, { getState }) => __awaiter(void 0, void 0, void 0, function* () {
1219
+ const doEnableVideo = createAsyncRoomConnectedThunk("localParticipant/doEnableVideo", (payload, { getState }) => __awaiter(void 0, void 0, void 0, function* () {
1167
1220
  const state = getState();
1168
1221
  const socket = selectSignalConnectionRaw(state).socket;
1169
1222
  socket === null || socket === void 0 ? void 0 : socket.emit("enable_video", { enabled: payload.enabled });
1170
1223
  return payload.enabled;
1171
1224
  }));
1172
- const doSetLocalStickyReaction = createAppAsyncThunk("localParticipant/doSetLocalStickyReaction", (payload, { getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
1225
+ const doSetLocalStickyReaction = createAsyncRoomConnectedThunk("localParticipant/doSetLocalStickyReaction", (payload, { getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
1173
1226
  var _a;
1174
1227
  const state = getState();
1175
1228
  const currentStickyReaction = selectLocalParticipantStickyReaction(state);
@@ -1181,7 +1234,7 @@ const doSetLocalStickyReaction = createAppAsyncThunk("localParticipant/doSetLoca
1181
1234
  const stickyReaction = enabled ? { reaction: "✋", timestamp: new Date().toISOString() } : null;
1182
1235
  return stickyReaction;
1183
1236
  }));
1184
- const doSendClientMetadata = createAppThunk(() => (_, getState) => {
1237
+ const doSendClientMetadata = createRoomConnectedThunk(() => (_, getState) => {
1185
1238
  const state = getState();
1186
1239
  const socket = selectSignalConnectionRaw(state).socket;
1187
1240
  const payload = {
@@ -1583,7 +1636,7 @@ const remoteParticipantsSlice = createSlice({
1583
1636
  },
1584
1637
  });
1585
1638
  const { participantStreamAdded, participantStreamIdAdded, streamStatusUpdated } = remoteParticipantsSlice.actions;
1586
- const doRequestAudioEnable = createAppAuthorizedThunk((state) => selectIsAuthorizedToRequestAudioEnable(state), (payload) => (_, getState) => {
1639
+ const doRequestAudioEnable = createAuthorizedRoomConnectedThunk((state) => selectIsAuthorizedToRequestAudioEnable(state), (payload) => (_, getState) => {
1587
1640
  const state = getState();
1588
1641
  const canEnableRemoteAudio = selectIsAuthorizedToAskToSpeak(state);
1589
1642
  if (payload.enable && !canEnableRemoteAudio) {
@@ -1593,6 +1646,11 @@ const doRequestAudioEnable = createAppAuthorizedThunk((state) => selectIsAuthori
1593
1646
  const socket = selectSignalConnectionRaw(state).socket;
1594
1647
  socket === null || socket === void 0 ? void 0 : socket.emit("request_audio_enable", payload);
1595
1648
  });
1649
+ const doRequestVideoEnable = createAuthorizedRoomConnectedThunk((state) => selectIsAuthorizedToRequestVideoEnable(state), (payload) => (_, getState) => {
1650
+ const state = getState();
1651
+ const socket = selectSignalConnectionRaw(state).socket;
1652
+ socket === null || socket === void 0 ? void 0 : socket.emit("request_video_enable", payload);
1653
+ });
1596
1654
  const selectRemoteParticipantsRaw = (state) => state.remoteParticipants;
1597
1655
  const selectRemoteClients = (state) => state.remoteParticipants.remoteParticipants;
1598
1656
  const selectRemoteParticipants = createSelector(selectRemoteClients, (clients) => clients.filter((c) => !NON_PERSON_ROLES.includes(c.roleName)));
@@ -1630,7 +1688,7 @@ const localScreenshareSlice = createSlice({
1630
1688
  },
1631
1689
  });
1632
1690
  const { stopScreenshare } = localScreenshareSlice.actions;
1633
- const doStartScreenshare = createAppAsyncThunk("localScreenshare/doStartScreenshare", (_, { dispatch, getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
1691
+ const doStartScreenshare = createAsyncRoomConnectedThunk("localScreenshare/doStartScreenshare", (_, { dispatch, getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
1634
1692
  var _a;
1635
1693
  try {
1636
1694
  const state = getState();
@@ -1654,7 +1712,7 @@ const doStartScreenshare = createAppAsyncThunk("localScreenshare/doStartScreensh
1654
1712
  return rejectWithValue(error);
1655
1713
  }
1656
1714
  }));
1657
- const doStopScreenshare = createAppThunk(() => (dispatch, getState) => {
1715
+ const doStopScreenshare = createRoomConnectedThunk(() => (dispatch, getState) => {
1658
1716
  const state = getState();
1659
1717
  const screenshareStream = selectLocalScreenshareStream(state);
1660
1718
  if (!screenshareStream) {
@@ -2280,6 +2338,28 @@ startAppListening({
2280
2338
  })));
2281
2339
  },
2282
2340
  });
2341
+ startAppListening({
2342
+ actionCreator: signalEvents.videoEnableRequested,
2343
+ effect: ({ payload }, { dispatch, getState }) => {
2344
+ const { enable, requestedByClientId } = payload;
2345
+ const state = getState();
2346
+ const client = selectRemoteParticipants(state).find(({ id }) => id === requestedByClientId);
2347
+ if (!client) {
2348
+ console.warn("Could not find remote client that requested a local video change");
2349
+ return;
2350
+ }
2351
+ dispatch(doSetNotification(createNotificationEvent({
2352
+ type: enable ? "requestVideoEnable" : "requestVideoDisable",
2353
+ message: enable
2354
+ ? `${client.displayName} has requested for you to start video`
2355
+ : `${client.displayName} has stopped your video`,
2356
+ props: {
2357
+ client,
2358
+ enable,
2359
+ },
2360
+ })));
2361
+ },
2362
+ });
2283
2363
  startAppListening({
2284
2364
  actionCreator: signalEvents.clientMetadataReceived,
2285
2365
  effect: (action, { dispatch, getOriginalState, getState }) => {
@@ -2388,7 +2468,7 @@ const rtcAnalyticsCustomEvents = {
2388
2468
  getOutput: () => ({}),
2389
2469
  },
2390
2470
  displayName: {
2391
- actions: [doSetDisplayName],
2471
+ actions: [setDisplayName],
2392
2472
  rtcEventName: "displayName",
2393
2473
  getValue: (state) => selectAppDisplayName(state),
2394
2474
  getOutput: (value) => ({ displayName: value }),
@@ -2689,7 +2769,7 @@ const waitingParticipantsSlice = createSlice({
2689
2769
  });
2690
2770
  },
2691
2771
  });
2692
- const doAcceptWaitingParticipant = createAppThunk((payload) => (dispatch, getState) => {
2772
+ const doAcceptWaitingParticipant = createRoomConnectedThunk((payload) => (dispatch, getState) => {
2693
2773
  const { participantId } = payload;
2694
2774
  const state = getState();
2695
2775
  const socket = selectSignalConnectionSocket(state);
@@ -2699,7 +2779,7 @@ const doAcceptWaitingParticipant = createAppThunk((payload) => (dispatch, getSta
2699
2779
  response: {},
2700
2780
  });
2701
2781
  });
2702
- const doRejectWaitingParticipant = createAppThunk((payload) => (dispatch, getState) => {
2782
+ const doRejectWaitingParticipant = createRoomConnectedThunk((payload) => (dispatch, getState) => {
2703
2783
  const { participantId } = payload;
2704
2784
  const state = getState();
2705
2785
  const socket = selectSignalConnectionSocket(state);
@@ -3783,4 +3863,4 @@ function createServices() {
3783
3863
  };
3784
3864
  }
3785
3865
 
3786
- export { ApiClient, Credentials, CredentialsService, LocalParticipant, OrganizationApiClient, OrganizationService, OrganizationServiceCache, RoomService, addAppListener, addSpotlight, appSlice, authorizationSlice, chatSlice, cloudRecordingSlice, connectionMonitorSlice, connectionMonitorStarted, connectionMonitorStopped, 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, doStartConnectionMonitor, doStartLocalMedia, doStartScreenshare, doStopCloudRecording, doStopConnectionMonitor, doStopLocalMedia, doStopScreenshare, doSwitchLocalStream, doToggleCamera, doToggleLowDataMode, doUpdateDeviceList, getAudioTrack, getFakeMediaStream, getVideoTrack, hasValue, initialCloudRecordingState, initialLocalMediaState, initialNotificationsState, initialState$g as initialState, isAcceptingStreams, isClientSpotlighted, listenerMiddleware, localMediaSlice, localMediaStopped, localParticipantSlice, localScreenshareSlice, localStreamMetadataUpdated, notificationsSlice, observeStore, organizationSlice, parseRoomUrlAndSubdomain, parseUnverifiedRoomKeyData, participantStreamAdded, participantStreamIdAdded, recordingRequestStarted, remoteParticipantsSlice, removeSpotlight, resolutionReported, roomConnectionSlice, roomSlice, rootReducer, rtcAnalyticsCustomEvents, rtcAnalyticsSlice, rtcConnectionSlice, rtcDisconnected, rtcDispatcherCreated, rtcManagerCreated, rtcManagerDestroyed, rtcManagerInitialized, selectAllClientViews, selectAppDisplayName, selectAppExternalId, selectAppInitialConfig, selectAppIsActive, selectAppIsDialIn, selectAppIsNodeSdk, selectAppRaw, selectAppRoomName, selectAppRoomUrl, selectAppUserAgent, selectAuthorizationRoleName, selectBusyDeviceIds, selectCameraDeviceError, selectCameraDevices, selectChatMessages, selectChatRaw, selectCloudRecordingError, selectCloudRecordingRaw, selectCloudRecordingStartedAt, selectCloudRecordingStatus, selectConnectionMonitorIsRunning, 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, selectShouldStartConnectionMonitor, selectShouldStopConnectionMonitor, selectSignalConnectionDeviceIdentified, selectSignalConnectionRaw, selectSignalConnectionSocket, selectSignalIsIdentifyingDevice, selectSignalStatus, selectSpeakerDevices, selectSpotlightedClientViews, selectSpotlights, selectSpotlightsRaw, selectStopCallbackFunction, 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 };
3866
+ export { ApiClient, Credentials, CredentialsService, LocalParticipant, OrganizationApiClient, OrganizationService, OrganizationServiceCache, RoomService, addAppListener, addSpotlight, appSlice, authorizationSlice, chatSlice, cloudRecordingSlice, connectionMonitorSlice, connectionMonitorStarted, connectionMonitorStopped, createAppAsyncThunk, createAppAuthorizedThunk, createAppThunk, createAsyncRoomConnectedThunk, createAuthorizedRoomConnectedThunk, createReactor, createRoomConnectedThunk, 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, doRequestVideoEnable, doRtcAnalyticsCustomEventsInitialize, doRtcManagerCreated, doRtcManagerInitialize, doRtcReportStreamResolution, doSendChatMessage, doSendClientMetadata, doSetDevice, doSetDisplayName, doSetLocalStickyReaction, doSetNotification, doSignalConnect, doSignalDisconnect, doSignalIdentifyDevice, doSpotlightParticipant, doStartCloudRecording, doStartConnectionMonitor, doStartLocalMedia, doStartScreenshare, doStopCloudRecording, doStopConnectionMonitor, doStopLocalMedia, doStopScreenshare, doSwitchLocalStream, doToggleCamera, doToggleLowDataMode, doUpdateDeviceList, getAudioTrack, getFakeMediaStream, getVideoTrack, hasValue, initialCloudRecordingState, initialLocalMediaState, initialNotificationsState, initialState$g as initialState, isAcceptingStreams, isClientSpotlighted, listenerMiddleware, localMediaSlice, localMediaStopped, localParticipantSlice, localScreenshareSlice, localStreamMetadataUpdated, notificationsSlice, observeStore, organizationSlice, parseRoomUrlAndSubdomain, parseUnverifiedRoomKeyData, participantStreamAdded, participantStreamIdAdded, recordingRequestStarted, remoteParticipantsSlice, removeSpotlight, resolutionReported, roomConnectionSlice, roomSlice, rootReducer, rtcAnalyticsCustomEvents, rtcAnalyticsSlice, rtcConnectionSlice, rtcDisconnected, rtcDispatcherCreated, rtcManagerCreated, rtcManagerDestroyed, rtcManagerInitialized, selectAllClientViews, selectAppDisplayName, selectAppExternalId, selectAppInitialConfig, selectAppIsActive, selectAppIsDialIn, selectAppIsNodeSdk, selectAppRaw, selectAppRoomName, selectAppRoomUrl, selectAppUserAgent, selectAuthorizationRoleName, selectBusyDeviceIds, selectCameraDeviceError, selectCameraDevices, selectChatMessages, selectChatRaw, selectCloudRecordingError, selectCloudRecordingRaw, selectCloudRecordingStartedAt, selectCloudRecordingStatus, selectConnectionMonitorIsRunning, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectCurrentSpeakerDeviceId, selectDeviceCredentialsRaw, selectDeviceId, selectHasFetchedDeviceCredentials, selectIsAcceptingStreams, selectIsAuthorizedToAskToSpeak, selectIsAuthorizedToEndMeeting, selectIsAuthorizedToKickClient, selectIsAuthorizedToLockRoom, selectIsAuthorizedToRequestAudioEnable, selectIsAuthorizedToRequestVideoEnable, 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, selectShouldStartConnectionMonitor, selectShouldStopConnectionMonitor, selectSignalConnectionDeviceIdentified, selectSignalConnectionRaw, selectSignalConnectionSocket, selectSignalIsIdentifyingDevice, selectSignalStatus, selectSpeakerDevices, selectSpotlightedClientViews, selectSpotlights, selectSpotlightsRaw, selectStopCallbackFunction, selectStreamingRaw, selectStreamsToAccept, selectWaitingParticipants, selectWaitingParticipantsRaw, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId, setCurrentSpeakerDeviceId, setDisplayName, setLocalMediaOptions, setLocalMediaStream, setRoomKey, signalConnectionSlice, signalEvents, socketConnected, socketConnecting, socketDisconnected, socketReconnecting, spotlightsSlice, startAppListening, stopScreenshare, streamIdForClient, streamStatusUpdated, streamingSlice, toggleCameraEnabled, toggleLowDataModeEnabled, toggleMicrophoneEnabled, updateReportedValues, waitingParticipantsSlice };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@whereby.com/core",
3
3
  "description": "Core library for whereby.com sdk",
4
4
  "author": "Whereby AS",
5
- "version": "0.26.0",
5
+ "version": "0.27.1",
6
6
  "license": "MIT",
7
7
  "scripts": {
8
8
  "clean": "rimraf dist node_modules .turbo",
@@ -48,7 +48,7 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "@reduxjs/toolkit": "^2.2.3",
51
- "@whereby.com/media": "1.14.0",
51
+ "@whereby.com/media": "1.14.2",
52
52
  "axios": "^1.2.3",
53
53
  "btoa": "^1.2.1",
54
54
  "events": "^3.3.0"