@ethora/chat-component-rn 26.10.2 → 26.10.4

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 (166) hide show
  1. package/lib/commonjs/components/Header/HeaderRoomList.js +72 -69
  2. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  3. package/lib/commonjs/components/MainComponents/ChatHeader.js +13 -11
  4. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  5. package/lib/commonjs/components/MainComponents/MessageContainer.js +10 -2
  6. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/RoomList.js +8 -18
  8. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  9. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +17 -14
  10. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  11. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +131 -17
  12. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  13. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +6 -1
  14. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  15. package/lib/commonjs/components/VideoCalls/ActiveCallBar.js +203 -0
  16. package/lib/commonjs/components/VideoCalls/ActiveCallBar.js.map +1 -0
  17. package/lib/commonjs/components/VideoCalls/CallButtons.js +3 -1
  18. package/lib/commonjs/components/VideoCalls/CallButtons.js.map +1 -1
  19. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js +123 -129
  20. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  21. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +212 -414
  22. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
  23. package/lib/commonjs/components/VideoCalls/callActions.js +61 -0
  24. package/lib/commonjs/components/VideoCalls/callActions.js.map +1 -0
  25. package/lib/commonjs/components/VideoCalls/callSessionController.js +461 -0
  26. package/lib/commonjs/components/VideoCalls/callSessionController.js.map +1 -0
  27. package/lib/commonjs/components/VideoCalls/callUiStore.js +91 -0
  28. package/lib/commonjs/components/VideoCalls/callUiStore.js.map +1 -0
  29. package/lib/commonjs/components/VideoCalls/livekitRuntime.js +1 -0
  30. package/lib/commonjs/components/VideoCalls/livekitRuntime.js.map +1 -1
  31. package/lib/commonjs/components/VideoCalls/useDraggable.js +59 -0
  32. package/lib/commonjs/components/VideoCalls/useDraggable.js.map +1 -0
  33. package/lib/commonjs/helpers/createRoomFromApi.js +4 -0
  34. package/lib/commonjs/helpers/createRoomFromApi.js.map +1 -1
  35. package/lib/commonjs/helpers/incomingCallFromPush.js +1 -1
  36. package/lib/commonjs/helpers/incomingCallFromPush.js.map +1 -1
  37. package/lib/commonjs/helpers/roomUserCount.js +7 -1
  38. package/lib/commonjs/helpers/roomUserCount.js.map +1 -1
  39. package/lib/commonjs/helpers/uniqueMembers.js +36 -0
  40. package/lib/commonjs/helpers/uniqueMembers.js.map +1 -0
  41. package/lib/commonjs/hooks/useLeaveRoom.js +52 -0
  42. package/lib/commonjs/hooks/useLeaveRoom.js.map +1 -0
  43. package/lib/commonjs/i18n/strings.js +24 -0
  44. package/lib/commonjs/i18n/strings.js.map +1 -1
  45. package/lib/commonjs/networking/api-requests/rooms.api.js +36 -1
  46. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  47. package/lib/commonjs/networking/callTokenStanza.js +47 -3
  48. package/lib/commonjs/networking/callTokenStanza.js.map +1 -1
  49. package/lib/commonjs/networking/xmppClient.js +9 -2
  50. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  51. package/lib/commonjs/version.js +1 -1
  52. package/lib/module/components/Header/HeaderRoomList.js +73 -70
  53. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  54. package/lib/module/components/MainComponents/ChatHeader.js +15 -13
  55. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  56. package/lib/module/components/MainComponents/MessageContainer.js +10 -2
  57. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  58. package/lib/module/components/MainComponents/RoomList.js +8 -18
  59. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  60. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +18 -15
  61. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  62. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +132 -18
  63. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  64. package/lib/module/components/RoomComponents/ChatRoomItem.js +6 -1
  65. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  66. package/lib/module/components/VideoCalls/ActiveCallBar.js +195 -0
  67. package/lib/module/components/VideoCalls/ActiveCallBar.js.map +1 -0
  68. package/lib/module/components/VideoCalls/CallButtons.js +3 -1
  69. package/lib/module/components/VideoCalls/CallButtons.js.map +1 -1
  70. package/lib/module/components/VideoCalls/VideoCallOverlay.js +125 -131
  71. package/lib/module/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  72. package/lib/module/components/VideoCalls/VideoCallSession.js +213 -417
  73. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
  74. package/lib/module/components/VideoCalls/callActions.js +55 -0
  75. package/lib/module/components/VideoCalls/callActions.js.map +1 -0
  76. package/lib/module/components/VideoCalls/callSessionController.js +450 -0
  77. package/lib/module/components/VideoCalls/callSessionController.js.map +1 -0
  78. package/lib/module/components/VideoCalls/callUiStore.js +84 -0
  79. package/lib/module/components/VideoCalls/callUiStore.js.map +1 -0
  80. package/lib/module/components/VideoCalls/livekitRuntime.js +1 -0
  81. package/lib/module/components/VideoCalls/livekitRuntime.js.map +1 -1
  82. package/lib/module/components/VideoCalls/useDraggable.js +55 -0
  83. package/lib/module/components/VideoCalls/useDraggable.js.map +1 -0
  84. package/lib/module/helpers/createRoomFromApi.js +4 -0
  85. package/lib/module/helpers/createRoomFromApi.js.map +1 -1
  86. package/lib/module/helpers/incomingCallFromPush.js +1 -1
  87. package/lib/module/helpers/incomingCallFromPush.js.map +1 -1
  88. package/lib/module/helpers/roomUserCount.js +7 -1
  89. package/lib/module/helpers/roomUserCount.js.map +1 -1
  90. package/lib/module/helpers/uniqueMembers.js +31 -0
  91. package/lib/module/helpers/uniqueMembers.js.map +1 -0
  92. package/lib/module/hooks/useLeaveRoom.js +48 -0
  93. package/lib/module/hooks/useLeaveRoom.js.map +1 -0
  94. package/lib/module/i18n/strings.js +24 -0
  95. package/lib/module/i18n/strings.js.map +1 -1
  96. package/lib/module/networking/api-requests/rooms.api.js +35 -1
  97. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  98. package/lib/module/networking/callTokenStanza.js +47 -3
  99. package/lib/module/networking/callTokenStanza.js.map +1 -1
  100. package/lib/module/networking/xmppClient.js +8 -1
  101. package/lib/module/networking/xmppClient.js.map +1 -1
  102. package/lib/module/version.js +1 -1
  103. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  104. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  105. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  106. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  107. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  108. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  109. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  110. package/lib/typescript/components/VideoCalls/ActiveCallBar.d.ts +21 -0
  111. package/lib/typescript/components/VideoCalls/ActiveCallBar.d.ts.map +1 -0
  112. package/lib/typescript/components/VideoCalls/CallButtons.d.ts.map +1 -1
  113. package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts +0 -6
  114. package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts.map +1 -1
  115. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts +15 -22
  116. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
  117. package/lib/typescript/components/VideoCalls/callActions.d.ts +15 -0
  118. package/lib/typescript/components/VideoCalls/callActions.d.ts.map +1 -0
  119. package/lib/typescript/components/VideoCalls/callSessionController.d.ts +63 -0
  120. package/lib/typescript/components/VideoCalls/callSessionController.d.ts.map +1 -0
  121. package/lib/typescript/components/VideoCalls/callUiStore.d.ts +24 -0
  122. package/lib/typescript/components/VideoCalls/callUiStore.d.ts.map +1 -0
  123. package/lib/typescript/components/VideoCalls/livekitRuntime.d.ts +2 -0
  124. package/lib/typescript/components/VideoCalls/livekitRuntime.d.ts.map +1 -1
  125. package/lib/typescript/components/VideoCalls/useDraggable.d.ts +19 -0
  126. package/lib/typescript/components/VideoCalls/useDraggable.d.ts.map +1 -0
  127. package/lib/typescript/helpers/createRoomFromApi.d.ts.map +1 -1
  128. package/lib/typescript/helpers/roomUserCount.d.ts +1 -0
  129. package/lib/typescript/helpers/roomUserCount.d.ts.map +1 -1
  130. package/lib/typescript/helpers/uniqueMembers.d.ts +11 -0
  131. package/lib/typescript/helpers/uniqueMembers.d.ts.map +1 -0
  132. package/lib/typescript/hooks/useLeaveRoom.d.ts +9 -0
  133. package/lib/typescript/hooks/useLeaveRoom.d.ts.map +1 -0
  134. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  135. package/lib/typescript/networking/api-requests/rooms.api.d.ts +8 -0
  136. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  137. package/lib/typescript/networking/callTokenStanza.d.ts.map +1 -1
  138. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  139. package/lib/typescript/version.d.ts +1 -1
  140. package/package.json +1 -1
  141. package/src/components/Header/HeaderRoomList.tsx +66 -61
  142. package/src/components/MainComponents/ChatHeader.tsx +13 -8
  143. package/src/components/MainComponents/MessageContainer.tsx +14 -1
  144. package/src/components/MainComponents/RoomList.tsx +8 -14
  145. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +16 -13
  146. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +167 -36
  147. package/src/components/RoomComponents/ChatRoomItem.tsx +8 -1
  148. package/src/components/VideoCalls/ActiveCallBar.tsx +176 -0
  149. package/src/components/VideoCalls/CallButtons.tsx +5 -1
  150. package/src/components/VideoCalls/VideoCallOverlay.tsx +153 -183
  151. package/src/components/VideoCalls/VideoCallSession.tsx +227 -439
  152. package/src/components/VideoCalls/callActions.ts +63 -0
  153. package/src/components/VideoCalls/callSessionController.ts +439 -0
  154. package/src/components/VideoCalls/callUiStore.ts +76 -0
  155. package/src/components/VideoCalls/livekitRuntime.ts +3 -0
  156. package/src/components/VideoCalls/useDraggable.ts +46 -0
  157. package/src/helpers/createRoomFromApi.tsx +2 -0
  158. package/src/helpers/incomingCallFromPush.ts +2 -2
  159. package/src/helpers/roomUserCount.ts +6 -2
  160. package/src/helpers/uniqueMembers.ts +26 -0
  161. package/src/hooks/useLeaveRoom.ts +42 -0
  162. package/src/i18n/strings.ts +24 -0
  163. package/src/networking/api-requests/rooms.api.ts +28 -1
  164. package/src/networking/callTokenStanza.ts +46 -6
  165. package/src/networking/xmppClient.ts +10 -1
  166. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","ActivityIndicator","Platform","StyleSheet","Text","TouchableOpacity","View","ProfileImagePlaceholder","CameraOffIcon","CameraOnIcon","HangUpIcon","MicOffIcon","MicOnIcon","MinimizeIcon","ExpandIcon","SpeakerIcon","SpeakerOffIcon","SwitchCameraIcon","ensureLiveKitGlobals","loadLiveKit","useT","jsx","_jsx","jsxs","_jsxs","DEFAULT_PRIMARY","SURFACE_DARK","TEXT_ON_DARK","TEXT_MUTED","DANGER","CONTROL_IDLE","humanizeDeviceError","error","t","name","text","String","message","toLowerCase","includes","VideoCallSession","token","livekitUrl","kind","peerName","primaryColor","icons","startWithCameraOn","startWithMicOn","minimized","onToggleMinimize","onConnected","onError","onHangup","runtime","roomRef","connected","setConnected","deviceError","setDeviceError","micOn","setMicOn","cameraOn","setCameraOn","speakerOn","setSpeakerOn","remoteVideo","setRemoteVideo","localVideo","setLocalVideo","remoteName","setRemoteName","remoteJoined","setRemoteJoined","callbacksRef","current","toTrackRef","participant","Track","publication","getTrackPublication","Source","Camera","track","source","resyncTracks","room","remote","Array","from","remoteParticipants","values","identity","localParticipant","Room","RoomEvent","AudioSession","disposed","adaptiveStream","dynacast","onStateChange","on","TrackSubscribed","TrackUnsubscribed","LocalTrackPublished","LocalTrackUnpublished","TrackMuted","TrackUnmuted","ParticipantConnected","MediaDevicesError","ParticipantDisconnected","Disconnected","startAudioSession","connect","setMicrophoneEnabled","setCameraEnabled","setAppleAudioConfiguration","audioCategory","audioMode","removeAllListeners","disconnect","stopAudioSession","toggleMic","next","toggleCamera","switchCamera","restartTrack","facingMode","mediaStreamTrack","getSettings","toggleSpeaker","OS","selectAudioOutput","audioCategoryOptions","style","styles","canvas","centered","children","errorText","VideoTrack","displayName","isVideo","showRemoteVideo","miniBar","miniInfo","numberOfLines","miniName","miniStatus","accessibilityRole","accessibilityLabel","onPress","miniButton","backgroundColor","color","size","hangup","deviceErrorBanner","deviceErrorText","stage","trackRef","objectFit","stageName","stageStatus","spinner","pip","pipVideo","mirror","minimizeButton","controls","controlButton","micOff","cameraOff","hangupButton","create","flex","alignItems","justifyContent","gap","position","overflow","fontSize","marginTop","right","top","width","height","borderRadius","borderWidth","borderColor","left","flexDirection","paddingVertical","paddingHorizontal","textAlign","zIndex","minWidth"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/VideoCallSession.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","ActivityIndicator","Animated","Pressable","StyleSheet","Text","TouchableOpacity","View","useSafeAreaInsets","ProfileImagePlaceholder","CameraOffIcon","CameraOnIcon","HangUpIcon","MicOffIcon","MicOnIcon","MinimizeIcon","SpeakerIcon","SpeakerOffIcon","SwitchCameraIcon","loadLiveKit","dismissCallDeviceError","switchCallCamera","toggleCallCamera","toggleCallMic","toggleCallSpeaker","useCallSession","useDraggable","useT","jsx","_jsx","jsxs","_jsxs","DEFAULT_PRIMARY","SURFACE_DARK","TEXT_ON_DARK","TEXT_MUTED","DANGER","CONTROL_IDLE","useSharedCallElapsed","anchorAt","tick","id","setInterval","n","clearInterval","Math","max","floor","Date","now","formatCallDuration","totalSeconds","safe","hours","minutes","seconds","mm","String","padStart","ss","VideoCallSession","kind","peerName","primaryColor","icons","onToggleMinimize","onHangup","t","insets","runtime","session","selfView","elapsed","swapped","setSwapped","style","styles","canvas","centered","children","errorText","VideoTrack","connected","remoteJoined","remoteVideo","localVideo","micOn","cameraOn","speakerOn","deviceError","remoteMicMuted","facingMode","displayName","remoteName","isVideo","showRemoteVideo","localLive","canSwap","isSwapped","mainVideo","pipVideo","selfMirror","statusText","peerMutedLabel","name","stage","trackRef","objectFit","mirror","zOrder","size","stageName","stageStatus","color","spinner","pill","pillDanger","pillDangerText","pillText","header","paddingTop","top","headerName","numberOfLines","headerStatus","headerPill","panHandlers","pip","disabled","onPress","value","accessibilityRole","accessibilityLabel","minimizeButton","deviceErrorBanner","deviceErrorText","controls","paddingBottom","bottom","controlButton","backgroundColor","micOff","cameraOff","hangupButton","hangup","create","flex","alignItems","justifyContent","gap","paddingHorizontal","position","overflow","fontSize","marginTop","textAlign","fontVariant","left","right","fontWeight","flexDirection","paddingVertical","borderRadius","borderWidth","borderColor","width","height","zIndex"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/VideoCallSession.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ import { store } from '../../roomStore';
4
+ import { declineIncomingCall, endCall } from '../../roomStore/callSlice';
5
+ import { addRoomMessage } from '../../roomStore/roomsSlice';
6
+ import { buildLocalCallLogMessage } from '../../helpers/callLogMessage';
7
+ import { sendCallStateSignal } from '../../networking/callTokenStanza';
8
+ import { translateKey } from '../../i18n/strings';
9
+
10
+ /**
11
+ * Call teardown that doesn't need a mounted component.
12
+ *
13
+ * It used to live inside VideoCallOverlay, which meant only a rendered
14
+ * overlay could end a call. The LiveKit session now outlives the UI
15
+ * (callSessionController.ts), so the session's own "peer left" and
16
+ * "disconnected" events need the same teardown, with the same local log
17
+ * entry and the same signal to the peer.
18
+ */
19
+ export const terminateActiveCall = state => {
20
+ // Write a local "call ended" log entry BEFORE endCall() wipes the call
21
+ // slice. The authoritative entry is a server call-state broadcast, but
22
+ // that isn't guaranteed to arrive, so we synthesize our own. It's
23
+ // deduped against any server copy by callId in addRoomMessage.
24
+ const snap = store.getState().call;
25
+ if (snap.phase === 'idle') {
26
+ return;
27
+ }
28
+ if (snap.roomJid && (snap.callId || snap.connectedAt)) {
29
+ const durationMs = snap.connectedAt ? Math.max(0, Date.now() - snap.connectedAt) : 0;
30
+ store.dispatch(addRoomMessage({
31
+ roomJID: snap.roomJid,
32
+ message: buildLocalCallLogMessage({
33
+ callId: snap.callId || '',
34
+ direction: snap.direction === 'incoming' ? 'incoming' : 'outgoing',
35
+ durationMs,
36
+ kind: snap.kind === 'audio' ? 'audio' : 'video',
37
+ selfXmppUsername: store.getState().chatSettingStore.user?.xmppUsername || ''
38
+ })
39
+ }));
40
+ }
41
+ sendCallStateSignal(state);
42
+ store.dispatch(endCall());
43
+ };
44
+ export const declineActiveCall = () => {
45
+ sendCallStateSignal('declined');
46
+ store.dispatch(declineIncomingCall());
47
+ };
48
+
49
+ /** `t` for code outside React, resolved by the same rule as useT. */
50
+ export const translateCallString = (key, vars) => {
51
+ const settings = store.getState().chatSettingStore;
52
+ const locale = settings?.uiLocale || settings?.config?.i18n?.locale || settings?.langSource;
53
+ return translateKey(key, locale, settings?.config?.i18n?.strings, vars);
54
+ };
55
+ //# sourceMappingURL=callActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["store","declineIncomingCall","endCall","addRoomMessage","buildLocalCallLogMessage","sendCallStateSignal","translateKey","terminateActiveCall","state","snap","getState","call","phase","roomJid","callId","connectedAt","durationMs","Math","max","Date","now","dispatch","roomJID","message","direction","kind","selfXmppUsername","chatSettingStore","user","xmppUsername","declineActiveCall","translateCallString","key","vars","settings","locale","uiLocale","config","i18n","langSource","strings"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/callActions.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,iBAAiB;AACvC,SAASC,mBAAmB,EAAEC,OAAO,QAAQ,2BAA2B;AACxE,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,wBAAwB,QAAQ,8BAA8B;AACvE,SAEEC,mBAAmB,QACd,kCAAkC;AACzC,SAASC,YAAY,QAAQ,oBAAoB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAIC,KAAsB,IAAW;EACnE;EACA;EACA;EACA;EACA,MAAMC,IAAI,GAAGT,KAAK,CAACU,QAAQ,CAAC,CAAC,CAACC,IAAI;EAClC,IAAIF,IAAI,CAACG,KAAK,KAAK,MAAM,EAAE;IAAC;EAAO;EACnC,IAAIH,IAAI,CAACI,OAAO,KAAKJ,IAAI,CAACK,MAAM,IAAIL,IAAI,CAACM,WAAW,CAAC,EAAE;IACrD,MAAMC,UAAU,GAAGP,IAAI,CAACM,WAAW,GAC/BE,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGX,IAAI,CAACM,WAAW,CAAC,GAC1C,CAAC;IACLf,KAAK,CAACqB,QAAQ,CACZlB,cAAc,CAAC;MACbmB,OAAO,EAAEb,IAAI,CAACI,OAAO;MACrBU,OAAO,EAAEnB,wBAAwB,CAAC;QAChCU,MAAM,EAAEL,IAAI,CAACK,MAAM,IAAI,EAAE;QACzBU,SAAS,EAAEf,IAAI,CAACe,SAAS,KAAK,UAAU,GAAG,UAAU,GAAG,UAAU;QAClER,UAAU;QACVS,IAAI,EAAEhB,IAAI,CAACgB,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG,OAAO;QAC/CC,gBAAgB,EACd1B,KAAK,CAACU,QAAQ,CAAC,CAAC,CAACiB,gBAAgB,CAACC,IAAI,EAAEC,YAAY,IAAI;MAC5D,CAAC;IACH,CAAC,CACH,CAAC;EACH;EACAxB,mBAAmB,CAACG,KAAK,CAAC;EAC1BR,KAAK,CAACqB,QAAQ,CAACnB,OAAO,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,OAAO,MAAM4B,iBAAiB,GAAGA,CAAA,KAAY;EAC3CzB,mBAAmB,CAAC,UAAU,CAAC;EAC/BL,KAAK,CAACqB,QAAQ,CAACpB,mBAAmB,CAAC,CAAC,CAAC;AACvC,CAAC;;AAED;AACA,OAAO,MAAM8B,mBAAmB,GAAGA,CACjCC,GAAW,EACXC,IAAsC,KAC3B;EACX,MAAMC,QAAQ,GAAGlC,KAAK,CAACU,QAAQ,CAAC,CAAC,CAACiB,gBAAuB;EACzD,MAAMQ,MAAM,GACVD,QAAQ,EAAEE,QAAQ,IAAIF,QAAQ,EAAEG,MAAM,EAAEC,IAAI,EAAEH,MAAM,IAAID,QAAQ,EAAEK,UAAU;EAC9E,OAAOjC,YAAY,CAAC0B,GAAG,EAAEG,MAAM,EAAED,QAAQ,EAAEG,MAAM,EAAEC,IAAI,EAAEE,OAAO,EAAEP,IAAI,CAAC;AACzE,CAAC","ignoreList":[]}
@@ -0,0 +1,450 @@
1
+ "use strict";
2
+
3
+ import { useSyncExternalStore } from 'react';
4
+ import { Platform } from 'react-native';
5
+ import { store } from '../../roomStore';
6
+ import { setCallError, setCallPhase } from '../../roomStore/callSlice';
7
+ import { ensureLiveKitGlobals, loadLiveKit } from './livekitRuntime';
8
+ import { terminateActiveCall, translateCallString } from './callActions';
9
+
10
+ /**
11
+ * The LiveKit connection of the current call, owned outside React.
12
+ *
13
+ * It used to live in VideoCallSession's effect, so the connection was as
14
+ * long-lived as that component instance. Minimizing swapped the Modal for a
15
+ * floating View, React remounted the session, the effect cleanup
16
+ * disconnected, and the peer saw us leave (and hung up). The web SDK avoids
17
+ * that by keeping one LiveKitRoom element mounted across both layouts; the
18
+ * RN equivalent is to not tie the room to a component at all.
19
+ *
20
+ * Lifetime is driven by the call slice: a session exists while the call is
21
+ * 'connecting' or 'in-call' with a token, and is torn down by a store
22
+ * subscription the moment that stops being true (hangup, remote end,
23
+ * logout's resetCall), whether or not any call UI is mounted. Components
24
+ * only read the snapshot and call the controls.
25
+ */
26
+
27
+ const IDLE = {
28
+ active: false,
29
+ connected: false,
30
+ deviceError: null,
31
+ micOn: true,
32
+ cameraOn: false,
33
+ speakerOn: false,
34
+ facingMode: 'user',
35
+ remoteVideo: null,
36
+ localVideo: null,
37
+ remoteName: null,
38
+ remoteJoined: false,
39
+ remoteMicMuted: false,
40
+ anchorAt: null
41
+ };
42
+ let session = null;
43
+ let snapshot = IDLE;
44
+ const listeners = new Set();
45
+ let storeUnsubscribe = null;
46
+ const emit = patch => {
47
+ snapshot = {
48
+ ...snapshot,
49
+ ...patch
50
+ };
51
+ listeners.forEach(listener => listener());
52
+ };
53
+ const subscribe = listener => {
54
+ listeners.add(listener);
55
+ return () => {
56
+ listeners.delete(listener);
57
+ };
58
+ };
59
+ const getSnapshot = () => snapshot;
60
+ export const useCallSession = () => useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
61
+ const sessionKey = (livekitUrl, token) => `${livekitUrl}|${token}`;
62
+
63
+ // A device (camera/mic) permission/availability problem during enable,
64
+ // distinct from a connect failure. Mirrors the web SDK's humanizeDeviceError.
65
+ const humanizeDeviceError = error => {
66
+ const name = error?.name || '';
67
+ const text = String(error?.message || '').toLowerCase();
68
+ if (name === 'NotAllowedError' || text.includes('permission') || text.includes('denied')) {
69
+ return translateCallString('call.error.deviceBlocked');
70
+ }
71
+ if (name === 'NotFoundError' || text.includes('not found')) {
72
+ return translateCallString('call.error.deviceNotFound');
73
+ }
74
+ if (name === 'NotReadableError' || text.includes('in use')) {
75
+ return translateCallString('call.error.deviceInUse');
76
+ }
77
+ return translateCallString('call.error.deviceGeneric');
78
+ };
79
+
80
+ // Only a live, unmuted track gets a video surface, so the stage never
81
+ // flips between an avatar and a black frame (web's hasLiveVideo).
82
+ const liveVideoRef = (participant, Track) => {
83
+ if (!participant) {
84
+ return null;
85
+ }
86
+ const publication = participant.getTrackPublication?.(Track.Source.Camera);
87
+ if (!publication?.track || publication.isMuted) {
88
+ return null;
89
+ }
90
+ return {
91
+ participant,
92
+ publication,
93
+ source: Track.Source.Camera
94
+ };
95
+ };
96
+ const joinedAtMs = participant => {
97
+ const value = participant?.joinedAt;
98
+ const ms = value ? new Date(value).getTime() : 0;
99
+ return Number.isFinite(ms) ? ms : 0;
100
+ };
101
+ const resync = () => {
102
+ const current = session;
103
+ const runtime = loadLiveKit();
104
+ if (!current || current.disposed || !runtime) {
105
+ return;
106
+ }
107
+ const {
108
+ Track
109
+ } = runtime;
110
+ const room = current.room;
111
+ const remote = Array.from(room.remoteParticipants?.values?.() || [])[0];
112
+ if (remote) {
113
+ current.everJoined = true;
114
+ }
115
+ const remoteMic = remote?.getTrackPublication?.(Track.Source.Microphone);
116
+ const localJoined = joinedAtMs(room.localParticipant);
117
+ const remoteJoinedAt = joinedAtMs(remote);
118
+ emit({
119
+ remoteJoined: !!remote,
120
+ remoteName: remote?.name || remote?.identity || null,
121
+ remoteVideo: liveVideoRef(remote, Track),
122
+ localVideo: liveVideoRef(room.localParticipant, Track),
123
+ remoteMicMuted: !!remote && (!remoteMic || remoteMic.isMuted !== false),
124
+ anchorAt: remote && localJoined && remoteJoinedAt ? Math.max(localJoined, remoteJoinedAt) : remote ? snapshot.anchorAt ?? Date.now() : null
125
+ });
126
+ };
127
+ export const stopCallSession = () => {
128
+ const current = session;
129
+ if (!current) {
130
+ return;
131
+ }
132
+ current.disposed = true;
133
+ session = null;
134
+ try {
135
+ current.room.removeAllListeners?.();
136
+ void current.room.disconnect();
137
+ } catch {
138
+ // Already gone.
139
+ }
140
+ try {
141
+ void loadLiveKit()?.AudioSession?.stopAudioSession();
142
+ } catch {
143
+ // Never let teardown throw.
144
+ }
145
+ snapshot = IDLE;
146
+ listeners.forEach(listener => listener());
147
+ };
148
+
149
+ // Tear the session down as soon as the call slice says there is no call to
150
+ // carry it any more, independent of what UI happens to be mounted.
151
+ const ensureStoreWatcher = () => {
152
+ if (storeUnsubscribe) {
153
+ return;
154
+ }
155
+ storeUnsubscribe = store.subscribe(() => {
156
+ if (!session) {
157
+ return;
158
+ }
159
+ const call = store.getState().call;
160
+ const live = !!call.token && (call.phase === 'connecting' || call.phase === 'in-call');
161
+ if (!live || !session.key.endsWith(`|${call.token}`)) {
162
+ stopCallSession();
163
+ }
164
+ });
165
+ };
166
+ /**
167
+ * Join the LiveKit room for the current call. Idempotent per (url, token):
168
+ * calling it again from a remounted overlay re-attaches to the same room.
169
+ */
170
+ export const startCallSession = ({
171
+ token,
172
+ livekitUrl,
173
+ kind,
174
+ startWithMicOn = true,
175
+ startWithCameraOn = true
176
+ }) => {
177
+ const key = sessionKey(livekitUrl, token);
178
+ if (session?.key === key) {
179
+ return;
180
+ }
181
+ stopCallSession();
182
+ ensureStoreWatcher();
183
+ const runtime = loadLiveKit();
184
+ if (!runtime) {
185
+ store.dispatch(setCallError(translateCallString('call.error.sdkMissing')));
186
+ return;
187
+ }
188
+ if (!token || !livekitUrl) {
189
+ store.dispatch(setCallError(translateCallString('call.error.missingConfig')));
190
+ return;
191
+ }
192
+ ensureLiveKitGlobals(runtime);
193
+ const {
194
+ Room,
195
+ RoomEvent,
196
+ AudioSession,
197
+ VideoPresets
198
+ } = runtime;
199
+
200
+ // The web session's options, verbatim. `pixelDensity: 'screen'` matters:
201
+ // with a plain `adaptiveStream: true` the subscriber asks for a layer
202
+ // sized to the view in POINTS, i.e. 2-3x below the phone's real pixels,
203
+ // and the peer's video arrived visibly blurry next to web.
204
+ const room = new Room({
205
+ adaptiveStream: {
206
+ pixelDensity: 'screen'
207
+ },
208
+ dynacast: true,
209
+ ...(VideoPresets ? {
210
+ publishDefaults: {
211
+ videoSimulcastLayers: [VideoPresets.h540, VideoPresets.h216]
212
+ },
213
+ videoCaptureDefaults: {
214
+ resolution: VideoPresets.h720.resolution
215
+ }
216
+ } : {})
217
+ });
218
+ const current = {
219
+ key,
220
+ room,
221
+ kind,
222
+ disposed: false,
223
+ everJoined: false
224
+ };
225
+ session = current;
226
+ snapshot = {
227
+ ...IDLE,
228
+ active: true,
229
+ micOn: startWithMicOn,
230
+ cameraOn: kind === 'video' && startWithCameraOn,
231
+ // Video calls belong on the loudspeaker, audio calls on the earpiece.
232
+ speakerOn: kind === 'video'
233
+ };
234
+ listeners.forEach(listener => listener());
235
+ const onChange = () => {
236
+ if (!current.disposed) {
237
+ resync();
238
+ }
239
+ };
240
+ room.on(RoomEvent.TrackSubscribed, onChange).on(RoomEvent.TrackUnsubscribed, onChange).on(RoomEvent.TrackPublished, onChange).on(RoomEvent.TrackUnpublished, onChange).on(RoomEvent.LocalTrackPublished, onChange).on(RoomEvent.LocalTrackUnpublished, onChange).on(RoomEvent.TrackMuted, onChange).on(RoomEvent.TrackUnmuted, onChange).on(RoomEvent.ParticipantConnected, onChange).on(RoomEvent.MediaDevicesError, error => {
241
+ if (current.disposed) {
242
+ return;
243
+ }
244
+ emit({
245
+ deviceError: humanizeDeviceError(error)
246
+ });
247
+ }).on(RoomEvent.ParticipantDisconnected, () => {
248
+ if (current.disposed) {
249
+ return;
250
+ }
251
+ resync();
252
+ // 1:1 semantics, as web's PeerLeaveWatcher: once the peer had been
253
+ // in the room, their leaving IS the end of the call. Before they
254
+ // join (outgoing "Ringing...") an empty room is expected.
255
+ if (current.everJoined && (room.remoteParticipants?.size ?? 0) === 0) {
256
+ terminateActiveCall('ended');
257
+ }
258
+ }).on(RoomEvent.Disconnected, () => {
259
+ if (current.disposed) {
260
+ return;
261
+ }
262
+ emit({
263
+ connected: false
264
+ });
265
+ terminateActiveCall('ended');
266
+ });
267
+ (async () => {
268
+ // Joining the LiveKit room is the only step whose failure should fail
269
+ // the call (bad token, network, server down). Device setup below is
270
+ // best-effort.
271
+ try {
272
+ // Claims audio focus and sets the right native audio mode. Must
273
+ // start BEFORE connecting or the first seconds route to the earpiece
274
+ // on Android even for a video call.
275
+ await AudioSession.startAudioSession();
276
+ await room.connect(livekitUrl, token);
277
+ } catch (error) {
278
+ if (current.disposed) {
279
+ return;
280
+ }
281
+ stopCallSession();
282
+ store.dispatch(setCallError(String(error?.message || '') || translateCallString('call.error.connectFailed')));
283
+ return;
284
+ }
285
+ if (current.disposed) {
286
+ return;
287
+ }
288
+
289
+ // Devices are best-effort: a blocked permission or the iOS Simulator
290
+ // (no camera at all) must not kill a call that connected fine.
291
+ try {
292
+ await room.localParticipant.setMicrophoneEnabled(startWithMicOn);
293
+ } catch (error) {
294
+ if (!current.disposed) {
295
+ emit({
296
+ deviceError: humanizeDeviceError(error)
297
+ });
298
+ }
299
+ }
300
+ if (kind === 'video') {
301
+ try {
302
+ await room.localParticipant.setCameraEnabled(startWithCameraOn);
303
+ } catch (error) {
304
+ if (!current.disposed) {
305
+ emit({
306
+ cameraOn: false,
307
+ deviceError: humanizeDeviceError(error)
308
+ });
309
+ }
310
+ }
311
+ }
312
+ if (current.disposed) {
313
+ return;
314
+ }
315
+ try {
316
+ await AudioSession.setAppleAudioConfiguration?.({
317
+ audioCategory: 'playAndRecord',
318
+ audioCategoryOptions: kind === 'video' ? ['defaultToSpeaker'] : [],
319
+ audioMode: kind === 'video' ? 'videoChat' : 'voiceChat'
320
+ });
321
+ } catch {
322
+ // iOS-only helper.
323
+ }
324
+ emit({
325
+ connected: true
326
+ });
327
+ resync();
328
+ store.dispatch(setCallPhase('in-call'));
329
+ })();
330
+ };
331
+
332
+ // ---- controls -----------------------------------------------------------
333
+
334
+ export const toggleCallMic = async () => {
335
+ const current = session;
336
+ if (!current) {
337
+ return;
338
+ }
339
+ const next = !snapshot.micOn;
340
+ emit({
341
+ micOn: next
342
+ });
343
+ try {
344
+ await current.room.localParticipant.setMicrophoneEnabled(next);
345
+ } catch (error) {
346
+ if (!current.disposed) {
347
+ emit({
348
+ micOn: !next,
349
+ deviceError: humanizeDeviceError(error)
350
+ });
351
+ }
352
+ }
353
+ };
354
+ export const toggleCallCamera = async () => {
355
+ const current = session;
356
+ if (!current) {
357
+ return;
358
+ }
359
+ const next = !snapshot.cameraOn;
360
+ emit({
361
+ cameraOn: next
362
+ });
363
+ try {
364
+ await current.room.localParticipant.setCameraEnabled(next);
365
+ resync();
366
+ } catch (error) {
367
+ if (!current.disposed) {
368
+ emit({
369
+ cameraOn: !next,
370
+ deviceError: humanizeDeviceError(error)
371
+ });
372
+ }
373
+ }
374
+ };
375
+ export const switchCallCamera = async () => {
376
+ const current = session;
377
+ const runtime = loadLiveKit();
378
+ if (!current || !runtime) {
379
+ return;
380
+ }
381
+ const mediaTrack = current.room.localParticipant.getTrackPublication?.(runtime.Track.Source.Camera)?.track?.mediaStreamTrack;
382
+ if (!mediaTrack?.applyConstraints) {
383
+ return;
384
+ }
385
+ const next = snapshot.facingMode === 'user' ? 'environment' : 'user';
386
+ try {
387
+ // Swap the capture device inside the SAME track (react-native-webrtc's
388
+ // own camera switch). `restartTrack` stopped the published track and
389
+ // made a new one, and the native view kept showing the stopped stream:
390
+ // the picture froze on the switch.
391
+ // Keep the current capture settings (resolution, frame rate) and only
392
+ // flip the camera, exactly like the library's `_switchCamera`.
393
+ const constraints = {
394
+ ...(mediaTrack.getSettings?.() || {})
395
+ };
396
+ delete constraints.deviceId;
397
+ await mediaTrack.applyConstraints({
398
+ ...constraints,
399
+ facingMode: next
400
+ });
401
+ if (!current.disposed) {
402
+ emit({
403
+ facingMode: next
404
+ });
405
+ }
406
+ resync();
407
+ } catch {
408
+ // Single camera, or the switch is still in flight.
409
+ }
410
+ };
411
+ export const toggleCallSpeaker = async () => {
412
+ const runtime = loadLiveKit();
413
+ if (!session || !runtime) {
414
+ return;
415
+ }
416
+ const next = !snapshot.speakerOn;
417
+ emit({
418
+ speakerOn: next
419
+ });
420
+ try {
421
+ if (Platform.OS === 'android') {
422
+ // On Android `selectAudioOutput` device ids are the literal strings
423
+ // 'speaker' / 'earpiece'.
424
+ await runtime.AudioSession.selectAudioOutput(next ? 'speaker' : 'earpiece');
425
+ } else {
426
+ await runtime.AudioSession.setAppleAudioConfiguration?.({
427
+ audioCategory: 'playAndRecord',
428
+ audioCategoryOptions: next ? ['defaultToSpeaker'] : [],
429
+ audioMode: next ? 'videoChat' : 'voiceChat'
430
+ });
431
+ }
432
+ } catch {
433
+ emit({
434
+ speakerOn: !next
435
+ });
436
+ }
437
+ };
438
+ export const dismissCallDeviceError = () => {
439
+ emit({
440
+ deviceError: null
441
+ });
442
+ };
443
+
444
+ /** Reset module state. Test seam only. */
445
+ export const __resetCallSessionForTests = () => {
446
+ stopCallSession();
447
+ storeUnsubscribe?.();
448
+ storeUnsubscribe = null;
449
+ };
450
+ //# sourceMappingURL=callSessionController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useSyncExternalStore","Platform","store","setCallError","setCallPhase","ensureLiveKitGlobals","loadLiveKit","terminateActiveCall","translateCallString","IDLE","active","connected","deviceError","micOn","cameraOn","speakerOn","facingMode","remoteVideo","localVideo","remoteName","remoteJoined","remoteMicMuted","anchorAt","session","snapshot","listeners","Set","storeUnsubscribe","emit","patch","forEach","listener","subscribe","add","delete","getSnapshot","useCallSession","sessionKey","livekitUrl","token","humanizeDeviceError","error","name","text","String","message","toLowerCase","includes","liveVideoRef","participant","Track","publication","getTrackPublication","Source","Camera","track","isMuted","source","joinedAtMs","value","joinedAt","ms","Date","getTime","Number","isFinite","resync","current","runtime","disposed","room","remote","Array","from","remoteParticipants","values","everJoined","remoteMic","Microphone","localJoined","localParticipant","remoteJoinedAt","identity","Math","max","now","stopCallSession","removeAllListeners","disconnect","AudioSession","stopAudioSession","ensureStoreWatcher","call","getState","live","phase","key","endsWith","startCallSession","kind","startWithMicOn","startWithCameraOn","dispatch","Room","RoomEvent","VideoPresets","adaptiveStream","pixelDensity","dynacast","publishDefaults","videoSimulcastLayers","h540","h216","videoCaptureDefaults","resolution","h720","onChange","on","TrackSubscribed","TrackUnsubscribed","TrackPublished","TrackUnpublished","LocalTrackPublished","LocalTrackUnpublished","TrackMuted","TrackUnmuted","ParticipantConnected","MediaDevicesError","ParticipantDisconnected","size","Disconnected","startAudioSession","connect","setMicrophoneEnabled","setCameraEnabled","setAppleAudioConfiguration","audioCategory","audioCategoryOptions","audioMode","toggleCallMic","next","toggleCallCamera","switchCallCamera","mediaTrack","mediaStreamTrack","applyConstraints","constraints","getSettings","deviceId","toggleCallSpeaker","OS","selectAudioOutput","dismissCallDeviceError","__resetCallSessionForTests"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/callSessionController.ts"],"mappings":"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","ignoreList":[]}