@whereby.com/browser-sdk 2.12.1 → 2.12.3

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.
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useState, useEffect, useCallback } from 'react';
3
- import { debounce, selectChatMessages, selectCloudRecordingRaw, selectLocalParticipantRaw, selectLocalMediaStream, selectRemoteParticipants, selectScreenshares, selectRoomConnectionStatus, selectStreamingRaw, selectWaitingParticipants, createServices, createStore, observeStore, doAppConfigure, doAppStart, doAppStop, doRtcReportStreamResolution, doSendChatMessage, doKnockRoom, doSetDisplayName, toggleCameraEnabled, toggleMicrophoneEnabled, toggleLowDataModeEnabled, doAcceptWaitingParticipant, doRejectWaitingParticipant, doStartCloudRecording, doStartScreenshare, doStopCloudRecording, doStopScreenshare, doLockRoom, doRequestAudioEnable, doKickParticipant, doEndMeeting, selectCameraDeviceError, selectCameraDevices, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsLocalMediaStarting, selectMicrophoneDeviceError, selectMicrophoneDevices, selectSpeakerDevices, selectLocalMediaStartError, doStartLocalMedia, doStopLocalMedia, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId } from '@whereby.com/core';
3
+ import { debounce, selectChatMessages, selectCloudRecordingRaw, selectLocalParticipantRaw, selectLocalMediaStream, selectRemoteParticipants, selectScreenshares, selectRoomConnectionStatus, selectStreamingRaw, selectWaitingParticipants, createServices, createStore, observeStore, doAppStart, doAppStop, doRtcReportStreamResolution, doSendChatMessage, doKnockRoom, doSetDisplayName, toggleCameraEnabled, toggleMicrophoneEnabled, toggleLowDataModeEnabled, doAcceptWaitingParticipant, doRejectWaitingParticipant, doStartCloudRecording, doStartScreenshare, doStopCloudRecording, doStopScreenshare, doLockRoom, doRequestAudioEnable, doKickParticipant, doEndMeeting, selectCameraDeviceError, selectCameraDevices, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsLocalMediaStarting, selectMicrophoneDeviceError, selectMicrophoneDevices, selectSpeakerDevices, selectLocalMediaStartError, doStartLocalMedia, doStopLocalMedia, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId } from '@whereby.com/core';
4
4
  import { createSelector } from '@reduxjs/toolkit';
5
5
 
6
6
  /******************************************************************************
@@ -99,7 +99,7 @@ const selectRoomConnectionState = createSelector(selectChatMessages, selectCloud
99
99
  return state;
100
100
  });
101
101
 
102
- const browserSdkVersion = "2.12.1";
102
+ const browserSdkVersion = "2.12.3";
103
103
 
104
104
  const initialState$1 = {
105
105
  chatMessages: [],
@@ -115,6 +115,7 @@ const defaultRoomConnectionOptions = {
115
115
  },
116
116
  };
117
117
  function useRoomConnection(roomUrl, roomConnectionOptions = defaultRoomConnectionOptions) {
118
+ const [roomConfig, setRoomConfig] = React.useState();
118
119
  const [store] = React.useState(() => {
119
120
  if (roomConnectionOptions.localMedia) {
120
121
  return roomConnectionOptions.localMedia.store;
@@ -129,17 +130,16 @@ function useRoomConnection(roomUrl, roomConnectionOptions = defaultRoomConnectio
129
130
  const url = new URL(roomUrl);
130
131
  const searchParams = new URLSearchParams(url.search);
131
132
  const roomKey = roomConnectionOptions.roomKey || searchParams.get("roomKey");
132
- store.dispatch(doAppConfigure({
133
+ const roomConfig = {
133
134
  displayName: roomConnectionOptions.displayName || "Guest",
134
- localMediaOptions: roomConnectionOptions.localMedia
135
- ? undefined
136
- : roomConnectionOptions.localMediaOptions,
135
+ localMediaOptions: roomConnectionOptions.localMedia ? undefined : roomConnectionOptions.localMediaOptions,
137
136
  roomKey,
138
137
  roomUrl,
139
138
  userAgent: `browser-sdk:${browserSdkVersion}`,
140
139
  externalId: roomConnectionOptions.externalId || null,
141
- }));
142
- store.dispatch(doAppStart());
140
+ };
141
+ setRoomConfig(roomConfig);
142
+ store.dispatch(doAppStart(roomConfig));
143
143
  return () => {
144
144
  store.dispatch(doAppStop());
145
145
  unsubscribe();
@@ -172,7 +172,7 @@ function useRoomConnection(roomUrl, roomConnectionOptions = defaultRoomConnectio
172
172
  const startScreenshare = React.useCallback(() => store.dispatch(doStartScreenshare()), [store]);
173
173
  const stopCloudRecording = React.useCallback(() => store.dispatch(doStopCloudRecording()), [store]);
174
174
  const stopScreenshare = React.useCallback(() => store.dispatch(doStopScreenshare()), [store]);
175
- const joinRoom = React.useCallback(() => store.dispatch(doAppStart()), [store]);
175
+ const joinRoom = React.useCallback(() => (roomConfig ? store.dispatch(doAppStart(roomConfig)) : () => { }), [store, roomConfig]);
176
176
  const leaveRoom = React.useCallback(() => store.dispatch(doAppStop()), [store]);
177
177
  const lockRoom = React.useCallback((locked) => store.dispatch(doLockRoom({ locked })), [store]);
178
178
  const muteParticipants = React.useCallback((clientIds) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whereby.com/browser-sdk",
3
- "version": "2.12.1",
3
+ "version": "2.12.3",
4
4
  "description": "Modules for integration Whereby video in web apps",
5
5
  "author": "Whereby AS",
6
6
  "license": "MIT",
@@ -49,11 +49,11 @@
49
49
  "build-storybook": "storybook build"
50
50
  },
51
51
  "devDependencies": {
52
- "@storybook/addon-actions": "^8.0.8",
53
- "@storybook/addon-essentials": "^8.0.8",
54
- "@storybook/addon-links": "^8.0.8",
55
- "@storybook/builder-vite": "^8.0.8",
56
- "@storybook/react-vite": "^8.0.8",
52
+ "@storybook/addon-actions": "^8.0.10",
53
+ "@storybook/addon-essentials": "^8.0.10",
54
+ "@storybook/addon-links": "^8.0.10",
55
+ "@storybook/builder-vite": "^8.0.10",
56
+ "@storybook/react-vite": "^8.0.10",
57
57
  "@testing-library/react": "^14.0.0",
58
58
  "@types/chrome": "^0.0.210",
59
59
  "@types/node": "^20.11.19",
@@ -67,7 +67,7 @@
67
67
  "react": "^18.2.0",
68
68
  "react-dom": "^18.2.0",
69
69
  "rimraf": "^5.0.5",
70
- "storybook": "^8.0.8",
70
+ "storybook": "^8.0.10",
71
71
  "tslib": "^2.4.1",
72
72
  "uuid": "^9.0.1",
73
73
  "vite": "^5.0.13",
@@ -75,7 +75,7 @@
75
75
  },
76
76
  "dependencies": {
77
77
  "@reduxjs/toolkit": "^2.2.3",
78
- "@whereby.com/core": "0.15.0",
78
+ "@whereby.com/core": "0.15.2",
79
79
  "heresy": "^1.0.4"
80
80
  },
81
81
  "peerDependencies": {