@stream-io/video-react-sdk 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,6 +2,24 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.19.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.19.1...@stream-io/video-react-sdk-1.19.2) (2025-08-01)
6
+
7
+ ### Bug Fixes
8
+
9
+ - prevent cross-origin bg filter images from tainting canvas ([#1875](https://github.com/GetStream/stream-video-js/issues/1875)) ([c09dcee](https://github.com/GetStream/stream-video-js/commit/c09dcee19ab29a71ae8e602ed7a24d0e3bc85236))
10
+
11
+ ## [1.19.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.19.0...@stream-io/video-react-sdk-1.19.1) (2025-07-25)
12
+
13
+ ### Dependency Updates
14
+
15
+ - `@stream-io/audio-filters-web` updated to version `0.4.3`
16
+ - `@stream-io/video-client` updated to version `1.27.1`
17
+ - `@stream-io/video-react-bindings` updated to version `1.7.10`
18
+
19
+ ### Bug Fixes
20
+
21
+ - improved audio and video filter tracing ([#1862](https://github.com/GetStream/stream-video-js/issues/1862)) ([701ea4b](https://github.com/GetStream/stream-video-js/commit/701ea4b3266f68072c1325b70221fdefd77137ec))
22
+
5
23
  ## [1.19.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.18.13...@stream-io/video-react-sdk-1.19.0) (2025-07-18)
6
24
 
7
25
  ### Dependency Updates
package/dist/index.cjs.js CHANGED
@@ -902,7 +902,7 @@ const BackgroundFiltersProvider = (props) => {
902
902
  };
903
903
  const BackgroundFilters = (props) => {
904
904
  const call = videoReactBindings.useCall();
905
- const { children, start } = useRenderer(props.tfLite);
905
+ const { children, start } = useRenderer(props.tfLite, call);
906
906
  const { backgroundFilter, onError } = useBackgroundFilters();
907
907
  const handleErrorRef = react.useRef(undefined);
908
908
  handleErrorRef.current = onError;
@@ -916,7 +916,7 @@ const BackgroundFilters = (props) => {
916
916
  }, [backgroundFilter, call, start]);
917
917
  return children;
918
918
  };
919
- const useRenderer = (tfLite) => {
919
+ const useRenderer = (tfLite, call) => {
920
920
  const { backgroundFilter, backgroundBlurLevel, backgroundImage } = useBackgroundFilters();
921
921
  const videoRef = react.useRef(null);
922
922
  const canvasRef = react.useRef(null);
@@ -953,6 +953,11 @@ const useRenderer = (tfLite) => {
953
953
  width: trackSettings.width ?? 0,
954
954
  height: trackSettings.height ?? 0,
955
955
  }));
956
+ call?.tracer.trace('backgroundFilters.enable', {
957
+ backgroundFilter,
958
+ backgroundBlurLevel,
959
+ backgroundImage,
960
+ });
956
961
  renderer = videoFiltersWeb.createRenderer(tfLite, videoEl, canvasEl, {
957
962
  backgroundFilter,
958
963
  backgroundBlurLevel,
@@ -967,6 +972,7 @@ const useRenderer = (tfLite) => {
967
972
  return {
968
973
  output,
969
974
  stop: () => {
975
+ call?.tracer.trace('backgroundFilters.disable', null);
970
976
  renderer?.dispose();
971
977
  if (videoRef.current)
972
978
  videoRef.current.srcObject = null;
@@ -974,9 +980,15 @@ const useRenderer = (tfLite) => {
974
980
  videoClient.disposeOfMediaStream(outputStream);
975
981
  },
976
982
  };
977
- }, [backgroundBlurLevel, backgroundFilter, backgroundImage, tfLite]);
983
+ }, [
984
+ backgroundBlurLevel,
985
+ backgroundFilter,
986
+ backgroundImage,
987
+ call?.tracer,
988
+ tfLite,
989
+ ]);
978
990
  const children = (jsxRuntime.jsxs("div", { className: "str-video__background-filters", children: [jsxRuntime.jsx("video", { className: clsx('str-video__background-filters__video', videoSize.height > videoSize.width &&
979
- 'str-video__background-filters__video--tall'), ref: videoRef, playsInline: true, muted: true, controls: false, ...videoSize }), backgroundImage && (jsxRuntime.jsx("img", { className: "str-video__background-filters__background-image", alt: "Background", ref: bgImageRef, src: backgroundImage, ...videoSize })), jsxRuntime.jsx("canvas", { className: "str-video__background-filters__target-canvas", ...videoSize, ref: canvasRef })] }));
991
+ 'str-video__background-filters__video--tall'), ref: videoRef, playsInline: true, muted: true, controls: false, ...videoSize }), backgroundImage && (jsxRuntime.jsx("img", { className: "str-video__background-filters__background-image", alt: "Background", ref: bgImageRef, src: backgroundImage, crossOrigin: "anonymous", ...videoSize })), jsxRuntime.jsx("canvas", { className: "str-video__background-filters__target-canvas", ...videoSize, ref: canvasRef })] }));
980
992
  return {
981
993
  start,
982
994
  children,
@@ -2944,7 +2956,7 @@ const checkCanJoinEarly = (startsAt, joinAheadTimeSeconds) => {
2944
2956
  return Date.now() >= +startsAt - (joinAheadTimeSeconds ?? 0) * 1000;
2945
2957
  };
2946
2958
 
2947
- const [major, minor, patch] = ("1.19.0").split('.');
2959
+ const [major, minor, patch] = ("1.19.2").split('.');
2948
2960
  videoClient.setSdkInfo({
2949
2961
  type: videoClient.SfuModels.SdkType.REACT,
2950
2962
  major,