@stream-io/video-client 1.19.0 → 1.19.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,30 +2,38 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
- ## [1.19.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.18.9...@stream-io/video-client-1.19.0) (2025-04-04)
5
+ ## [1.19.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.19.1...@stream-io/video-client-1.19.2) (2025-04-11)
6
+
7
+ ### Bug Fixes
8
+
9
+ - enhance tracing data ([#1758](https://github.com/GetStream/stream-video-js/issues/1758)) ([a6f2e3a](https://github.com/GetStream/stream-video-js/commit/a6f2e3a5256519e4884ec07e2dd2d4417f2482fe))
10
+
11
+ ## [1.19.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.19.0...@stream-io/video-client-1.19.1) (2025-04-09)
12
+
13
+ ### Bug Fixes
14
+
15
+ - add an opt-out for persisted device preferences ([#1753](https://github.com/GetStream/stream-video-js/issues/1753)) ([4d55c3e](https://github.com/GetStream/stream-video-js/commit/4d55c3ee982bcb72beec347489e7c945bb2c63e3))
6
16
 
17
+ ## [1.19.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.18.9...@stream-io/video-client-1.19.0) (2025-04-04)
7
18
 
8
19
  ### Features
9
20
 
10
- * collect more granular RTC stats and RPC tracing ([#1735](https://github.com/GetStream/stream-video-js/issues/1735)) ([e356d6b](https://github.com/GetStream/stream-video-js/commit/e356d6b9fe361c186a5b92de55fabf0598ea4885))
21
+ - collect more granular RTC stats and RPC tracing ([#1735](https://github.com/GetStream/stream-video-js/issues/1735)) ([e356d6b](https://github.com/GetStream/stream-video-js/commit/e356d6b9fe361c186a5b92de55fabf0598ea4885))
11
22
 
12
23
  ## [1.18.9](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.18.8...@stream-io/video-client-1.18.9) (2025-04-02)
13
24
 
14
-
15
25
  ### Bug Fixes
16
26
 
17
- * pick correct device for speaking while muted detection ([#1744](https://github.com/GetStream/stream-video-js/issues/1744)) ([33044f5](https://github.com/GetStream/stream-video-js/commit/33044f56ec7debba2e14d5a87dde9eaa87a02089)), closes [#1538](https://github.com/GetStream/stream-video-js/issues/1538)
18
- * reset the call state value when "live" ends ([#1740](https://github.com/GetStream/stream-video-js/issues/1740)) ([2123a10](https://github.com/GetStream/stream-video-js/commit/2123a104bb790a7384506fd475b779c02b116edd))
27
+ - pick correct device for speaking while muted detection ([#1744](https://github.com/GetStream/stream-video-js/issues/1744)) ([33044f5](https://github.com/GetStream/stream-video-js/commit/33044f56ec7debba2e14d5a87dde9eaa87a02089)), closes [#1538](https://github.com/GetStream/stream-video-js/issues/1538)
28
+ - reset the call state value when "live" ends ([#1740](https://github.com/GetStream/stream-video-js/issues/1740)) ([2123a10](https://github.com/GetStream/stream-video-js/commit/2123a104bb790a7384506fd475b779c02b116edd))
19
29
 
20
30
  ## [1.18.8](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.18.7...@stream-io/video-client-1.18.8) (2025-04-01)
21
31
 
22
-
23
- * dependency upgrades and cleanup ([#1727](https://github.com/GetStream/stream-video-js/issues/1727)) ([c3b0ede](https://github.com/GetStream/stream-video-js/commit/c3b0ede3ce444c28c51457155e8ccff584c2c1e5))
24
-
32
+ - dependency upgrades and cleanup ([#1727](https://github.com/GetStream/stream-video-js/issues/1727)) ([c3b0ede](https://github.com/GetStream/stream-video-js/commit/c3b0ede3ce444c28c51457155e8ccff584c2c1e5))
25
33
 
26
34
  ### Bug Fixes
27
35
 
28
- * implement retry logic for call joining process ([#1738](https://github.com/GetStream/stream-video-js/issues/1738)) ([71599c3](https://github.com/GetStream/stream-video-js/commit/71599c3ddda51a247d7933cd6b12ca8fd03d7033))
36
+ - implement retry logic for call joining process ([#1738](https://github.com/GetStream/stream-video-js/issues/1738)) ([71599c3](https://github.com/GetStream/stream-video-js/commit/71599c3ddda51a247d7933cd6b12ca8fd03d7033))
29
37
 
30
38
  ## [1.18.7](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.18.6...@stream-io/video-client-1.18.7) (2025-03-20)
31
39
 
@@ -5643,7 +5643,7 @@ const aggregate = (stats) => {
5643
5643
  return report;
5644
5644
  };
5645
5645
 
5646
- const version = "1.19.0";
5646
+ const version = "1.19.2";
5647
5647
  const [major, minor, patch] = version.split('.');
5648
5648
  let sdkInfo = {
5649
5649
  type: SdkType.PLAIN_JAVASCRIPT,
@@ -6041,7 +6041,7 @@ class BasePeerConnection {
6041
6041
  /**
6042
6042
  * Constructs a new `BasePeerConnection` instance.
6043
6043
  */
6044
- constructor(peerType, { sfuClient, connectionConfig, state, dispatcher, onUnrecoverableError, logTag, enableTracing, }) {
6044
+ constructor(peerType, { sfuClient, connectionConfig, state, dispatcher, onUnrecoverableError, logTag, clientDetails, enableTracing, }) {
6045
6045
  this.isIceRestarting = false;
6046
6046
  this.isDisposed = false;
6047
6047
  this.subscriptions = [];
@@ -6185,7 +6185,9 @@ class BasePeerConnection {
6185
6185
  ]);
6186
6186
  this.pc = new RTCPeerConnection(connectionConfig);
6187
6187
  if (enableTracing) {
6188
- this.tracer = new Tracer(logTag);
6188
+ const tag = `${logTag}-${peerType === PeerType.SUBSCRIBER ? 'sub' : 'pub'}`;
6189
+ this.tracer = new Tracer(tag);
6190
+ this.tracer.trace('clientDetails', clientDetails);
6189
6191
  this.tracer.trace('create', connectionConfig);
6190
6192
  traceRTCPeerConnection(this.pc, this.tracer.trace);
6191
6193
  }
@@ -8391,6 +8393,7 @@ class DynascaleManager {
8391
8393
  const { selectedDevice } = this.speaker.state;
8392
8394
  if (selectedDevice && 'setSinkId' in audioElement) {
8393
8395
  audioElement.setSinkId(selectedDevice);
8396
+ tracer.trace('navigator.mediaDevices.setSinkId', selectedDevice);
8394
8397
  }
8395
8398
  }
8396
8399
  });
@@ -8400,6 +8403,7 @@ class DynascaleManager {
8400
8403
  : this.speaker.state.selectedDevice$.subscribe((deviceId) => {
8401
8404
  if (deviceId) {
8402
8405
  audioElement.setSinkId(deviceId);
8406
+ tracer.trace('navigator.mediaDevices.setSinkId', deviceId);
8403
8407
  }
8404
8408
  });
8405
8409
  const volumeSubscription = combineLatest([
@@ -9978,7 +9982,7 @@ class MicrophoneManager extends InputMediaDeviceManager {
9978
9982
  super(call, new MicrophoneManagerState(disableMode), TrackType.AUDIO);
9979
9983
  this.speakingWhileMutedNotificationEnabled = true;
9980
9984
  this.soundDetectorConcurrencyTag = Symbol('soundDetectorConcurrencyTag');
9981
- this.subscriptions.push(createSubscription(combineLatest([
9985
+ this.subscriptions.push(createSafeAsyncSubscription(combineLatest([
9982
9986
  this.call.state.callingState$,
9983
9987
  this.call.state.ownCapabilities$,
9984
9988
  this.state.selectedDevice$,
@@ -11169,6 +11173,7 @@ class Call {
11169
11173
  state: this.state,
11170
11174
  connectionConfig,
11171
11175
  logTag: String(this.sfuClientTag),
11176
+ clientDetails,
11172
11177
  enableTracing,
11173
11178
  onUnrecoverableError: (reason) => {
11174
11179
  this.reconnect(WebsocketReconnectStrategy.REJOIN, reason).catch((err) => {
@@ -11190,6 +11195,7 @@ class Call {
11190
11195
  connectionConfig,
11191
11196
  publishOptions,
11192
11197
  logTag: String(this.sfuClientTag),
11198
+ clientDetails,
11193
11199
  enableTracing,
11194
11200
  onUnrecoverableError: (reason) => {
11195
11201
  this.reconnect(WebsocketReconnectStrategy.REJOIN, reason).catch((err) => {
@@ -13426,7 +13432,7 @@ class StreamClient {
13426
13432
  this.getUserAgent = () => {
13427
13433
  if (!this.cachedUserAgent) {
13428
13434
  const { clientAppIdentifier = {} } = this.options;
13429
- const { sdkName = 'js', sdkVersion = "1.19.0", ...extras } = clientAppIdentifier;
13435
+ const { sdkName = 'js', sdkVersion = "1.19.2", ...extras } = clientAppIdentifier;
13430
13436
  this.cachedUserAgent = [
13431
13437
  `stream-video-${sdkName}-v${sdkVersion}`,
13432
13438
  ...Object.entries(extras).map(([key, value]) => `${key}=${value}`),