@stream-io/video-client 1.38.1 → 1.38.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 +6 -0
- package/dist/index.browser.es.js +4 -24
- package/dist/index.browser.es.js.map +1 -1
- package/dist/index.cjs.js +4 -24
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +4 -24
- package/dist/index.es.js.map +1 -1
- package/package.json +1 -1
- package/src/store/CallState.ts +2 -25
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.38.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.38.1...@stream-io/video-client-1.38.2) (2025-12-11)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- revert usage of useSyncExternalStore ([#2043](https://github.com/GetStream/stream-video-js/issues/2043)) ([849e896](https://github.com/GetStream/stream-video-js/commit/849e8964ac90d5785a6d608443f80156d1081744)), closes [#1953](https://github.com/GetStream/stream-video-js/issues/1953) [#2034](https://github.com/GetStream/stream-video-js/issues/2034) [#2006](https://github.com/GetStream/stream-video-js/issues/2006) [#2008](https://github.com/GetStream/stream-video-js/issues/2008)
|
|
10
|
+
|
|
5
11
|
## [1.38.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.38.0...@stream-io/video-client-1.38.1) (2025-12-08)
|
|
6
12
|
|
|
7
13
|
### Bug Fixes
|
package/dist/index.browser.es.js
CHANGED
|
@@ -4880,26 +4880,6 @@ const defaultEgress = {
|
|
|
4880
4880
|
hls: { playlist_url: '', status: '' },
|
|
4881
4881
|
rtmps: [],
|
|
4882
4882
|
};
|
|
4883
|
-
/**
|
|
4884
|
-
* Creates a stable participant filter function, ready to be used in combination
|
|
4885
|
-
* with the `useSyncExternalStore` hook.
|
|
4886
|
-
*
|
|
4887
|
-
* @param predicate the predicate to use.
|
|
4888
|
-
*/
|
|
4889
|
-
const createStableParticipantsFilter = (predicate) => {
|
|
4890
|
-
const empty = [];
|
|
4891
|
-
return (participants) => {
|
|
4892
|
-
// no need to filter if there are no participants
|
|
4893
|
-
if (!participants.length)
|
|
4894
|
-
return empty;
|
|
4895
|
-
// return a stable empty array if there are no remote participants
|
|
4896
|
-
// instead of creating an empty one
|
|
4897
|
-
const filteredParticipants = participants.filter(predicate);
|
|
4898
|
-
if (!filteredParticipants.length)
|
|
4899
|
-
return empty;
|
|
4900
|
-
return filteredParticipants;
|
|
4901
|
-
};
|
|
4902
|
-
};
|
|
4903
4883
|
/**
|
|
4904
4884
|
* Holds the state of the current call.
|
|
4905
4885
|
* @react You don't have to use this class directly, as we are exposing the state through Hooks.
|
|
@@ -5579,8 +5559,8 @@ class CallState {
|
|
|
5579
5559
|
// in the original subject
|
|
5580
5560
|
map((ps) => ps.sort(this.sortParticipantsBy)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
5581
5561
|
this.localParticipant$ = this.participants$.pipe(map((participants) => participants.find((p) => p.isLocalParticipant)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
5582
|
-
this.remoteParticipants$ = this.participants$.pipe(map(
|
|
5583
|
-
this.pinnedParticipants$ = this.participants$.pipe(map(
|
|
5562
|
+
this.remoteParticipants$ = this.participants$.pipe(map((participants) => participants.filter((p) => !p.isLocalParticipant)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
5563
|
+
this.pinnedParticipants$ = this.participants$.pipe(map((participants) => participants.filter((p) => !!p.pin)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
5584
5564
|
this.dominantSpeaker$ = this.participants$.pipe(map((participants) => participants.find((p) => p.isDominantSpeaker)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
5585
5565
|
this.hasOngoingScreenShare$ = this.participants$.pipe(map((participants) => participants.some((p) => hasScreenShare(p))), distinctUntilChanged(), shareReplay({ bufferSize: 1, refCount: true }));
|
|
5586
5566
|
// dates
|
|
@@ -6013,7 +5993,7 @@ const getSdkVersion = (sdk) => {
|
|
|
6013
5993
|
return sdk ? `${sdk.major}.${sdk.minor}.${sdk.patch}` : '0.0.0-development';
|
|
6014
5994
|
};
|
|
6015
5995
|
|
|
6016
|
-
const version = "1.38.
|
|
5996
|
+
const version = "1.38.2";
|
|
6017
5997
|
const [major, minor, patch] = version.split('.');
|
|
6018
5998
|
let sdkInfo = {
|
|
6019
5999
|
type: SdkType.PLAIN_JAVASCRIPT,
|
|
@@ -15012,7 +14992,7 @@ class StreamClient {
|
|
|
15012
14992
|
this.getUserAgent = () => {
|
|
15013
14993
|
if (!this.cachedUserAgent) {
|
|
15014
14994
|
const { clientAppIdentifier = {} } = this.options;
|
|
15015
|
-
const { sdkName = 'js', sdkVersion = "1.38.
|
|
14995
|
+
const { sdkName = 'js', sdkVersion = "1.38.2", ...extras } = clientAppIdentifier;
|
|
15016
14996
|
this.cachedUserAgent = [
|
|
15017
14997
|
`stream-video-${sdkName}-v${sdkVersion}`,
|
|
15018
14998
|
...Object.entries(extras).map(([key, value]) => `${key}=${value}`),
|