@stream-io/video-react-sdk 1.18.1 → 1.18.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,6 +2,18 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.18.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.18.1...@stream-io/video-react-sdk-1.18.2) (2025-06-02)
6
+
7
+ ### Dependency Updates
8
+
9
+ - `@stream-io/audio-filters-web` updated to version `0.4.2`
10
+ - `@stream-io/video-client` updated to version `1.23.3`
11
+ - `@stream-io/video-react-bindings` updated to version `1.6.6`
12
+
13
+ ### Bug Fixes
14
+
15
+ - use AudioContext for Safari ([#1810](https://github.com/GetStream/stream-video-js/issues/1810)) ([63542f4](https://github.com/GetStream/stream-video-js/commit/63542f419efa475c7acf50f053621ace74a1eff4))
16
+
5
17
  ## [1.18.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.18.0...@stream-io/video-react-sdk-1.18.1) (2025-05-26)
6
18
 
7
19
  ### Dependency Updates
package/dist/index.cjs.js CHANGED
@@ -2539,6 +2539,11 @@ const useSpeakerLayoutSortPreset = (call, isOneOnOneCall) => {
2539
2539
  };
2540
2540
  }, [call, isOneOnOneCall]);
2541
2541
  };
2542
+ const useRawRemoteParticipants = () => {
2543
+ const { useRawParticipants } = videoReactBindings.useCallStateHooks();
2544
+ const rawParicipants = useRawParticipants();
2545
+ return react.useMemo(() => rawParicipants.filter((p) => !p.isLocalParticipant), [rawParicipants]);
2546
+ };
2542
2547
  const resetSortPreset = (call) => {
2543
2548
  // reset the sorting to the default for the call type
2544
2549
  const callConfig = videoClient.CallTypes.get(call.type);
@@ -2553,11 +2558,11 @@ const loggedIn = (a, b) => {
2553
2558
  };
2554
2559
 
2555
2560
  const LivestreamLayout = (props) => {
2556
- const { useParticipants, useRemoteParticipants, useHasOngoingScreenShare } = videoReactBindings.useCallStateHooks();
2561
+ const { useParticipants, useHasOngoingScreenShare } = videoReactBindings.useCallStateHooks();
2557
2562
  const call = videoReactBindings.useCall();
2558
2563
  const participants = useParticipants();
2559
2564
  const [currentSpeaker] = participants;
2560
- const remoteParticipants = useRemoteParticipants();
2565
+ const remoteParticipants = useRawRemoteParticipants();
2561
2566
  const hasOngoingScreenShare = useHasOngoingScreenShare();
2562
2567
  const presenter = hasOngoingScreenShare
2563
2568
  ? participants.find(videoClient.hasScreenShare)
@@ -2661,8 +2666,7 @@ const PaginatedGridLayout = (props) => {
2661
2666
  const [page, setPage] = react.useState(0);
2662
2667
  const [paginatedGridLayoutWrapperElement, setPaginatedGridLayoutWrapperElement,] = react.useState(null);
2663
2668
  const call = videoReactBindings.useCall();
2664
- const { useRemoteParticipants } = videoReactBindings.useCallStateHooks();
2665
- const remoteParticipants = useRemoteParticipants();
2669
+ const remoteParticipants = useRawRemoteParticipants();
2666
2670
  const participants = useFilteredParticipants({
2667
2671
  excludeLocalParticipant,
2668
2672
  filterParticipants,
@@ -2749,9 +2753,9 @@ hostElement, limit) => {
2749
2753
  const DefaultParticipantViewUIBar = () => (jsxRuntime.jsx(DefaultParticipantViewUI, { menuPlacement: "top-end" }));
2750
2754
  const SpeakerLayout = ({ ParticipantViewUIBar = DefaultParticipantViewUIBar, ParticipantViewUISpotlight = DefaultParticipantViewUI, VideoPlaceholder, PictureInPicturePlaceholder, participantsBarPosition = 'bottom', participantsBarLimit, mirrorLocalParticipantVideo = true, excludeLocalParticipant = false, filterParticipants, pageArrowsVisible = true, muted, }) => {
2751
2755
  const call = videoReactBindings.useCall();
2752
- const { useParticipants, useRemoteParticipants } = videoReactBindings.useCallStateHooks();
2756
+ const { useParticipants } = videoReactBindings.useCallStateHooks();
2753
2757
  const allParticipants = useParticipants();
2754
- const remoteParticipants = useRemoteParticipants();
2758
+ const remoteParticipants = useRawRemoteParticipants();
2755
2759
  const [participantInSpotlight, ...otherParticipants] = useFilteredParticipants({ excludeLocalParticipant, filterParticipants });
2756
2760
  const [participantsBarWrapperElement, setParticipantsBarWrapperElement] = react.useState(null);
2757
2761
  const [participantsBarElement, setParticipantsBarElement] = react.useState(null);
@@ -2833,8 +2837,7 @@ const Pip = (props) => {
2833
2837
  };
2834
2838
  Pip.displayName = 'PipLayout.Pip';
2835
2839
  const Host = () => {
2836
- const { useRemoteParticipants } = videoReactBindings.useCallStateHooks();
2837
- const remoteParticipants = useRemoteParticipants();
2840
+ const remoteParticipants = useRawRemoteParticipants();
2838
2841
  return jsxRuntime.jsx(ParticipantsAudio, { participants: remoteParticipants });
2839
2842
  };
2840
2843
  Host.displayName = 'PipLayout.Host';
@@ -2931,7 +2934,7 @@ const checkCanJoinEarly = (startsAt, joinAheadTimeSeconds) => {
2931
2934
  return Date.now() >= +startsAt - (joinAheadTimeSeconds ?? 0) * 1000;
2932
2935
  };
2933
2936
 
2934
- const [major, minor, patch] = ("1.18.1").split('.');
2937
+ const [major, minor, patch] = ("1.18.2").split('.');
2935
2938
  videoClient.setSdkInfo({
2936
2939
  type: videoClient.SfuModels.SdkType.REACT,
2937
2940
  major,