@stream-io/video-react-native-sdk 1.40.2 → 1.41.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.
Files changed (36) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js +2 -0
  3. package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
  4. package/dist/commonjs/components/Call/CallParticipantsList/CallParticipantsList.js +22 -31
  5. package/dist/commonjs/components/Call/CallParticipantsList/CallParticipantsList.js.map +1 -1
  6. package/dist/commonjs/components/Call/RingingCallContent/IncomingCall.js +8 -5
  7. package/dist/commonjs/components/Call/RingingCallContent/IncomingCall.js.map +1 -1
  8. package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer/index.js +2 -1
  9. package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer/index.js.map +1 -1
  10. package/dist/commonjs/utils/push/setupCallingExpEvents.js +31 -0
  11. package/dist/commonjs/utils/push/setupCallingExpEvents.js.map +1 -1
  12. package/dist/commonjs/version.js +1 -1
  13. package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js +3 -1
  14. package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
  15. package/dist/module/components/Call/CallParticipantsList/CallParticipantsList.js +23 -32
  16. package/dist/module/components/Call/CallParticipantsList/CallParticipantsList.js.map +1 -1
  17. package/dist/module/components/Call/RingingCallContent/IncomingCall.js +9 -6
  18. package/dist/module/components/Call/RingingCallContent/IncomingCall.js.map +1 -1
  19. package/dist/module/components/Participant/ParticipantView/VideoRenderer/index.js +2 -1
  20. package/dist/module/components/Participant/ParticipantView/VideoRenderer/index.js.map +1 -1
  21. package/dist/module/utils/push/setupCallingExpEvents.js +32 -1
  22. package/dist/module/utils/push/setupCallingExpEvents.js.map +1 -1
  23. package/dist/module/version.js +1 -1
  24. package/dist/typescript/components/Call/CallLayout/CallParticipantsSpotlight.d.ts.map +1 -1
  25. package/dist/typescript/components/Call/CallParticipantsList/CallParticipantsList.d.ts.map +1 -1
  26. package/dist/typescript/components/Call/RingingCallContent/IncomingCall.d.ts.map +1 -1
  27. package/dist/typescript/components/Participant/ParticipantView/VideoRenderer/index.d.ts.map +1 -1
  28. package/dist/typescript/utils/push/setupCallingExpEvents.d.ts.map +1 -1
  29. package/dist/typescript/version.d.ts +1 -1
  30. package/package.json +6 -6
  31. package/src/components/Call/CallLayout/CallParticipantsSpotlight.tsx +6 -1
  32. package/src/components/Call/CallParticipantsList/CallParticipantsList.tsx +63 -62
  33. package/src/components/Call/RingingCallContent/IncomingCall.tsx +10 -12
  34. package/src/components/Participant/ParticipantView/VideoRenderer/index.tsx +4 -1
  35. package/src/utils/push/setupCallingExpEvents.ts +41 -1
  36. package/src/version.ts +1 -1
@@ -1,4 +1,8 @@
1
- import { videoLoggerSystem } from '@stream-io/video-client';
1
+ import {
2
+ CallingState,
3
+ videoLoggerSystem,
4
+ type StreamVideoClient,
5
+ } from '@stream-io/video-client';
2
6
  import type { StreamVideoConfig } from '../StreamVideoRN/types';
3
7
  import {
4
8
  clearPushWSEventSubscriptions,
@@ -50,6 +54,10 @@ export function setupCallingExpEvents(pushConfig: NonNullable<PushConfig>) {
50
54
  onDidDeactivateAudioSession,
51
55
  );
52
56
 
57
+ callingx.addEventListener('providerReset', (params) => {
58
+ onProviderReset(pushConfig)(params);
59
+ });
60
+
53
61
  //NOTE: until getInitialEvents invocation, events are delayed and won't be sent to event listeners, this is a way to make sure none of required events are missed
54
62
  //in most cases there will be no delayed answers or ends, but if so we don't want to miss any of them
55
63
  const events = callingx.getInitialEvents();
@@ -65,6 +73,8 @@ export function setupCallingExpEvents(pushConfig: NonNullable<PushConfig>) {
65
73
  onDidActivateAudioSession();
66
74
  } else if (eventName === 'didDeactivateAudioSession') {
67
75
  onDidDeactivateAudioSession();
76
+ } else if (eventName === 'providerReset') {
77
+ onProviderReset(pushConfig)(params as EventParams['providerReset']);
68
78
  }
69
79
  });
70
80
  }
@@ -78,6 +88,36 @@ const onDidDeactivateAudioSession = () => {
78
88
  logger.debug('callingExpDidDeactivateAudioSession');
79
89
  };
80
90
 
91
+ const onProviderReset =
92
+ (pushConfig: PushConfig) =>
93
+ async ({ callCids }: EventParams['providerReset']) => {
94
+ logger.debug(`onProviderReset event callCids: ${callCids?.join(', ')}`);
95
+
96
+ if (!callCids?.length) {
97
+ return;
98
+ }
99
+
100
+ let videoClient: StreamVideoClient | undefined;
101
+ try {
102
+ videoClient = await pushConfig.createStreamVideoClient();
103
+ } catch (e) {
104
+ logger.error('onProviderReset: failed to resolve video client', e);
105
+ return;
106
+ }
107
+ if (!videoClient) {
108
+ return;
109
+ }
110
+
111
+ for (const cid of callCids) {
112
+ const call = videoClient.state.calls.find((c) => c.cid === cid);
113
+ if (call && call.state.callingState !== CallingState.LEFT) {
114
+ call?.leave().catch((error: unknown) => {
115
+ logger.error(`onProviderReset: error leaving call ${cid}`, error);
116
+ });
117
+ }
118
+ }
119
+ };
120
+
81
121
  const onAcceptCall =
82
122
  (pushConfig: PushConfig) =>
83
123
  ({ callId: call_cid, source }: EventParams['answerCall']) => {
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.40.2';
1
+ export const version = '1.41.0';