@whereby.com/browser-sdk 2.6.1 → 2.7.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.
@@ -1,5 +1,5 @@
1
1
  import { define, ref } from 'heresy';
2
- import { parseRoomUrlAndSubdomain } from '@whereby.com/core/utils';
2
+ import { parseRoomUrlAndSubdomain } from '@whereby.com/core';
3
3
 
4
4
  const boolAttrs = [
5
5
  "aec",
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { Store, LocalMediaOptions, RemoteParticipant, LocalParticipant, Screenshare, ConnectionStatus, ChatMessage as ChatMessage$1 } from '@whereby.com/core';
3
+ import { RoleName } from '@whereby.com/media';
3
4
 
4
5
  interface VideoViewSelfProps {
5
6
  stream: MediaStream;
@@ -46,7 +47,11 @@ type UseLocalMediaResult = {
46
47
  type UseLocalMediaOptions = LocalMediaOptions;
47
48
 
48
49
  type RemoteParticipantState = Omit<RemoteParticipant, "newJoiner" | "streams">;
49
- type LocalParticipantState = LocalParticipant;
50
+ interface LocalParticipantState extends LocalParticipant {
51
+ isScreenSharing: boolean;
52
+ roleName: RoleName;
53
+ clientClaim?: string;
54
+ }
50
55
  interface WaitingParticipantState {
51
56
  id: string;
52
57
  displayName: string | null;
@@ -92,6 +97,7 @@ interface UseRoomConnectionOptions extends Omit<RoomConnectionOptions, "localMed
92
97
  interface RoomConnectionActions {
93
98
  sendChatMessage(text: string): void;
94
99
  knock(): void;
100
+ lockRoom(locked: boolean): void;
95
101
  setDisplayName(displayName: string): void;
96
102
  toggleCamera(enabled?: boolean): void;
97
103
  toggleMicrophone(enabled?: boolean): void;
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useState, useEffect, useCallback } from 'react';
3
- import { debounce } from '@whereby.com/core/utils';
4
- import { selectChatMessages, selectCloudRecordingRaw, selectLocalParticipantRaw, selectLocalMediaStream, selectRemoteParticipants, selectScreenshares, selectRoomConnectionStatus, selectStreamingRaw, selectWaitingParticipants, createServices, createStore, observeStore, doAppJoin, appLeft, doRtcReportStreamResolution, doSendChatMessage, doKnockRoom, doSetDisplayName, toggleCameraEnabled, toggleMicrophoneEnabled, doAcceptWaitingParticipant, doRejectWaitingParticipant, doStartCloudRecording, doStartScreenshare, doStopCloudRecording, doStopScreenshare, 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, doAppJoin, appLeft, doRtcReportStreamResolution, doSendChatMessage, doKnockRoom, doSetDisplayName, toggleCameraEnabled, toggleMicrophoneEnabled, doAcceptWaitingParticipant, doRejectWaitingParticipant, doStartCloudRecording, doStartScreenshare, doStopCloudRecording, doStopScreenshare, doLockRoom, selectCameraDeviceError, selectCameraDevices, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsLocalMediaStarting, selectMicrophoneDeviceError, selectMicrophoneDevices, selectSpeakerDevices, selectLocalMediaStartError, doStartLocalMedia, doStopLocalMedia, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId } from '@whereby.com/core';
5
4
  import { createSelector } from '@reduxjs/toolkit';
6
5
 
7
6
  /******************************************************************************
@@ -100,7 +99,7 @@ const selectRoomConnectionState = createSelector(selectChatMessages, selectCloud
100
99
  return state;
101
100
  });
102
101
 
103
- const browserSdkVersion = "2.6.1";
102
+ const browserSdkVersion = "2.7.0";
104
103
 
105
104
  const initialState$1 = {
106
105
  chatMessages: [],
@@ -129,7 +128,7 @@ function useRoomConnection(roomUrl, roomConnectionOptions = defaultRoomConnectio
129
128
  const unsubscribe = observeStore(store, selectRoomConnectionState, setRoomConnectionState);
130
129
  const url = new URL(roomUrl);
131
130
  const searchParams = new URLSearchParams(url.search);
132
- const roomKey = searchParams.get("roomKey");
131
+ const roomKey = roomConnectionOptions.roomKey || searchParams.get("roomKey");
133
132
  store.dispatch(doAppJoin({
134
133
  displayName: roomConnectionOptions.displayName || "Guest",
135
134
  localMediaOptions: roomConnectionOptions.localMedia
@@ -171,11 +170,13 @@ function useRoomConnection(roomUrl, roomConnectionOptions = defaultRoomConnectio
171
170
  const startScreenshare = React.useCallback(() => store.dispatch(doStartScreenshare()), [store]);
172
171
  const stopCloudRecording = React.useCallback(() => store.dispatch(doStopCloudRecording()), [store]);
173
172
  const stopScreenshare = React.useCallback(() => store.dispatch(doStopScreenshare()), [store]);
173
+ const lockRoom = React.useCallback((locked) => store.dispatch(doLockRoom({ locked })), [store]);
174
174
  return {
175
175
  state: roomConnectionState,
176
176
  actions: {
177
177
  sendChatMessage,
178
178
  knock,
179
+ lockRoom,
179
180
  setDisplayName,
180
181
  toggleCamera,
181
182
  toggleMicrophone,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whereby.com/browser-sdk",
3
- "version": "2.6.1",
3
+ "version": "2.7.0",
4
4
  "description": "Modules for integration Whereby video in web apps",
5
5
  "author": "Whereby AS",
6
6
  "license": "MIT",
@@ -44,6 +44,7 @@
44
44
  "test:lint": "eslint src/",
45
45
  "test:unit": "node --experimental-vm-modules ../../node_modules/jest/bin/jest.js",
46
46
  "test:unit:watch": "node --experimental-vm-modules ../../node_modules/jest/bin/jest.js --watch",
47
+ "test:attw": "attw --pack . -f table --ignore-rules fallback-condition unexpected-module-syntax",
47
48
  "storybook": "storybook dev -p 6006",
48
49
  "build-storybook": "storybook build"
49
50
  },