@100mslive/roomkit-react 0.3.24-alpha.5 → 0.3.24-alpha.7
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +14 -16
- package/dist/Footer/Footer.d.ts +4 -4
- package/dist/Input/Input.d.ts +3 -3
- package/dist/Layout/Flex.d.ts +1 -1
- package/dist/index.cjs.css +2 -2
- package/dist/index.cjs.css.map +1 -1
- package/dist/index.cjs.js +542 -511
- package/dist/index.cjs.js.map +4 -4
- package/dist/index.css +2 -2
- package/dist/index.css.map +1 -1
- package/dist/index.js +576 -537
- package/dist/index.js.map +4 -4
- package/dist/meta.cjs.json +47 -42
- package/dist/meta.esbuild.json +47 -42
- package/package.json +7 -7
- package/src/Layout/Flex.tsx +1 -1
- package/src/Prebuilt/App.tsx +0 -2
- package/src/Prebuilt/AppStateContext.tsx +3 -1
- package/src/Prebuilt/components/AuthToken.tsx +2 -2
- package/src/Prebuilt/components/ErrorBoundary.jsx +2 -2
- package/src/Prebuilt/components/Notifications/DeviceInUseError.tsx +12 -5
- package/src/Prebuilt/components/Notifications/PermissionErrorModal.tsx +14 -6
- package/src/Prebuilt/components/VideoLayouts/Grid.tsx +1 -1
- package/src/Prebuilt/components/hooks/useTileLayout.tsx +4 -5
package/package.json
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
"prebuilt",
|
11
11
|
"roomkit"
|
12
12
|
],
|
13
|
-
"version": "0.3.24-alpha.
|
13
|
+
"version": "0.3.24-alpha.7",
|
14
14
|
"author": "100ms",
|
15
15
|
"license": "MIT",
|
16
16
|
"repository": {
|
@@ -75,12 +75,12 @@
|
|
75
75
|
"react": ">=17.0.2 <19.0.0"
|
76
76
|
},
|
77
77
|
"dependencies": {
|
78
|
-
"@100mslive/hls-player": "0.3.24-alpha.
|
78
|
+
"@100mslive/hls-player": "0.3.24-alpha.7",
|
79
79
|
"@100mslive/hms-noise-cancellation": "0.0.1",
|
80
|
-
"@100mslive/hms-virtual-background": "1.13.24-alpha.
|
81
|
-
"@100mslive/hms-whiteboard": "0.0.14-alpha.
|
82
|
-
"@100mslive/react-icons": "0.10.24-alpha.
|
83
|
-
"@100mslive/react-sdk": "0.10.24-alpha.
|
80
|
+
"@100mslive/hms-virtual-background": "1.13.24-alpha.7",
|
81
|
+
"@100mslive/hms-whiteboard": "0.0.14-alpha.7",
|
82
|
+
"@100mslive/react-icons": "0.10.24-alpha.7",
|
83
|
+
"@100mslive/react-sdk": "0.10.24-alpha.7",
|
84
84
|
"@100mslive/types-prebuilt": "0.12.12",
|
85
85
|
"@emoji-mart/data": "^1.0.6",
|
86
86
|
"@emoji-mart/react": "^1.0.1",
|
@@ -117,5 +117,5 @@
|
|
117
117
|
"uuid": "^8.3.2",
|
118
118
|
"worker-timers": "^7.0.40"
|
119
119
|
},
|
120
|
-
"gitHead": "
|
120
|
+
"gitHead": "8198b4df726edf43ed865408a68720e9bd4c9174"
|
121
121
|
}
|
package/src/Layout/Flex.tsx
CHANGED
package/src/Prebuilt/App.tsx
CHANGED
@@ -27,7 +27,6 @@ import { PIPProvider } from './components/PIP/PIPProvider';
|
|
27
27
|
import { PreviewScreen } from './components/Preview/PreviewScreen';
|
28
28
|
// @ts-ignore: No implicit Any
|
29
29
|
import { ToastContainer } from './components/Toast/ToastContainer';
|
30
|
-
import { VBHandler } from './components/VirtualBackground/VBHandler';
|
31
30
|
import { Sheet } from './layouts/Sheet';
|
32
31
|
import { RoomLayoutContext, RoomLayoutProvider, useRoomLayout } from './provider/roomLayoutProvider';
|
33
32
|
import { DialogContainerProvider } from '../context/DialogContext';
|
@@ -130,7 +129,6 @@ export const HMSPrebuilt = React.forwardRef<HMSPrebuiltRefType, HMSPrebuiltProps
|
|
130
129
|
useEffect(() => {
|
131
130
|
// leave room when component unmounts
|
132
131
|
return () => {
|
133
|
-
VBHandler.reset();
|
134
132
|
reactiveStore?.current?.hmsActions.leave();
|
135
133
|
};
|
136
134
|
}, []);
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import React, { useContext, useEffect } from 'react';
|
2
2
|
import { usePreviousDistinct } from 'react-use';
|
3
|
+
import { HMSVirtualBackgroundTypes } from '@100mslive/hms-virtual-background';
|
3
4
|
import { match, P } from 'ts-pattern';
|
4
5
|
import { HMSRoomState, selectRoomState, useHMSActions, useHMSStore } from '@100mslive/react-sdk';
|
5
6
|
import { VBHandler } from './components/VirtualBackground/VBHandler';
|
@@ -79,6 +80,7 @@ export const useAppStateManager = () => {
|
|
79
80
|
.otherwise(() => PrebuiltStates.MEETING);
|
80
81
|
});
|
81
82
|
VBHandler.reset();
|
83
|
+
hmsActions.setAppData(APP_DATA.background, HMSVirtualBackgroundTypes.NONE);
|
82
84
|
redirectToLeave(1000); // to clear toasts after 1 second
|
83
85
|
},
|
84
86
|
)
|
@@ -88,6 +90,6 @@ export const useAppStateManager = () => {
|
|
88
90
|
.otherwise(() => {
|
89
91
|
// do nothing
|
90
92
|
});
|
91
|
-
}, [roomLayout, roomState, isLeaveScreenEnabled, isPreviewScreenEnabled, prevRoomState, redirectToLeave]);
|
93
|
+
}, [roomLayout, roomState, isLeaveScreenEnabled, isPreviewScreenEnabled, prevRoomState, redirectToLeave, hmsActions]);
|
92
94
|
return { activeState, rejoin };
|
93
95
|
};
|
@@ -107,8 +107,8 @@ const AuthToken = React.memo<{
|
|
107
107
|
const convertError = (error: HMSException) => {
|
108
108
|
console.error('[error]', { error });
|
109
109
|
console.warn(
|
110
|
-
'If you think this is a mistake on our side, please reach out to us
|
111
|
-
'https://
|
110
|
+
'If you think this is a mistake on our side, please reach out to us on Dashboard:',
|
111
|
+
'https://dashboard.100ms.live/dashboard',
|
112
112
|
);
|
113
113
|
return match([error.action, error.code])
|
114
114
|
.with(['GET_TOKEN', 403], () => ({
|
@@ -49,8 +49,8 @@ export class ErrorBoundary extends Component {
|
|
49
49
|
<Text>Message: ${this.state.error}</Text>
|
50
50
|
<br />
|
51
51
|
Please reload to see if it works. If you think this is a mistake on our side, please reach out to us on
|
52
|
-
<a href="https://
|
53
|
-
|
52
|
+
<a href="https://dashboard.100ms.live/dashboard" target="_blank" rel="noreferrer">
|
53
|
+
Dashboard
|
54
54
|
</a>
|
55
55
|
</div>
|
56
56
|
<Flex>
|
@@ -1,5 +1,10 @@
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
2
|
-
import {
|
2
|
+
import {
|
3
|
+
HMSNotificationTypes,
|
4
|
+
HMSTrackException,
|
5
|
+
HMSTrackExceptionTrackType,
|
6
|
+
useHMSNotifications,
|
7
|
+
} from '@100mslive/react-sdk';
|
3
8
|
import { Button, Dialog, Text } from '../../..';
|
4
9
|
// @ts-ignore: No implicit Any
|
5
10
|
import { DialogContent, DialogRow } from '../../primitives/DialogContent';
|
@@ -24,6 +29,11 @@ export function DeviceInUseError() {
|
|
24
29
|
if (!error || error.code !== 3003) {
|
25
30
|
return;
|
26
31
|
}
|
32
|
+
const errorTrackExceptionType = (error as HMSTrackException)?.trackType;
|
33
|
+
const hasAudio = errorTrackExceptionType === HMSTrackExceptionTrackType.AUDIO;
|
34
|
+
const hasVideo = errorTrackExceptionType === HMSTrackExceptionTrackType.VIDEO;
|
35
|
+
const hasAudioVideo = errorTrackExceptionType === HMSTrackExceptionTrackType.AUDIO_VIDEO;
|
36
|
+
const hasScreen = errorTrackExceptionType === HMSTrackExceptionTrackType.SCREEN;
|
27
37
|
|
28
38
|
const errorMessage = error?.message;
|
29
39
|
ToastManager.addToast({
|
@@ -35,10 +45,7 @@ export function DeviceInUseError() {
|
|
35
45
|
),
|
36
46
|
});
|
37
47
|
|
38
|
-
|
39
|
-
const hasVideo = errorMessage.includes('video');
|
40
|
-
const hasScreen = errorMessage.includes('screen');
|
41
|
-
if (hasAudio && hasVideo) {
|
48
|
+
if (hasAudioVideo) {
|
42
49
|
setDeviceType('camera and microphone');
|
43
50
|
} else if (hasAudio) {
|
44
51
|
setDeviceType('microphone');
|
@@ -1,6 +1,12 @@
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
2
2
|
import { useMedia } from 'react-use';
|
3
|
-
import {
|
3
|
+
import {
|
4
|
+
HMSException,
|
5
|
+
HMSNotificationTypes,
|
6
|
+
HMSTrackException,
|
7
|
+
HMSTrackExceptionTrackType,
|
8
|
+
useHMSNotifications,
|
9
|
+
} from '@100mslive/react-sdk';
|
4
10
|
import { Button, config as cssConfig, Dialog, Flex, Text } from '../../..';
|
5
11
|
// @ts-ignore: No implicit Any
|
6
12
|
import androidPermissionAlert from '../../images/android-perm-1.png';
|
@@ -26,11 +32,13 @@ export const PermissionErrorModal = ({ error }: { error?: HMSException }) => {
|
|
26
32
|
) {
|
27
33
|
return;
|
28
34
|
}
|
29
|
-
|
30
|
-
const
|
31
|
-
const
|
32
|
-
const
|
33
|
-
|
35
|
+
|
36
|
+
const errorTrackExceptionType = (error as HMSTrackException)?.trackType;
|
37
|
+
const hasAudio = errorTrackExceptionType === HMSTrackExceptionTrackType.AUDIO;
|
38
|
+
const hasVideo = errorTrackExceptionType === HMSTrackExceptionTrackType.VIDEO;
|
39
|
+
const hasAudioVideo = errorTrackExceptionType === HMSTrackExceptionTrackType.AUDIO_VIDEO;
|
40
|
+
const hasScreen = errorTrackExceptionType === HMSTrackExceptionTrackType.SCREEN;
|
41
|
+
if (hasAudioVideo) {
|
34
42
|
setDeviceType('camera and microphone');
|
35
43
|
} else if (hasAudio) {
|
36
44
|
setDeviceType('microphone');
|
@@ -20,7 +20,7 @@ export const Grid = React.forwardRef<HTMLDivElement, { tiles: TrackWithPeerAndDi
|
|
20
20
|
justifyContent: 'center',
|
21
21
|
flexFlow: 'row wrap',
|
22
22
|
minHeight: 0,
|
23
|
-
'@
|
23
|
+
'@lg': { gap: edgeToEdge ? 0 : '$4' },
|
24
24
|
}}
|
25
25
|
>
|
26
26
|
{tiles?.map(tile => {
|
@@ -77,7 +77,7 @@ export const useTileLayout = ({
|
|
77
77
|
return rowElements;
|
78
78
|
});
|
79
79
|
|
80
|
-
const gap = edgeToEdge ? 0 : 8; // gap between flex items
|
80
|
+
const gap = edgeToEdge && isMobile ? 0 : 8; // gap between flex items
|
81
81
|
const maxHeight = height - (maxRows - 1) * gap;
|
82
82
|
const maxRowHeight = maxHeight / matrix.length;
|
83
83
|
const aspectRatios =
|
@@ -115,11 +115,10 @@ export const useTileLayout = ({
|
|
115
115
|
}
|
116
116
|
}
|
117
117
|
}
|
118
|
-
|
119
|
-
// There could be more such cases, this is a generic fix
|
118
|
+
|
120
119
|
for (let i = 0; i < row.length; i++) {
|
121
|
-
row[i].width = tileWidth
|
122
|
-
row[i].height = tileHeight
|
120
|
+
row[i].width = tileWidth;
|
121
|
+
row[i].height = tileHeight;
|
123
122
|
}
|
124
123
|
}
|
125
124
|
}
|