@stream-io/video-react-sdk 1.13.1 → 1.14.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/video-react-sdk",
3
- "version": "1.13.1",
3
+ "version": "1.14.0",
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.19.0",
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.12",
36
36
  "chart.js": "^4.4.4",
37
37
  "clsx": "^2.0.0",
38
38
  "react-chartjs-2": "^5.3.0"
@@ -76,9 +76,12 @@ const usePersistedDevicePreference = <K extends DeviceKey>(
76
76
  setApplyingState('applying');
77
77
 
78
78
  if (preference && !manager.state.selectedDevice) {
79
- selectDevice(manager, [preference].flat(), state.devices)
79
+ applyLocalDevicePreference(manager, [preference].flat(), state.devices)
80
80
  .catch((err) => {
81
- console.warn(`Failed to save ${deviceKey} device preferences`, err);
81
+ console.warn(
82
+ `Failed to apply ${deviceKey} device preferences`,
83
+ err,
84
+ );
82
85
  })
83
86
  .finally(() => setApplyingState('applied'));
84
87
  } else {
@@ -177,14 +180,18 @@ const patchLocalDevicePreference = (
177
180
  );
178
181
  };
179
182
 
180
- const selectDevice = async (
183
+ const applyLocalDevicePreference = async (
181
184
  manager: DeviceManagerLike,
182
185
  preference: LocalDevicePreference[],
183
186
  devices: MediaDeviceInfo[],
184
187
  ): Promise<void> => {
188
+ let muted: boolean | undefined;
189
+
185
190
  for (const p of preference) {
191
+ muted ??= p.muted;
192
+
186
193
  if (p.selectedDeviceId === defaultDevice) {
187
- return;
194
+ break;
188
195
  }
189
196
 
190
197
  const device =
@@ -193,10 +200,14 @@ const selectDevice = async (
193
200
 
194
201
  if (device) {
195
202
  await manager.select(device.deviceId);
196
- await manager[p.muted ? 'disable' : 'enable']?.();
197
- return;
203
+ muted = p.muted;
204
+ break;
198
205
  }
199
206
  }
207
+
208
+ if (typeof muted === 'boolean') {
209
+ await manager[muted ? 'disable' : 'enable']?.();
210
+ }
200
211
  };
201
212
 
202
213
  const getSelectedDevicePreference = (