@stream-io/video-client 1.44.2 → 1.44.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 +6 -0
- package/dist/index.browser.es.js +9 -4
- package/dist/index.browser.es.js.map +1 -1
- package/dist/index.cjs.js +9 -4
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +9 -4
- package/dist/index.es.js.map +1 -1
- package/dist/src/StreamSfuClient.d.ts +1 -0
- package/package.json +1 -1
- package/src/StreamSfuClient.ts +15 -9
- package/src/rpc/retryable.ts +2 -0
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.3](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.44.2...@stream-io/video-client-1.44.3) (2026-03-06)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **client:** prevent concurrent SFU updateSubscriptions during reconnects ([#2155](https://github.com/GetStream/stream-video-js/issues/2155)) ([1ac32d2](https://github.com/GetStream/stream-video-js/commit/1ac32d261c9a54aa8e3636a60e3c8f3e1407ae16))
|
|
10
|
+
|
|
5
11
|
## [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
12
|
|
|
7
13
|
### Bug Fixes
|
package/dist/index.browser.es.js
CHANGED
|
@@ -4005,6 +4005,8 @@ const retryable = async (rpc, signal, maxRetries = Number.POSITIVE_INFINITY) =>
|
|
|
4005
4005
|
do {
|
|
4006
4006
|
if (attempt > 0)
|
|
4007
4007
|
await sleep(retryInterval(attempt));
|
|
4008
|
+
if (signal?.aborted)
|
|
4009
|
+
throw new Error(signal.reason);
|
|
4008
4010
|
try {
|
|
4009
4011
|
result = await rpc({ attempt });
|
|
4010
4012
|
}
|
|
@@ -6281,7 +6283,7 @@ const getSdkVersion = (sdk) => {
|
|
|
6281
6283
|
return sdk ? `${sdk.major}.${sdk.minor}.${sdk.patch}` : '0.0.0-development';
|
|
6282
6284
|
};
|
|
6283
6285
|
|
|
6284
|
-
const version = "1.44.
|
|
6286
|
+
const version = "1.44.3";
|
|
6285
6287
|
const [major, minor, patch] = version.split('.');
|
|
6286
6288
|
let sdkInfo = {
|
|
6287
6289
|
type: SdkType.PLAIN_JAVASCRIPT,
|
|
@@ -8582,6 +8584,7 @@ class StreamSfuClient {
|
|
|
8582
8584
|
this.isClosingClean = false;
|
|
8583
8585
|
this.pingIntervalInMs = 5 * 1000;
|
|
8584
8586
|
this.unhealthyTimeoutInMs = 15 * 1000;
|
|
8587
|
+
this.subscriptionsConcurrencyTag = Symbol('subscriptionsConcurrencyTag');
|
|
8585
8588
|
/**
|
|
8586
8589
|
* Promise that resolves when the JoinResponse is received.
|
|
8587
8590
|
* Rejects after a certain threshold if the response is not received.
|
|
@@ -8689,8 +8692,10 @@ class StreamSfuClient {
|
|
|
8689
8692
|
this.close(StreamSfuClient.NORMAL_CLOSURE, reason.substring(0, 115));
|
|
8690
8693
|
};
|
|
8691
8694
|
this.updateSubscriptions = async (tracks) => {
|
|
8692
|
-
|
|
8693
|
-
|
|
8695
|
+
return withoutConcurrency(this.subscriptionsConcurrencyTag, async () => {
|
|
8696
|
+
await this.joinTask;
|
|
8697
|
+
return retryable((invocationMeta) => this.rpc.updateSubscriptions({ sessionId: this.sessionId, tracks }, { invocationMeta }), this.abortController.signal);
|
|
8698
|
+
});
|
|
8694
8699
|
};
|
|
8695
8700
|
this.setPublisher = async (data) => {
|
|
8696
8701
|
await this.joinTask;
|
|
@@ -15885,7 +15890,7 @@ class StreamClient {
|
|
|
15885
15890
|
this.getUserAgent = () => {
|
|
15886
15891
|
if (!this.cachedUserAgent) {
|
|
15887
15892
|
const { clientAppIdentifier = {} } = this.options;
|
|
15888
|
-
const { sdkName = 'js', sdkVersion = "1.44.
|
|
15893
|
+
const { sdkName = 'js', sdkVersion = "1.44.3", ...extras } = clientAppIdentifier;
|
|
15889
15894
|
this.cachedUserAgent = [
|
|
15890
15895
|
`stream-video-${sdkName}-v${sdkVersion}`,
|
|
15891
15896
|
...Object.entries(extras).map(([key, value]) => `${key}=${value}`),
|