@stream-io/video-react-bindings 0.0.11 → 0.0.12

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,16 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ### [0.0.12](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-bindings-0.0.11...@stream-io/video-react-bindings-0.0.12) (2023-06-13)
6
+
7
+ ### Dependency Updates
8
+
9
+ * `@stream-io/video-client` updated to version `0.0.1`
10
+
11
+ ### Features
12
+
13
+ * Make it possible to provide user and token in StreamVideoClient… ([#631](https://github.com/GetStream/stream-video-js/issues/631)) ([93f9b03](https://github.com/GetStream/stream-video-js/commit/93f9b03313ac74179f1d93b513ea4de306312291))
14
+
5
15
  ### [0.0.11](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-bindings-0.0.10...@stream-io/video-react-bindings-0.0.11) (2023-06-13)
6
16
 
7
17
  ### Dependency Updates
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useContext } from 'react';
2
+ import { createContext, useContext, useEffect, useRef, } from 'react';
3
3
  import { StreamI18nProvider, } from './StreamI18nContext';
4
4
  const StreamVideoContext = createContext(undefined);
5
5
  /**
@@ -9,6 +9,25 @@ const StreamVideoContext = createContext(undefined);
9
9
  * @category Client State
10
10
  */
11
11
  export const StreamVideo = ({ children, client, i18nInstance, language, translationsOverrides, }) => {
12
+ const prevClient = useRef(undefined);
13
+ useEffect(() => {
14
+ if (prevClient.current) {
15
+ prevClient.current
16
+ .disconnectUser()
17
+ .catch((error) => console.error(`Failed to disconnect`, error));
18
+ }
19
+ if (client.user) {
20
+ client
21
+ .connectUser()
22
+ .catch((error) => console.error('Failed to establish connection', error));
23
+ }
24
+ prevClient.current = client;
25
+ return () => {
26
+ client
27
+ .disconnectUser()
28
+ .catch((error) => console.error(`Failed to disconnect`, error));
29
+ };
30
+ }, [client]);
12
31
  return (_jsx(StreamVideoContext.Provider, Object.assign({ value: client }, { children: _jsx(StreamI18nProvider, Object.assign({ i18nInstance: i18nInstance, language: language, translationsOverrides: translationsOverrides }, { children: children })) })));
13
32
  };
14
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"StreamVideoContext.js","sourceRoot":"","sources":["../../../src/contexts/StreamVideoContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAqB,UAAU,EAAE,MAAM,OAAO,CAAC;AAErE,OAAO,EACL,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,kBAAkB,GAAG,aAAa,CACtC,SAAS,CACV,CAAC;AAUF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,qBAAqB,GACe,EAAE,EAAE;IACxC,OAAO,CACL,KAAC,kBAAkB,CAAC,QAAQ,kBAAC,KAAK,EAAE,MAAM,gBACxC,KAAC,kBAAkB,kBACjB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,qBAAqB,gBAE3C,QAAQ,IACU,IACO,CAC/B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACxC,CAAC,CAAC"}
1
+ {"version":3,"file":"StreamVideoContext.js","sourceRoot":"","sources":["../../../src/contexts/StreamVideoContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EAEb,UAAU,EACV,SAAS,EACT,MAAM,GACP,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,kBAAkB,GAAG,aAAa,CACtC,SAAS,CACV,CAAC;AAUF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,qBAAqB,GACe,EAAE,EAAE;IACxC,MAAM,UAAU,GAAG,MAAM,CAAgC,SAAS,CAAC,CAAC;IAEpE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,OAAO,EAAE;YACtB,UAAU,CAAC,OAAO;iBACf,cAAc,EAAE;iBAChB,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,CAAC;SACnE;QAED,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,MAAM;iBACH,WAAW,EAAE;iBACb,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CACvD,CAAC;SACL;QAED,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC;QAE5B,OAAO,GAAG,EAAE;YACV,MAAM;iBACH,cAAc,EAAE;iBAChB,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,CACL,KAAC,kBAAkB,CAAC,QAAQ,kBAAC,KAAK,EAAE,MAAM,gBACxC,KAAC,kBAAkB,kBACjB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,qBAAqB,gBAE3C,QAAQ,IACU,IACO,CAC/B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACxC,CAAC,CAAC"}
@@ -50,22 +50,6 @@ export declare const useDominantSpeaker: () => import("@stream-io/video-client")
50
50
  * @category Client State
51
51
  */
52
52
  export declare const useCalls: () => import("@stream-io/video-client").Call[];
53
- /**
54
- * Utility hook which provides a list of all incoming ring calls (somebody calls me).
55
- *
56
- * @deprecated derive from useCalls()/useCall() instead.
57
- * @internal
58
- * @category Client State
59
- */
60
- export declare const useIncomingCalls: () => import("@stream-io/video-client").Call[];
61
- /**
62
- * Utility hook which provides a list of all outgoing ring calls (I call somebody).
63
- *
64
- * @deprecated derive from useCalls()/useCall() instead.
65
- * @internal
66
- * @category Client State
67
- */
68
- export declare const useOutgoingCalls: () => import("@stream-io/video-client").Call[];
69
53
  /**
70
54
  * Utility hook which provides call metadata (such as blocked users and own capabilities).
71
55
  *
@@ -73,28 +73,6 @@ export const useCalls = () => {
73
73
  const { calls$ } = useStore();
74
74
  return useObservableValue(calls$);
75
75
  };
76
- /**
77
- * Utility hook which provides a list of all incoming ring calls (somebody calls me).
78
- *
79
- * @deprecated derive from useCalls()/useCall() instead.
80
- * @internal
81
- * @category Client State
82
- */
83
- export const useIncomingCalls = () => {
84
- const { incomingCalls$ } = useStore();
85
- return useObservableValue(incomingCalls$);
86
- };
87
- /**
88
- * Utility hook which provides a list of all outgoing ring calls (I call somebody).
89
- *
90
- * @deprecated derive from useCalls()/useCall() instead.
91
- * @internal
92
- * @category Client State
93
- */
94
- export const useOutgoingCalls = () => {
95
- const { outgoingCalls$ } = useStore();
96
- return useObservableValue(outgoingCalls$);
97
- };
98
76
  /**
99
77
  * Utility hook which provides call metadata (such as blocked users and own capabilities).
100
78
  *
@@ -1 +1 @@
1
- {"version":3,"file":"call.js","sourceRoot":"","sources":["../../../src/hooks/call.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../../../src/hooks/call.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -24,12 +24,12 @@
24
24
  },
25
25
  "peerDependencies": {
26
26
  "@stream-io/i18n": "^0.0.3",
27
- "@stream-io/video-client": "^0.0.11",
27
+ "@stream-io/video-client": "^0.0.12",
28
28
  "react": ">=17.0.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@stream-io/i18n": "^0.0.3",
32
- "@stream-io/video-client": "^0.0.11",
32
+ "@stream-io/video-client": "^0.0.12",
33
33
  "@types/react": "^18.0.26",
34
34
  "@types/rimraf": "^3.0.2",
35
35
  "react": "^18.2.0",
@@ -39,5 +39,5 @@
39
39
  "typedoc-plugin-markdown": "^3.15.3",
40
40
  "typescript": "^4.9.5"
41
41
  },
42
- "version": "0.0.11"
42
+ "version": "0.0.12"
43
43
  }
@@ -1,4 +1,10 @@
1
- import { createContext, PropsWithChildren, useContext } from 'react';
1
+ import {
2
+ createContext,
3
+ PropsWithChildren,
4
+ useContext,
5
+ useEffect,
6
+ useRef,
7
+ } from 'react';
2
8
  import { StreamVideoClient } from '@stream-io/video-client';
3
9
  import {
4
10
  StreamI18nProvider,
@@ -30,6 +36,32 @@ export const StreamVideo = ({
30
36
  language,
31
37
  translationsOverrides,
32
38
  }: PropsWithChildren<StreamVideoProps>) => {
39
+ const prevClient = useRef<StreamVideoClient | undefined>(undefined);
40
+
41
+ useEffect(() => {
42
+ if (prevClient.current) {
43
+ prevClient.current
44
+ .disconnectUser()
45
+ .catch((error) => console.error(`Failed to disconnect`, error));
46
+ }
47
+
48
+ if (client.user) {
49
+ client
50
+ .connectUser()
51
+ .catch((error) =>
52
+ console.error('Failed to establish connection', error),
53
+ );
54
+ }
55
+
56
+ prevClient.current = client;
57
+
58
+ return () => {
59
+ client
60
+ .disconnectUser()
61
+ .catch((error) => console.error(`Failed to disconnect`, error));
62
+ };
63
+ }, [client]);
64
+
33
65
  return (
34
66
  <StreamVideoContext.Provider value={client}>
35
67
  <StreamI18nProvider
package/src/hooks/call.ts CHANGED
@@ -81,30 +81,6 @@ export const useCalls = () => {
81
81
  return useObservableValue(calls$);
82
82
  };
83
83
 
84
- /**
85
- * Utility hook which provides a list of all incoming ring calls (somebody calls me).
86
- *
87
- * @deprecated derive from useCalls()/useCall() instead.
88
- * @internal
89
- * @category Client State
90
- */
91
- export const useIncomingCalls = () => {
92
- const { incomingCalls$ } = useStore();
93
- return useObservableValue(incomingCalls$);
94
- };
95
-
96
- /**
97
- * Utility hook which provides a list of all outgoing ring calls (I call somebody).
98
- *
99
- * @deprecated derive from useCalls()/useCall() instead.
100
- * @internal
101
- * @category Client State
102
- */
103
- export const useOutgoingCalls = () => {
104
- const { outgoingCalls$ } = useStore();
105
- return useObservableValue(outgoingCalls$);
106
- };
107
-
108
84
  /**
109
85
  * Utility hook which provides call metadata (such as blocked users and own capabilities).
110
86
  *