@stream-io/video-client 1.18.1 → 1.18.3

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,22 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.18.3](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.18.2...@stream-io/video-client-1.18.3) (2025-03-05)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * revert the release of cloned track on publisher dispose ([556fb61](https://github.com/GetStream/stream-video-js/commit/556fb610ae1c9a1965f38fc07e995683b5052544))
11
+
12
+ ## [1.18.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.18.1...@stream-io/video-client-1.18.2) (2025-03-04)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * do not accept again on reconnections ([#1705](https://github.com/GetStream/stream-video-js/issues/1705)) ([bedd2d8](https://github.com/GetStream/stream-video-js/commit/bedd2d8aafd7ff8260f63b500e25807518ccd365))
18
+ * do not stop original track in RN ([#1708](https://github.com/GetStream/stream-video-js/issues/1708)) ([ab0ada2](https://github.com/GetStream/stream-video-js/commit/ab0ada283c753d4cdfd59b6eaf75af26cf54fd7e))
19
+ * prevent extra unnecessary reconnect after offline to online ([#1706](https://github.com/GetStream/stream-video-js/issues/1706)) ([bc3920a](https://github.com/GetStream/stream-video-js/commit/bc3920a81f398fd9e166ee4517b32d58f50d56fe))
20
+
5
21
  ## [1.18.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.18.0...@stream-io/video-client-1.18.1) (2025-02-28)
6
22
 
7
23
 
@@ -5710,7 +5710,9 @@ class Publisher extends BasePeerConnection {
5710
5710
  else {
5711
5711
  const previousTrack = transceiver.sender.track;
5712
5712
  await transceiver.sender.replaceTrack(trackToPublish);
5713
- this.stopTrack(previousTrack);
5713
+ if (!isReactNative()) {
5714
+ this.stopTrack(previousTrack);
5715
+ }
5714
5716
  }
5715
5717
  }
5716
5718
  };
@@ -7463,7 +7465,7 @@ const aggregate = (stats) => {
7463
7465
  return report;
7464
7466
  };
7465
7467
 
7466
- const version = "1.18.1";
7468
+ const version = "1.18.3";
7467
7469
  const [major, minor, patch] = version.split('.');
7468
7470
  let sdkInfo = {
7469
7471
  type: SdkType.PLAIN_JAVASCRIPT,
@@ -10625,8 +10627,7 @@ class Call {
10625
10627
  }
10626
10628
  catch (error) {
10627
10629
  // prevent triggering reconnect flow if the state is OFFLINE
10628
- const avoidRestoreState = this.state.callingState === CallingState.OFFLINE &&
10629
- callingState === CallingState.RECONNECTING;
10630
+ const avoidRestoreState = this.state.callingState === CallingState.OFFLINE;
10630
10631
  if (!avoidRestoreState) {
10631
10632
  // restore the previous call state if the join-flow fails
10632
10633
  this.state.setCallingState(callingState);
@@ -10913,7 +10914,8 @@ class Call {
10913
10914
  if (data?.ring) {
10914
10915
  this.ringingSubject.next(true);
10915
10916
  }
10916
- if (this.ringing && !this.isCreatedByMe) {
10917
+ const isReconnecting = this.reconnectStrategy !== WebsocketReconnectStrategy.UNSPECIFIED;
10918
+ if (!isReconnecting && this.ringing && !this.isCreatedByMe) {
10917
10919
  // signals other users that I have accepted the incoming call.
10918
10920
  await this.accept();
10919
10921
  }
@@ -10994,6 +10996,12 @@ class Call {
10994
10996
  break; // do-while loop, reconnection worked, exit the loop
10995
10997
  }
10996
10998
  catch (error) {
10999
+ if (this.state.callingState === CallingState.OFFLINE) {
11000
+ this.logger('trace', `[Reconnect] Can't reconnect while offline, stopping reconnection attempts`);
11001
+ break;
11002
+ // we don't need to handle the error if the call is offline
11003
+ // network change event will trigger the reconnection
11004
+ }
10997
11005
  if (error instanceof ErrorFromResponse && error.unrecoverable) {
10998
11006
  this.logger('warn', `[Reconnect] Can't reconnect due to coordinator unrecoverable error`, error);
10999
11007
  this.state.setCallingState(CallingState.RECONNECTING_FAILED);
@@ -13093,7 +13101,7 @@ class StreamClient {
13093
13101
  this.getUserAgent = () => {
13094
13102
  if (!this.cachedUserAgent) {
13095
13103
  const { clientAppIdentifier = {} } = this.options;
13096
- const { sdkName = 'js', sdkVersion = "1.18.1", ...extras } = clientAppIdentifier;
13104
+ const { sdkName = 'js', sdkVersion = "1.18.3", ...extras } = clientAppIdentifier;
13097
13105
  this.cachedUserAgent = [
13098
13106
  `stream-video-${sdkName}-v${sdkVersion}`,
13099
13107
  ...Object.entries(extras).map(([key, value]) => `${key}=${value}`),