@stream-io/video-client 1.34.0 → 1.35.0

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,18 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.35.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.34.1...@stream-io/video-client-1.35.0) (2025-10-24)
6
+
7
+ ### Features
8
+
9
+ - Participant Stats ([#1922](https://github.com/GetStream/stream-video-js/issues/1922)) ([b96de03](https://github.com/GetStream/stream-video-js/commit/b96de03a2b96db2288a6d2d52a25d3deea9148d8))
10
+
11
+ ## [1.34.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.34.0...@stream-io/video-client-1.34.1) (2025-10-17)
12
+
13
+ ### Bug Fixes
14
+
15
+ - camera toggle along with flip ([#1961](https://github.com/GetStream/stream-video-js/issues/1961)) ([2703121](https://github.com/GetStream/stream-video-js/commit/2703121d27aee7a54bdc07b99a30feea9a4e4512))
16
+
5
17
  ## [1.34.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.33.1...@stream-io/video-client-1.34.0) (2025-10-14)
6
18
 
7
19
  - use fromPartial instead of suppressing ts-errors ([#1949](https://github.com/GetStream/stream-video-js/issues/1949)) ([95e5654](https://github.com/GetStream/stream-video-js/commit/95e5654e2bac5dc7c5126079795fca9951652290))
@@ -67,6 +67,13 @@ const IngressAudioEncodingOptionsRequestChannelsEnum = {
67
67
  NUMBER_1: 1,
68
68
  NUMBER_2: 2,
69
69
  };
70
+ /**
71
+ * @export
72
+ */
73
+ const IngressSourceRequestFpsEnum = {
74
+ NUMBER_30: 30,
75
+ NUMBER_60: 60,
76
+ };
70
77
  /**
71
78
  * @export
72
79
  */
@@ -5853,7 +5860,7 @@ const getSdkVersion = (sdk) => {
5853
5860
  return sdk ? `${sdk.major}.${sdk.minor}.${sdk.patch}` : '0.0.0-development';
5854
5861
  };
5855
5862
 
5856
- const version = "1.34.0";
5863
+ const version = "1.35.0";
5857
5864
  const [major, minor, patch] = version.split('.');
5858
5865
  let sdkInfo = {
5859
5866
  type: SdkType.PLAIN_JAVASCRIPT,
@@ -10680,12 +10687,13 @@ class CameraManager extends DeviceManager {
10680
10687
  await videoTrack?.applyConstraints({
10681
10688
  facingMode: direction === 'front' ? 'user' : 'environment',
10682
10689
  });
10683
- this.state.setDirection(direction);
10684
- return;
10685
10690
  }
10686
10691
  // providing both device id and direction doesn't work, so we deselect the device
10687
10692
  this.state.setDirection(direction);
10688
10693
  this.state.setDevice(undefined);
10694
+ if (isReactNative()) {
10695
+ return;
10696
+ }
10689
10697
  this.getTracks().forEach((track) => track.stop());
10690
10698
  try {
10691
10699
  await this.unmuteStream();
@@ -13217,13 +13225,10 @@ class Call {
13217
13225
  };
13218
13226
  /**
13219
13227
  * Allows you to grant or revoke a specific permission to a user in a call. The permissions are specific to the call experience and do not survive the call itself.
13220
- *
13221
13228
  * When revoking a permission, this endpoint will also mute the relevant track from the user. This is similar to muting a user with the difference that the user will not be able to unmute afterwards.
13222
- *
13223
13229
  * Supported permissions that can be granted or revoked: `send-audio`, `send-video` and `screenshare`.
13224
13230
  *
13225
13231
  * `call.permissions_updated` event is sent to all members of the call.
13226
- *
13227
13232
  */
13228
13233
  this.updateUserPermissions = async (data) => {
13229
13234
  return this.streamClient.post(`${this.streamClientBasePath}/user_permissions`, data);
@@ -13456,6 +13461,22 @@ class Call {
13456
13461
  const params = callSessionID !== '' ? { session_id: callSessionID } : {};
13457
13462
  return this.streamClient.get(endpoint, params);
13458
13463
  };
13464
+ /**
13465
+ * Loads the call participant stats for the given parameters.
13466
+ */
13467
+ this.getCallParticipantsStats = async (opts) => {
13468
+ const { sessionId = this.state.session?.id, userId = this.currentUserId, userSessionId = this.unifiedSessionId, kind = 'details', } = opts;
13469
+ if (!sessionId)
13470
+ return;
13471
+ const base = `${this.streamClient.baseURL}/call_stats/${this.type}/${this.id}/${sessionId}`;
13472
+ if (!userId || !userSessionId) {
13473
+ return this.streamClient.get(`${base}/participants`);
13474
+ }
13475
+ if (kind === 'details') {
13476
+ return this.streamClient.get(`${base}/participant/${userId}/${userSessionId}/details`);
13477
+ }
13478
+ return this.streamClient.get(`${base}/participants/${userId}/${userSessionId}/timeline`);
13479
+ };
13459
13480
  /**
13460
13481
  * Submit user feedback for the call
13461
13482
  *
@@ -14804,7 +14825,7 @@ class StreamClient {
14804
14825
  this.getUserAgent = () => {
14805
14826
  if (!this.cachedUserAgent) {
14806
14827
  const { clientAppIdentifier = {} } = this.options;
14807
- const { sdkName = 'js', sdkVersion = "1.34.0", ...extras } = clientAppIdentifier;
14828
+ const { sdkName = 'js', sdkVersion = "1.35.0", ...extras } = clientAppIdentifier;
14808
14829
  this.cachedUserAgent = [
14809
14830
  `stream-video-${sdkName}-v${sdkVersion}`,
14810
14831
  ...Object.entries(extras).map(([key, value]) => `${key}=${value}`),
@@ -15401,5 +15422,5 @@ class StreamVideoClient {
15401
15422
  }
15402
15423
  StreamVideoClient._instances = new Map();
15403
15424
 
15404
- export { AudioSettingsRequestDefaultDeviceEnum, AudioSettingsResponseDefaultDeviceEnum, browsers as Browsers, Call, CallState, CallType, CallTypes, CallingState, CameraManager, CameraManagerState, CreateDeviceRequestPushProviderEnum, DebounceType, DeviceManager, DeviceManagerState, DynascaleManager, ErrorFromResponse, FrameRecordingSettingsRequestModeEnum, FrameRecordingSettingsRequestQualityEnum, FrameRecordingSettingsResponseModeEnum, IngressAudioEncodingOptionsRequestChannelsEnum, IngressVideoLayerRequestCodecEnum, LayoutSettingsRequestNameEnum, MicrophoneManager, MicrophoneManagerState, NoiseCancellationSettingsModeEnum, OwnCapability, RNSpeechDetector, RTMPBroadcastRequestQualityEnum, RTMPSettingsRequestQualityEnum, RecordSettingsRequestModeEnum, RecordSettingsRequestQualityEnum, rxUtils as RxUtils, ScreenShareManager, ScreenShareState, events as SfuEvents, models as SfuModels, SpeakerManager, SpeakerState, StartClosedCaptionsRequestLanguageEnum, StartTranscriptionRequestLanguageEnum, StreamSfuClient, StreamVideoClient, StreamVideoReadOnlyStateStore, StreamVideoWriteableStateStore, TranscriptionSettingsRequestClosedCaptionModeEnum, TranscriptionSettingsRequestLanguageEnum, TranscriptionSettingsRequestModeEnum, TranscriptionSettingsResponseClosedCaptionModeEnum, TranscriptionSettingsResponseLanguageEnum, TranscriptionSettingsResponseModeEnum, VideoSettingsRequestCameraFacingEnum, VideoSettingsResponseCameraFacingEnum, ViewportTracker, VisibilityState, checkIfAudioOutputChangeSupported, combineComparators, conditional, createSoundDetector, defaultSortPreset, descending, deviceIds$, disposeOfMediaStream, dominantSpeaker, getAudioBrowserPermission, getAudioDevices, getAudioOutputDevices, getAudioStream, getClientDetails, getDeviceState, getLogLevel, getLogger, getScreenShareStream, getSdkInfo, getVideoBrowserPermission, getVideoDevices, getVideoStream, getWebRTCInfo, hasAudio, hasPausedTrack, hasScreenShare, hasScreenShareAudio, hasVideo, isPinned, livestreamOrAudioRoomSortPreset, logLevels, logToConsole, name, noopComparator, paginatedLayoutSortPreset, pinned, publishingAudio, publishingVideo, reactionType, resolveDeviceId, role, screenSharing, setDeviceInfo, setLogLevel, setLogger, setOSInfo, setPowerState, setSdkInfo, setThermalState, setWebRTCInfo, speakerLayoutSortPreset, speaking, withParticipantSource };
15425
+ export { AudioSettingsRequestDefaultDeviceEnum, AudioSettingsResponseDefaultDeviceEnum, browsers as Browsers, Call, CallState, CallType, CallTypes, CallingState, CameraManager, CameraManagerState, CreateDeviceRequestPushProviderEnum, DebounceType, DeviceManager, DeviceManagerState, DynascaleManager, ErrorFromResponse, FrameRecordingSettingsRequestModeEnum, FrameRecordingSettingsRequestQualityEnum, FrameRecordingSettingsResponseModeEnum, IngressAudioEncodingOptionsRequestChannelsEnum, IngressSourceRequestFpsEnum, IngressVideoLayerRequestCodecEnum, LayoutSettingsRequestNameEnum, MicrophoneManager, MicrophoneManagerState, NoiseCancellationSettingsModeEnum, OwnCapability, RNSpeechDetector, RTMPBroadcastRequestQualityEnum, RTMPSettingsRequestQualityEnum, RecordSettingsRequestModeEnum, RecordSettingsRequestQualityEnum, rxUtils as RxUtils, ScreenShareManager, ScreenShareState, events as SfuEvents, models as SfuModels, SpeakerManager, SpeakerState, StartClosedCaptionsRequestLanguageEnum, StartTranscriptionRequestLanguageEnum, StreamSfuClient, StreamVideoClient, StreamVideoReadOnlyStateStore, StreamVideoWriteableStateStore, TranscriptionSettingsRequestClosedCaptionModeEnum, TranscriptionSettingsRequestLanguageEnum, TranscriptionSettingsRequestModeEnum, TranscriptionSettingsResponseClosedCaptionModeEnum, TranscriptionSettingsResponseLanguageEnum, TranscriptionSettingsResponseModeEnum, VideoSettingsRequestCameraFacingEnum, VideoSettingsResponseCameraFacingEnum, ViewportTracker, VisibilityState, checkIfAudioOutputChangeSupported, combineComparators, conditional, createSoundDetector, defaultSortPreset, descending, deviceIds$, disposeOfMediaStream, dominantSpeaker, getAudioBrowserPermission, getAudioDevices, getAudioOutputDevices, getAudioStream, getClientDetails, getDeviceState, getLogLevel, getLogger, getScreenShareStream, getSdkInfo, getVideoBrowserPermission, getVideoDevices, getVideoStream, getWebRTCInfo, hasAudio, hasPausedTrack, hasScreenShare, hasScreenShareAudio, hasVideo, isPinned, livestreamOrAudioRoomSortPreset, logLevels, logToConsole, name, noopComparator, paginatedLayoutSortPreset, pinned, publishingAudio, publishingVideo, reactionType, resolveDeviceId, role, screenSharing, setDeviceInfo, setLogLevel, setLogger, setOSInfo, setPowerState, setSdkInfo, setThermalState, setWebRTCInfo, speakerLayoutSortPreset, speaking, withParticipantSource };
15405
15426
  //# sourceMappingURL=index.browser.es.js.map