@stream-io/video-client 1.44.1 → 1.44.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 CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.44.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.44.1...@stream-io/video-client-1.44.2) (2026-03-06)
6
+
7
+ ### Bug Fixes
8
+
9
+ - do not setup speaker early for ringing type calls ([#2154](https://github.com/GetStream/stream-video-js/issues/2154)) ([57adb90](https://github.com/GetStream/stream-video-js/commit/57adb90f03cfaceb4e6d3c050feaea239b80b1d9))
10
+
5
11
  ## [1.44.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.44.0...@stream-io/video-client-1.44.1) (2026-03-04)
6
12
 
7
13
  ### Bug Fixes
@@ -6281,7 +6281,7 @@ const getSdkVersion = (sdk) => {
6281
6281
  return sdk ? `${sdk.major}.${sdk.minor}.${sdk.patch}` : '0.0.0-development';
6282
6282
  };
6283
6283
 
6284
- const version = "1.44.1";
6284
+ const version = "1.44.2";
6285
6285
  const [major, minor, patch] = version.split('.');
6286
6286
  let sdkInfo = {
6287
6287
  type: SdkType.PLAIN_JAVASCRIPT,
@@ -12997,7 +12997,8 @@ class Call {
12997
12997
  // const calls = useCalls().filter((c) => c.ringing);
12998
12998
  const calls = this.clientStore.calls.filter((c) => c.cid !== this.cid);
12999
12999
  this.clientStore.setCalls([this, ...calls]);
13000
- await this.applyDeviceConfig(settings, false);
13000
+ const skipSpeakerApply = isReactNative();
13001
+ await this.applyDeviceConfig(settings, false, skipSpeakerApply);
13001
13002
  };
13002
13003
  /**
13003
13004
  * Loads the information about the call.
@@ -13020,7 +13021,13 @@ class Call {
13020
13021
  this.watching = true;
13021
13022
  this.clientStore.registerOrUpdateCall(this);
13022
13023
  }
13023
- await this.applyDeviceConfig(response.call.settings, false);
13024
+ // Skip speaker setup on RN if ringing was requested or the call is already ringing
13025
+ const skipSpeakerApply = isReactNative()
13026
+ ? params?.ring === true
13027
+ ? true
13028
+ : this.ringing
13029
+ : false;
13030
+ await this.applyDeviceConfig(response.call.settings, false, skipSpeakerApply);
13024
13031
  return response;
13025
13032
  };
13026
13033
  /**
@@ -13041,7 +13048,13 @@ class Call {
13041
13048
  this.watching = true;
13042
13049
  this.clientStore.registerOrUpdateCall(this);
13043
13050
  }
13044
- await this.applyDeviceConfig(response.call.settings, false);
13051
+ // Skip speaker setup on RN if ringing was requested or the call is already ringing
13052
+ const skipSpeakerApply = isReactNative()
13053
+ ? data?.ring === true
13054
+ ? true
13055
+ : this.ringing
13056
+ : false;
13057
+ await this.applyDeviceConfig(response.call.settings, false, skipSpeakerApply);
13045
13058
  return response;
13046
13059
  };
13047
13060
  /**
@@ -13296,7 +13309,7 @@ class Call {
13296
13309
  // device settings should be applied only once, we don't have to
13297
13310
  // re-apply them on later reconnections or server-side data fetches
13298
13311
  if (!this.deviceSettingsAppliedOnce && this.state.settings) {
13299
- await this.applyDeviceConfig(this.state.settings, true);
13312
+ await this.applyDeviceConfig(this.state.settings, true, false);
13300
13313
  globalThis.streamRNVideoSDK?.callManager.start();
13301
13314
  this.deviceSettingsAppliedOnce = true;
13302
13315
  }
@@ -14554,8 +14567,10 @@ class Call {
14554
14567
  *
14555
14568
  * @internal
14556
14569
  */
14557
- this.applyDeviceConfig = async (settings, publish) => {
14558
- this.speaker.apply(settings);
14570
+ this.applyDeviceConfig = async (settings, publish, skipSpeakerApply) => {
14571
+ if (!skipSpeakerApply) {
14572
+ this.speaker.apply(settings);
14573
+ }
14559
14574
  await this.camera.apply(settings.video, publish).catch((err) => {
14560
14575
  this.logger.warn('Camera init failed', err);
14561
14576
  });
@@ -15870,7 +15885,7 @@ class StreamClient {
15870
15885
  this.getUserAgent = () => {
15871
15886
  if (!this.cachedUserAgent) {
15872
15887
  const { clientAppIdentifier = {} } = this.options;
15873
- const { sdkName = 'js', sdkVersion = "1.44.1", ...extras } = clientAppIdentifier;
15888
+ const { sdkName = 'js', sdkVersion = "1.44.2", ...extras } = clientAppIdentifier;
15874
15889
  this.cachedUserAgent = [
15875
15890
  `stream-video-${sdkName}-v${sdkVersion}`,
15876
15891
  ...Object.entries(extras).map(([key, value]) => `${key}=${value}`),
@@ -16305,7 +16320,7 @@ class StreamVideoClient {
16305
16320
  clientStore: this.writeableStateStore,
16306
16321
  });
16307
16322
  call.state.updateFromCallResponse(c.call);
16308
- await call.applyDeviceConfig(c.call.settings, false);
16323
+ await call.applyDeviceConfig(c.call.settings, false, isReactNative());
16309
16324
  if (data.watch) {
16310
16325
  await call.setup();
16311
16326
  this.writeableStateStore.registerCall(call);