@100mslive/roomkit-react 0.3.14-alpha.5 → 0.3.14-alpha.6
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/Diagnostics/components.d.ts +2 -0
- package/dist/{HLSView-AV4CONPM.js → HLSView-3BTMB5NS.js} +2 -2
- package/dist/{HLSView-HMJGKVNU.css → HLSView-E4CL2XZ5.css} +3 -3
- package/dist/{HLSView-HMJGKVNU.css.map → HLSView-E4CL2XZ5.css.map} +1 -1
- package/dist/Prebuilt/App.d.ts +1 -2
- package/dist/{chunk-W6E3MUWX.js → chunk-MIJLZRDK.js} +70 -51
- package/dist/chunk-MIJLZRDK.js.map +7 -0
- package/dist/index.cjs.css +2 -2
- package/dist/index.cjs.css.map +1 -1
- package/dist/index.cjs.js +68 -49
- 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 +1 -1
- package/dist/meta.cjs.json +24 -24
- package/dist/meta.esbuild.json +34 -34
- package/package.json +7 -7
- package/src/Diagnostics/AudioTest.tsx +51 -39
- package/src/Diagnostics/ConnectivityTest.tsx +5 -2
- package/src/Diagnostics/Diagnostics.tsx +7 -9
- package/src/Diagnostics/VideoTest.tsx +3 -3
- package/src/Diagnostics/components.tsx +12 -0
- package/src/Prebuilt/App.tsx +1 -9
- package/dist/chunk-W6E3MUWX.js.map +0 -7
- /package/dist/{HLSView-AV4CONPM.js.map → HLSView-3BTMB5NS.js.map} +0 -0
package/dist/meta.esbuild.json
CHANGED
@@ -10974,7 +10974,7 @@
|
|
10974
10974
|
],
|
10975
10975
|
"format": "esm"
|
10976
10976
|
},
|
10977
|
-
"../../../../../../../tmp/tmp-
|
10977
|
+
"../../../../../../../tmp/tmp-2787-KwE6v4ehqlUy/190359341ca2/tldraw.css": {
|
10978
10978
|
"bytes": 80111,
|
10979
10979
|
"imports": [
|
10980
10980
|
{
|
@@ -11024,7 +11024,7 @@
|
|
11024
11024
|
}
|
11025
11025
|
]
|
11026
11026
|
},
|
11027
|
-
"../../../../../../../tmp/tmp-
|
11027
|
+
"../../../../../../../tmp/tmp-2787-KwE6v4ehqlUy/190359341680/index.css": {
|
11028
11028
|
"bytes": 597,
|
11029
11029
|
"imports": [
|
11030
11030
|
{
|
@@ -11033,7 +11033,7 @@
|
|
11033
11033
|
"external": true
|
11034
11034
|
},
|
11035
11035
|
{
|
11036
|
-
"path": "../../../../../../../tmp/tmp-
|
11036
|
+
"path": "../../../../../../../tmp/tmp-2787-KwE6v4ehqlUy/190359341ca2/tldraw.css",
|
11037
11037
|
"kind": "import-rule",
|
11038
11038
|
"original": "@tldraw/tldraw/tldraw.css"
|
11039
11039
|
}
|
@@ -11108,7 +11108,7 @@
|
|
11108
11108
|
"original": "../../common/constants"
|
11109
11109
|
},
|
11110
11110
|
{
|
11111
|
-
"path": "../../../../../../../tmp/tmp-
|
11111
|
+
"path": "../../../../../../../tmp/tmp-2787-KwE6v4ehqlUy/190359341680/index.css",
|
11112
11112
|
"kind": "import-statement",
|
11113
11113
|
"original": "@100mslive/hms-whiteboard/index.css"
|
11114
11114
|
},
|
@@ -13891,7 +13891,7 @@
|
|
13891
13891
|
"format": "esm"
|
13892
13892
|
},
|
13893
13893
|
"src/Prebuilt/App.tsx": {
|
13894
|
-
"bytes":
|
13894
|
+
"bytes": 10754,
|
13895
13895
|
"imports": [
|
13896
13896
|
{
|
13897
13897
|
"path": "react",
|
@@ -14147,7 +14147,7 @@
|
|
14147
14147
|
"format": "esm"
|
14148
14148
|
},
|
14149
14149
|
"src/Diagnostics/components.tsx": {
|
14150
|
-
"bytes":
|
14150
|
+
"bytes": 2686,
|
14151
14151
|
"imports": [
|
14152
14152
|
{
|
14153
14153
|
"path": "react",
|
@@ -14409,7 +14409,7 @@
|
|
14409
14409
|
"format": "esm"
|
14410
14410
|
},
|
14411
14411
|
"src/Diagnostics/AudioTest.tsx": {
|
14412
|
-
"bytes":
|
14412
|
+
"bytes": 5194,
|
14413
14413
|
"imports": [
|
14414
14414
|
{
|
14415
14415
|
"path": "react",
|
@@ -14521,7 +14521,7 @@
|
|
14521
14521
|
"format": "esm"
|
14522
14522
|
},
|
14523
14523
|
"src/Diagnostics/ConnectivityTest.tsx": {
|
14524
|
-
"bytes":
|
14524
|
+
"bytes": 11322,
|
14525
14525
|
"imports": [
|
14526
14526
|
{
|
14527
14527
|
"path": "react",
|
@@ -14582,7 +14582,7 @@
|
|
14582
14582
|
"format": "esm"
|
14583
14583
|
},
|
14584
14584
|
"src/Diagnostics/VideoTest.tsx": {
|
14585
|
-
"bytes":
|
14585
|
+
"bytes": 2346,
|
14586
14586
|
"imports": [
|
14587
14587
|
{
|
14588
14588
|
"path": "react",
|
@@ -14648,7 +14648,7 @@
|
|
14648
14648
|
"format": "esm"
|
14649
14649
|
},
|
14650
14650
|
"src/Diagnostics/Diagnostics.tsx": {
|
14651
|
-
"bytes":
|
14651
|
+
"bytes": 4574,
|
14652
14652
|
"imports": [
|
14653
14653
|
{
|
14654
14654
|
"path": "react",
|
@@ -14961,7 +14961,7 @@
|
|
14961
14961
|
"dist/index.js": {
|
14962
14962
|
"imports": [
|
14963
14963
|
{
|
14964
|
-
"path": "dist/chunk-
|
14964
|
+
"path": "dist/chunk-MIJLZRDK.js",
|
14965
14965
|
"kind": "import-statement"
|
14966
14966
|
}
|
14967
14967
|
],
|
@@ -15037,16 +15037,16 @@
|
|
15037
15037
|
"inputs": {},
|
15038
15038
|
"bytes": 1882
|
15039
15039
|
},
|
15040
|
-
"dist/HLSView-
|
15040
|
+
"dist/HLSView-3BTMB5NS.js.map": {
|
15041
15041
|
"imports": [],
|
15042
15042
|
"exports": [],
|
15043
15043
|
"inputs": {},
|
15044
15044
|
"bytes": 100275
|
15045
15045
|
},
|
15046
|
-
"dist/HLSView-
|
15046
|
+
"dist/HLSView-3BTMB5NS.js": {
|
15047
15047
|
"imports": [
|
15048
15048
|
{
|
15049
|
-
"path": "dist/chunk-
|
15049
|
+
"path": "dist/chunk-MIJLZRDK.js",
|
15050
15050
|
"kind": "import-statement"
|
15051
15051
|
},
|
15052
15052
|
{
|
@@ -15224,7 +15224,7 @@
|
|
15224
15224
|
"default"
|
15225
15225
|
],
|
15226
15226
|
"entryPoint": "src/Prebuilt/layouts/HLSView.jsx",
|
15227
|
-
"cssBundle": "dist/HLSView-
|
15227
|
+
"cssBundle": "dist/HLSView-E4CL2XZ5.css",
|
15228
15228
|
"inputs": {
|
15229
15229
|
"src/Prebuilt/layouts/HLSView.jsx": {
|
15230
15230
|
"bytesInOutput": 27671
|
@@ -15283,13 +15283,13 @@
|
|
15283
15283
|
},
|
15284
15284
|
"bytes": 61702
|
15285
15285
|
},
|
15286
|
-
"dist/chunk-
|
15286
|
+
"dist/chunk-MIJLZRDK.js.map": {
|
15287
15287
|
"imports": [],
|
15288
15288
|
"exports": [],
|
15289
15289
|
"inputs": {},
|
15290
|
-
"bytes":
|
15290
|
+
"bytes": 3890716
|
15291
15291
|
},
|
15292
|
-
"dist/chunk-
|
15292
|
+
"dist/chunk-MIJLZRDK.js": {
|
15293
15293
|
"imports": [
|
15294
15294
|
{
|
15295
15295
|
"path": "react",
|
@@ -17772,7 +17772,7 @@
|
|
17772
17772
|
"external": true
|
17773
17773
|
},
|
17774
17774
|
{
|
17775
|
-
"path": "dist/HLSView-
|
17775
|
+
"path": "dist/HLSView-3BTMB5NS.js",
|
17776
17776
|
"kind": "dynamic-import"
|
17777
17777
|
},
|
17778
17778
|
{
|
@@ -18356,7 +18356,7 @@
|
|
18356
18356
|
],
|
18357
18357
|
"inputs": {
|
18358
18358
|
"<define:process.env>": {
|
18359
|
-
"bytesInOutput":
|
18359
|
+
"bytesInOutput": 17868
|
18360
18360
|
},
|
18361
18361
|
"../../node_modules/lodash/lodash.js": {
|
18362
18362
|
"bytesInOutput": 224414
|
@@ -18641,7 +18641,7 @@
|
|
18641
18641
|
"bytesInOutput": 887
|
18642
18642
|
},
|
18643
18643
|
"src/Prebuilt/App.tsx": {
|
18644
|
-
"bytesInOutput":
|
18644
|
+
"bytesInOutput": 7946
|
18645
18645
|
},
|
18646
18646
|
"src/Prebuilt/components/AppData/AppData.tsx": {
|
18647
18647
|
"bytesInOutput": 6013
|
@@ -19237,7 +19237,7 @@
|
|
19237
19237
|
"src/Prebuilt/components/VideoLayouts/WhiteboardLayout.tsx": {
|
19238
19238
|
"bytesInOutput": 2797
|
19239
19239
|
},
|
19240
|
-
"../../../../../../../tmp/tmp-
|
19240
|
+
"../../../../../../../tmp/tmp-2787-KwE6v4ehqlUy/190359341680/index.css": {
|
19241
19241
|
"bytesInOutput": 0
|
19242
19242
|
},
|
19243
19243
|
"src/Prebuilt/common/PeersSorter.ts": {
|
@@ -19382,16 +19382,16 @@
|
|
19382
19382
|
"bytesInOutput": 27
|
19383
19383
|
},
|
19384
19384
|
"src/Diagnostics/Diagnostics.tsx": {
|
19385
|
-
"bytesInOutput":
|
19385
|
+
"bytesInOutput": 4825
|
19386
19386
|
},
|
19387
19387
|
"src/Diagnostics/components.tsx": {
|
19388
|
-
"bytesInOutput":
|
19388
|
+
"bytesInOutput": 2375
|
19389
19389
|
},
|
19390
19390
|
"src/Diagnostics/hms.ts": {
|
19391
19391
|
"bytesInOutput": 237
|
19392
19392
|
},
|
19393
19393
|
"src/Diagnostics/AudioTest.tsx": {
|
19394
|
-
"bytesInOutput":
|
19394
|
+
"bytesInOutput": 5341
|
19395
19395
|
},
|
19396
19396
|
"src/Diagnostics/DeviceSelector.jsx": {
|
19397
19397
|
"bytesInOutput": 2155
|
@@ -19400,13 +19400,13 @@
|
|
19400
19400
|
"bytesInOutput": 4041
|
19401
19401
|
},
|
19402
19402
|
"src/Diagnostics/ConnectivityTest.tsx": {
|
19403
|
-
"bytesInOutput":
|
19403
|
+
"bytesInOutput": 12614
|
19404
19404
|
},
|
19405
19405
|
"src/Diagnostics/VideoTest.tsx": {
|
19406
|
-
"bytesInOutput":
|
19406
|
+
"bytesInOutput": 2295
|
19407
19407
|
}
|
19408
19408
|
},
|
19409
|
-
"bytes":
|
19409
|
+
"bytes": 1849355
|
19410
19410
|
},
|
19411
19411
|
"dist/index.css.map": {
|
19412
19412
|
"imports": [],
|
@@ -19468,22 +19468,22 @@
|
|
19468
19468
|
}
|
19469
19469
|
],
|
19470
19470
|
"inputs": {
|
19471
|
-
"../../../../../../../tmp/tmp-
|
19471
|
+
"../../../../../../../tmp/tmp-2787-KwE6v4ehqlUy/190359341ca2/tldraw.css": {
|
19472
19472
|
"bytesInOutput": 75223
|
19473
19473
|
},
|
19474
|
-
"../../../../../../../tmp/tmp-
|
19474
|
+
"../../../../../../../tmp/tmp-2787-KwE6v4ehqlUy/190359341680/index.css": {
|
19475
19475
|
"bytesInOutput": 401
|
19476
19476
|
}
|
19477
19477
|
},
|
19478
19478
|
"bytes": 75901
|
19479
19479
|
},
|
19480
|
-
"dist/HLSView-
|
19480
|
+
"dist/HLSView-E4CL2XZ5.css.map": {
|
19481
19481
|
"imports": [],
|
19482
19482
|
"exports": [],
|
19483
19483
|
"inputs": {},
|
19484
19484
|
"bytes": 122402
|
19485
19485
|
},
|
19486
|
-
"dist/HLSView-
|
19486
|
+
"dist/HLSView-E4CL2XZ5.css": {
|
19487
19487
|
"imports": [
|
19488
19488
|
{
|
19489
19489
|
"path": "https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap",
|
@@ -19537,10 +19537,10 @@
|
|
19537
19537
|
}
|
19538
19538
|
],
|
19539
19539
|
"inputs": {
|
19540
|
-
"../../../../../../../tmp/tmp-
|
19540
|
+
"../../../../../../../tmp/tmp-2787-KwE6v4ehqlUy/190359341ca2/tldraw.css": {
|
19541
19541
|
"bytesInOutput": 75223
|
19542
19542
|
},
|
19543
|
-
"../../../../../../../tmp/tmp-
|
19543
|
+
"../../../../../../../tmp/tmp-2787-KwE6v4ehqlUy/190359341680/index.css": {
|
19544
19544
|
"bytesInOutput": 401
|
19545
19545
|
}
|
19546
19546
|
},
|
package/package.json
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
"prebuilt",
|
11
11
|
"roomkit"
|
12
12
|
],
|
13
|
-
"version": "0.3.14-alpha.
|
13
|
+
"version": "0.3.14-alpha.6",
|
14
14
|
"author": "100ms",
|
15
15
|
"license": "MIT",
|
16
16
|
"repository": {
|
@@ -74,12 +74,12 @@
|
|
74
74
|
"react": ">=17.0.2 <19.0.0"
|
75
75
|
},
|
76
76
|
"dependencies": {
|
77
|
-
"@100mslive/hls-player": "0.3.14-alpha.
|
77
|
+
"@100mslive/hls-player": "0.3.14-alpha.6",
|
78
78
|
"@100mslive/hms-noise-cancellation": "0.0.1",
|
79
|
-
"@100mslive/hms-virtual-background": "1.13.14-alpha.
|
80
|
-
"@100mslive/hms-whiteboard": "0.0.4-alpha.
|
81
|
-
"@100mslive/react-icons": "0.10.14-alpha.
|
82
|
-
"@100mslive/react-sdk": "0.10.14-alpha.
|
79
|
+
"@100mslive/hms-virtual-background": "1.13.14-alpha.6",
|
80
|
+
"@100mslive/hms-whiteboard": "0.0.4-alpha.6",
|
81
|
+
"@100mslive/react-icons": "0.10.14-alpha.6",
|
82
|
+
"@100mslive/react-sdk": "0.10.14-alpha.6",
|
83
83
|
"@100mslive/types-prebuilt": "0.12.9",
|
84
84
|
"@emoji-mart/data": "^1.0.6",
|
85
85
|
"@emoji-mart/react": "^1.0.1",
|
@@ -115,5 +115,5 @@
|
|
115
115
|
"uuid": "^8.3.2",
|
116
116
|
"worker-timers": "^7.0.40"
|
117
117
|
},
|
118
|
-
"gitHead": "
|
118
|
+
"gitHead": "66c83d117ead187aeacea1da6e46e90a42bbc9d5"
|
119
119
|
}
|
@@ -21,7 +21,7 @@ import { useAudioOutputTest } from '../Prebuilt/components/hooks/useAudioOutputT
|
|
21
21
|
import { TEST_AUDIO_URL } from '../Prebuilt/common/constants';
|
22
22
|
|
23
23
|
const SelectContainer = ({ children }: { children: React.ReactNode }) => (
|
24
|
-
<Box css={{ w: '50%', '@lg': { w: '100%' } }}>{children}</Box>
|
24
|
+
<Box css={{ w: 'calc(50% - 0.75rem)', '@lg': { w: '100%' } }}>{children}</Box>
|
25
25
|
);
|
26
26
|
|
27
27
|
const MicTest = () => {
|
@@ -31,11 +31,13 @@ const MicTest = () => {
|
|
31
31
|
const [selectedMic, setSelectedMic] = useState(audioInputDeviceId || 'default');
|
32
32
|
const trackID = useHMSStore(selectLocalAudioTrackID);
|
33
33
|
const audioLevel = useHMSStore(selectTrackAudioByID(trackID));
|
34
|
+
const { audioOutputDeviceId } = useHMSStore(selectLocalMediaSettings);
|
35
|
+
const { playing, setPlaying, audioRef } = useAudioOutputTest({ deviceId: audioOutputDeviceId || 'default' });
|
34
36
|
|
35
37
|
return (
|
36
38
|
<SelectContainer>
|
37
39
|
<DeviceSelector
|
38
|
-
title="Microphone(Input)"
|
40
|
+
title="Microphone (Input)"
|
39
41
|
devices={devices.audioInput}
|
40
42
|
selection={selectedMic}
|
41
43
|
icon={<MicOnIcon />}
|
@@ -47,6 +49,8 @@ const MicTest = () => {
|
|
47
49
|
/>
|
48
50
|
<Flex css={{ gap: '$6', alignItems: 'center' }}>
|
49
51
|
<Button
|
52
|
+
variant="standard"
|
53
|
+
icon
|
50
54
|
onClick={() =>
|
51
55
|
hmsDiagnostics
|
52
56
|
.startMicCheck(selectedMic, () => {
|
@@ -58,23 +62,45 @@ const MicTest = () => {
|
|
58
62
|
}
|
59
63
|
disabled={isRecording}
|
60
64
|
>
|
65
|
+
<MicOnIcon />
|
61
66
|
{isRecording ? 'Recording...' : 'Record'}
|
62
67
|
</Button>
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
68
|
+
|
69
|
+
<Button
|
70
|
+
icon
|
71
|
+
variant="standard"
|
72
|
+
outlined={hmsDiagnostics.getRecordedAudio() === TEST_AUDIO_URL}
|
73
|
+
onClick={() => {
|
74
|
+
if (audioRef.current) {
|
75
|
+
audioRef.current.src = hmsDiagnostics.getRecordedAudio() || '';
|
76
|
+
audioRef.current.play();
|
77
|
+
}
|
78
|
+
}}
|
79
|
+
disabled={playing || hmsDiagnostics.getRecordedAudio() === TEST_AUDIO_URL}
|
80
|
+
>
|
81
|
+
<SpeakerIcon />
|
82
|
+
{playing ? 'Playing...' : 'Playback'}
|
83
|
+
</Button>
|
84
|
+
<audio
|
85
|
+
ref={audioRef}
|
86
|
+
onEnded={() => setPlaying(false)}
|
87
|
+
onPlay={() => setPlaying(true)}
|
88
|
+
style={{ display: 'none' }}
|
89
|
+
/>
|
90
|
+
</Flex>
|
91
|
+
|
92
|
+
<Flex align="center" css={{ mt: '$4', maxWidth: '10rem', opacity: isRecording ? '1' : '0', gap: '$4' }}>
|
93
|
+
<Text>
|
94
|
+
<MicOnIcon />
|
95
|
+
</Text>
|
96
|
+
<Progress.Root value={audioLevel} css={{ h: '$2' }}>
|
97
|
+
<Progress.Content
|
98
|
+
style={{
|
99
|
+
transform: `translateX(-${100 - audioLevel}%)`,
|
100
|
+
transition: 'transform 0.3s',
|
101
|
+
}}
|
102
|
+
/>
|
103
|
+
</Progress.Root>
|
78
104
|
</Flex>
|
79
105
|
</SelectContainer>
|
80
106
|
);
|
@@ -84,12 +110,15 @@ const SpeakerTest = () => {
|
|
84
110
|
const actions = useHMSActions();
|
85
111
|
const devices = useHMSStore(selectDevices);
|
86
112
|
const { audioOutputDeviceId } = useHMSStore(selectLocalMediaSettings);
|
87
|
-
|
113
|
+
|
114
|
+
if (devices.audioOutput.length === 0) {
|
115
|
+
return <></>;
|
116
|
+
}
|
88
117
|
|
89
118
|
return (
|
90
119
|
<SelectContainer>
|
91
120
|
<DeviceSelector
|
92
|
-
title="Speaker(
|
121
|
+
title="Speaker (Output)"
|
93
122
|
devices={devices.audioOutput}
|
94
123
|
selection={audioOutputDeviceId || 'default'}
|
95
124
|
icon={<SpeakerIcon />}
|
@@ -97,24 +126,6 @@ const SpeakerTest = () => {
|
|
97
126
|
actions.setAudioOutputDevice(deviceId);
|
98
127
|
}}
|
99
128
|
/>
|
100
|
-
<Button
|
101
|
-
onClick={() => {
|
102
|
-
if (audioRef.current) {
|
103
|
-
audioRef.current.src = hmsDiagnostics.getRecordedAudio() || TEST_AUDIO_URL;
|
104
|
-
audioRef.current.play();
|
105
|
-
}
|
106
|
-
}}
|
107
|
-
disabled={playing}
|
108
|
-
>
|
109
|
-
<SpeakerIcon />
|
110
|
-
<Text css={{ ml: '$4' }}>{playing ? 'Playing' : 'Playback'}</Text>
|
111
|
-
</Button>
|
112
|
-
<audio
|
113
|
-
ref={audioRef}
|
114
|
-
onEnded={() => setPlaying(false)}
|
115
|
-
onPlay={() => setPlaying(true)}
|
116
|
-
style={{ display: 'none' }}
|
117
|
-
/>
|
118
129
|
</SelectContainer>
|
119
130
|
);
|
120
131
|
};
|
@@ -129,8 +140,9 @@ export const AudioTest = () => {
|
|
129
140
|
<>
|
130
141
|
<TestContainer>
|
131
142
|
<Text variant="body2" css={{ c: '$on_primary_medium' }}>
|
132
|
-
Record
|
133
|
-
make sure your volume is turned up, try a different speaker or microphone, or check your bluetooth
|
143
|
+
Record a 10 second audio clip and play it back to check that your microphone and speaker are working. If they
|
144
|
+
aren't, make sure your volume is turned up, try a different speaker or microphone, or check your bluetooth
|
145
|
+
settings.
|
134
146
|
</Text>
|
135
147
|
|
136
148
|
<Flex
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import React, { useState } from 'react';
|
1
|
+
import React, { useContext, useState } from 'react';
|
2
2
|
import { ConnectivityCheckResult, ConnectivityState, DiagnosticsRTCStats } from '@100mslive/react-sdk';
|
3
3
|
import { CheckCircleIcon, CrossCircleIcon, LinkIcon } from '@100mslive/react-icons';
|
4
|
-
import { TestContainer, TestFooter } from './components';
|
4
|
+
import { DiagnosticsContext, TestContainer, TestFooter } from './components';
|
5
5
|
import { Button } from '../Button';
|
6
6
|
import { Box, Flex } from '../Layout';
|
7
7
|
import { Loading } from '../Loading';
|
@@ -310,12 +310,14 @@ const RegionSelector = ({
|
|
310
310
|
};
|
311
311
|
|
312
312
|
export const ConnectivityTest = () => {
|
313
|
+
const { setConnectivityTested } = useContext(DiagnosticsContext);
|
313
314
|
const [region, setRegion] = useState<string | undefined>(Object.keys(Regions)[0]);
|
314
315
|
const [error, setError] = useState<Error | undefined>();
|
315
316
|
const [progress, setProgress] = useState<ConnectivityState>();
|
316
317
|
const [result, setResult] = useState<ConnectivityCheckResult | undefined>();
|
317
318
|
|
318
319
|
const startTest = () => {
|
320
|
+
setConnectivityTested(false);
|
319
321
|
setError(undefined);
|
320
322
|
setResult(undefined);
|
321
323
|
hmsDiagnostics
|
@@ -324,6 +326,7 @@ export const ConnectivityTest = () => {
|
|
324
326
|
setProgress(state);
|
325
327
|
},
|
326
328
|
result => {
|
329
|
+
setConnectivityTested(true);
|
327
330
|
setResult(result);
|
328
331
|
},
|
329
332
|
region,
|
@@ -21,8 +21,8 @@ const DiagnosticsStepIcon: Record<string, React.ReactNode> = {
|
|
21
21
|
const Container = ({ children }: { children: React.ReactNode }) => (
|
22
22
|
<Box
|
23
23
|
css={{
|
24
|
-
px: '
|
25
|
-
py: '
|
24
|
+
px: '120px',
|
25
|
+
py: '120px',
|
26
26
|
bg: '$background_dim',
|
27
27
|
lineHeight: '1.5',
|
28
28
|
'-webkit-text-size-adjust': '100%',
|
@@ -67,7 +67,7 @@ const DiagnosticsStepHeader = () => {
|
|
67
67
|
|
68
68
|
const DiagnosticsStep = () => {
|
69
69
|
return (
|
70
|
-
<Box css={{ border: '1px solid $border_default', r: '$1', w: '75%', '@lg': { w: '100%' } }}>
|
70
|
+
<Box css={{ border: '1px solid $border_default', r: '$1', w: '75%', maxWidth: '65rem', '@lg': { w: '100%' } }}>
|
71
71
|
<DiagnosticsStepHeader />
|
72
72
|
<Box css={{ maxHeight: '55vh', overflowY: 'auto' }}>
|
73
73
|
<DiagnosticsStepTest />
|
@@ -77,7 +77,7 @@ const DiagnosticsStep = () => {
|
|
77
77
|
};
|
78
78
|
|
79
79
|
const DiagnosticsStepsList = () => {
|
80
|
-
const { activeStep } = useContext(DiagnosticsContext);
|
80
|
+
const { activeStep, connectivityTested } = useContext(DiagnosticsContext);
|
81
81
|
|
82
82
|
return (
|
83
83
|
<Box css={{ w: '25%', '@lg': { display: 'none' } }}>
|
@@ -85,15 +85,12 @@ const DiagnosticsStepsList = () => {
|
|
85
85
|
const keys = Object.keys(DiagnosticsSteps);
|
86
86
|
const activeStepIndex = keys.indexOf(activeStep);
|
87
87
|
const keyIndex = keys.indexOf(key);
|
88
|
-
const isStepCompleted = activeStepIndex > keyIndex;
|
88
|
+
const isStepCompleted = activeStepIndex > keyIndex || (activeStep === 'connectivity' && connectivityTested);
|
89
89
|
|
90
90
|
let color = '$on_primary_low';
|
91
91
|
if (isStepCompleted) {
|
92
92
|
color = '$primary_bright';
|
93
93
|
}
|
94
|
-
if (activeStep === key) {
|
95
|
-
color = '$on_primary_high';
|
96
|
-
}
|
97
94
|
|
98
95
|
return (
|
99
96
|
<Flex css={{ mb: '$10', c: color, gap: '$4', alignItems: 'center' }}>
|
@@ -112,10 +109,11 @@ const DiagnosticsStepsList = () => {
|
|
112
109
|
|
113
110
|
export const Diagnostics = () => {
|
114
111
|
const [activeStep, setActiveStep] = React.useState(Object.keys(DiagnosticsSteps)[0]);
|
112
|
+
const [connectivityTested, setConnectivityTested] = React.useState(false);
|
115
113
|
return (
|
116
114
|
<HMSRoomProvider store={hmsStore} actions={hmsActions} notifications={hmsNotifications} stats={hmsStats}>
|
117
115
|
<HMSThemeProvider themeType="default">
|
118
|
-
<DiagnosticsContext.Provider value={{ activeStep, setActiveStep }}>
|
116
|
+
<DiagnosticsContext.Provider value={{ activeStep, setActiveStep, connectivityTested, setConnectivityTested }}>
|
119
117
|
<Container>
|
120
118
|
<Text variant="h4">Pre-call Test</Text>
|
121
119
|
<Text variant="md" css={{ c: '$on_primary_medium' }}>
|
@@ -27,10 +27,10 @@ export const VideoTest = () => {
|
|
27
27
|
{trackID && (
|
28
28
|
<StyledVideoTile.Container
|
29
29
|
css={{
|
30
|
-
|
31
|
-
|
30
|
+
width: '90%',
|
31
|
+
aspectRatio: '16/9',
|
32
32
|
mr: '$10',
|
33
|
-
'@lg': { mr: 0, mb: '$10' },
|
33
|
+
'@lg': { mr: 0, mb: '$10', aspectRatio: '1/1' },
|
34
34
|
}}
|
35
35
|
>
|
36
36
|
<Video mirror={true} trackId={trackID} />
|
@@ -15,11 +15,17 @@ export const DiagnosticsSteps: Record<string, string> = {
|
|
15
15
|
export const DiagnosticsContext = React.createContext<{
|
16
16
|
activeStep: string;
|
17
17
|
setActiveStep: React.Dispatch<React.SetStateAction<string>>;
|
18
|
+
connectivityTested: boolean;
|
19
|
+
setConnectivityTested: React.Dispatch<React.SetStateAction<boolean>>;
|
18
20
|
}>({
|
19
21
|
activeStep: 'video',
|
20
22
|
setActiveStep: () => {
|
21
23
|
return;
|
22
24
|
},
|
25
|
+
connectivityTested: false,
|
26
|
+
setConnectivityTested: () => {
|
27
|
+
return;
|
28
|
+
},
|
23
29
|
});
|
24
30
|
|
25
31
|
export const TestContainer = ({ css, children }: { css?: CSS; children: React.ReactNode }) => {
|
@@ -55,11 +61,17 @@ export const TestFooter = ({
|
|
55
61
|
css={{
|
56
62
|
py: '$8',
|
57
63
|
px: '$10',
|
64
|
+
position: 'sticky',
|
65
|
+
bottom: '0',
|
66
|
+
background: '$background_dim',
|
58
67
|
justifyContent: 'space-between',
|
59
68
|
alignItems: 'center',
|
60
69
|
borderTop: '1px solid $border_default',
|
61
70
|
fontSize: '$sm',
|
71
|
+
borderBottomLeftRadius: '$1',
|
72
|
+
borderBottomRightRadius: '$1',
|
62
73
|
lineHeight: '$sm',
|
74
|
+
zIndex: 1001,
|
63
75
|
'@lg': { flexDirection: 'column', gap: '$8' },
|
64
76
|
}}
|
65
77
|
>
|
package/src/Prebuilt/App.tsx
CHANGED
@@ -1,10 +1,5 @@
|
|
1
1
|
import React, { MutableRefObject, useEffect, useRef } from 'react';
|
2
|
-
import {
|
3
|
-
HMSDiagnosticsInterface,
|
4
|
-
HMSStatsStoreWrapper,
|
5
|
-
HMSStoreWrapper,
|
6
|
-
IHMSNotifications,
|
7
|
-
} from '@100mslive/hms-video-store';
|
2
|
+
import { HMSStatsStoreWrapper, HMSStoreWrapper, IHMSNotifications } from '@100mslive/hms-video-store';
|
8
3
|
import { Layout, Logo, Screens, Theme, Typography } from '@100mslive/types-prebuilt';
|
9
4
|
import { match } from 'ts-pattern';
|
10
5
|
import {
|
@@ -85,7 +80,6 @@ export type HMSPrebuiltRefType = {
|
|
85
80
|
hmsStore: HMSStoreWrapper;
|
86
81
|
hmsStats: HMSStatsStoreWrapper;
|
87
82
|
hmsNotifications: IHMSNotifications;
|
88
|
-
hmsDiagnostics: HMSDiagnosticsInterface;
|
89
83
|
};
|
90
84
|
|
91
85
|
export const HMSPrebuilt = React.forwardRef<HMSPrebuiltRefType, HMSPrebuiltProps>(
|
@@ -115,7 +109,6 @@ export const HMSPrebuilt = React.forwardRef<HMSPrebuiltRefType, HMSPrebuiltProps
|
|
115
109
|
const hmsActions = hms.getActions();
|
116
110
|
const hmsNotifications = hms.getNotifications();
|
117
111
|
const hmsStats = hms.getStats();
|
118
|
-
const hmsDiagnostics = hms.getDiagnosticsSDK();
|
119
112
|
hms.triggerOnSubscribe();
|
120
113
|
|
121
114
|
reactiveStore.current = {
|
@@ -123,7 +116,6 @@ export const HMSPrebuilt = React.forwardRef<HMSPrebuiltRefType, HMSPrebuiltProps
|
|
123
116
|
hmsStats,
|
124
117
|
hmsStore,
|
125
118
|
hmsNotifications,
|
126
|
-
hmsDiagnostics,
|
127
119
|
};
|
128
120
|
}, []);
|
129
121
|
|