@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/video-react-sdk",
3
- "version": "1.13.0",
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.8",
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.10",
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): Promise<void> | void;
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
- selectDevice(manager, [preference].flat(), state.devices)
79
+ applyLocalDevicePreference(manager, [preference].flat(), state.devices)
78
80
  .catch((err) => {
79
- console.warn(`Failed to save ${deviceKey} device preferences`, err);
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 selectDevice = async (
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
- return;
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
- return;
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 = (