@stream-io/video-react-sdk 1.13.0 → 1.13.2
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/CHANGELOG.md +18 -0
- package/dist/index.cjs.js +12 -6
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +12 -6
- package/dist/index.es.js.map +1 -1
- package/package.json +3 -3
- package/src/hooks/usePersistedDevicePreferences.ts +20 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stream-io/video-react-sdk",
|
|
3
|
-
"version": "1.13.
|
|
3
|
+
"version": "1.13.2",
|
|
4
4
|
"main": "./dist/index.cjs.js",
|
|
5
5
|
"module": "./dist/index.es.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@floating-ui/react": "^0.26.24",
|
|
33
|
-
"@stream-io/video-client": "1.18.
|
|
33
|
+
"@stream-io/video-client": "1.18.9",
|
|
34
34
|
"@stream-io/video-filters-web": "0.1.7",
|
|
35
|
-
"@stream-io/video-react-bindings": "1.5.
|
|
35
|
+
"@stream-io/video-react-bindings": "1.5.11",
|
|
36
36
|
"chart.js": "^4.4.4",
|
|
37
37
|
"clsx": "^2.0.0",
|
|
38
38
|
"react-chartjs-2": "^5.3.0"
|
|
@@ -26,7 +26,9 @@ type DeviceState<K extends DeviceKey> = {
|
|
|
26
26
|
|
|
27
27
|
interface DeviceManagerLike {
|
|
28
28
|
state: { selectedDevice: string | undefined };
|
|
29
|
-
select(deviceId: string)
|
|
29
|
+
select: (deviceId: string) => Promise<void> | void;
|
|
30
|
+
enable?: () => Promise<void>;
|
|
31
|
+
disable?: () => Promise<void>;
|
|
30
32
|
}
|
|
31
33
|
|
|
32
34
|
const defaultDevice = 'default';
|
|
@@ -74,9 +76,12 @@ const usePersistedDevicePreference = <K extends DeviceKey>(
|
|
|
74
76
|
setApplyingState('applying');
|
|
75
77
|
|
|
76
78
|
if (preference && !manager.state.selectedDevice) {
|
|
77
|
-
|
|
79
|
+
applyLocalDevicePreference(manager, [preference].flat(), state.devices)
|
|
78
80
|
.catch((err) => {
|
|
79
|
-
console.warn(
|
|
81
|
+
console.warn(
|
|
82
|
+
`Failed to apply ${deviceKey} device preferences`,
|
|
83
|
+
err,
|
|
84
|
+
);
|
|
80
85
|
})
|
|
81
86
|
.finally(() => setApplyingState('applied'));
|
|
82
87
|
} else {
|
|
@@ -175,14 +180,18 @@ const patchLocalDevicePreference = (
|
|
|
175
180
|
);
|
|
176
181
|
};
|
|
177
182
|
|
|
178
|
-
const
|
|
183
|
+
const applyLocalDevicePreference = async (
|
|
179
184
|
manager: DeviceManagerLike,
|
|
180
185
|
preference: LocalDevicePreference[],
|
|
181
186
|
devices: MediaDeviceInfo[],
|
|
182
187
|
): Promise<void> => {
|
|
188
|
+
let muted: boolean | undefined;
|
|
189
|
+
|
|
183
190
|
for (const p of preference) {
|
|
191
|
+
muted ??= p.muted;
|
|
192
|
+
|
|
184
193
|
if (p.selectedDeviceId === defaultDevice) {
|
|
185
|
-
|
|
194
|
+
break;
|
|
186
195
|
}
|
|
187
196
|
|
|
188
197
|
const device =
|
|
@@ -191,9 +200,14 @@ const selectDevice = async (
|
|
|
191
200
|
|
|
192
201
|
if (device) {
|
|
193
202
|
await manager.select(device.deviceId);
|
|
194
|
-
|
|
203
|
+
muted = p.muted;
|
|
204
|
+
break;
|
|
195
205
|
}
|
|
196
206
|
}
|
|
207
|
+
|
|
208
|
+
if (typeof muted === 'boolean') {
|
|
209
|
+
await manager[muted ? 'disable' : 'enable']?.();
|
|
210
|
+
}
|
|
197
211
|
};
|
|
198
212
|
|
|
199
213
|
const getSelectedDevicePreference = (
|