@ethora/chat-component-rn 26.10.9 → 26.10.11

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 (608) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +126 -1
  3. package/lib/commonjs/booking/index.js +44 -0
  4. package/lib/commonjs/booking/index.js.map +1 -0
  5. package/lib/commonjs/booking/pendingScheduledCall.js +275 -0
  6. package/lib/commonjs/booking/pendingScheduledCall.js.map +1 -0
  7. package/lib/commonjs/booking/scheduleForm.js +91 -0
  8. package/lib/commonjs/booking/scheduleForm.js.map +1 -0
  9. package/lib/commonjs/booking/scheduledCall.js +141 -0
  10. package/lib/commonjs/booking/scheduledCall.js.map +1 -0
  11. package/lib/commonjs/booking/scheduledCallActions.js +128 -0
  12. package/lib/commonjs/booking/scheduledCallActions.js.map +1 -0
  13. package/lib/commonjs/booking/scheduledCallLink.js +143 -0
  14. package/lib/commonjs/booking/scheduledCallLink.js.map +1 -0
  15. package/lib/commonjs/booking/scheduledCallStore.js +64 -0
  16. package/lib/commonjs/booking/scheduledCallStore.js.map +1 -0
  17. package/lib/commonjs/booking/startRoomCall.js +84 -0
  18. package/lib/commonjs/booking/startRoomCall.js.map +1 -0
  19. package/lib/commonjs/calls/callBusy.js +18 -0
  20. package/lib/commonjs/calls/callBusy.js.map +1 -0
  21. package/lib/commonjs/calls/callDisplay.js +73 -0
  22. package/lib/commonjs/calls/callDisplay.js.map +1 -0
  23. package/lib/commonjs/calls/callMode.js +175 -0
  24. package/lib/commonjs/calls/callMode.js.map +1 -0
  25. package/lib/commonjs/calls/declineReport.js +20 -0
  26. package/lib/commonjs/calls/declineReport.js.map +1 -0
  27. package/lib/commonjs/calls/p2p/P2PCallController.js +724 -0
  28. package/lib/commonjs/calls/p2p/P2PCallController.js.map +1 -0
  29. package/lib/commonjs/calls/p2p/icePolicy.js +107 -0
  30. package/lib/commonjs/calls/p2p/icePolicy.js.map +1 -0
  31. package/lib/commonjs/calls/p2p/negotiator.js +202 -0
  32. package/lib/commonjs/calls/p2p/negotiator.js.map +1 -0
  33. package/lib/commonjs/calls/p2p/p2pRuntime.js +147 -0
  34. package/lib/commonjs/calls/p2p/p2pRuntime.js.map +1 -0
  35. package/lib/commonjs/calls/p2p/signalInbox.js +98 -0
  36. package/lib/commonjs/calls/p2p/signalInbox.js.map +1 -0
  37. package/lib/commonjs/calls/p2p/signalStanza.js +141 -0
  38. package/lib/commonjs/calls/p2p/signalStanza.js.map +1 -0
  39. package/lib/commonjs/calls/p2p/webrtcRuntime.js +53 -0
  40. package/lib/commonjs/calls/p2p/webrtcRuntime.js.map +1 -0
  41. package/lib/commonjs/calls/senderTrust.js +43 -0
  42. package/lib/commonjs/calls/senderTrust.js.map +1 -0
  43. package/lib/commonjs/calls/startCall.js +51 -0
  44. package/lib/commonjs/calls/startCall.js.map +1 -0
  45. package/lib/commonjs/components/Booking/BookingIcons.js +55 -0
  46. package/lib/commonjs/components/Booking/BookingIcons.js.map +1 -0
  47. package/lib/commonjs/components/Booking/ScheduleCallButton.js +64 -0
  48. package/lib/commonjs/components/Booking/ScheduleCallButton.js.map +1 -0
  49. package/lib/commonjs/components/Booking/ScheduleCallSheet.js +351 -0
  50. package/lib/commonjs/components/Booking/ScheduleCallSheet.js.map +1 -0
  51. package/lib/commonjs/components/Booking/ScheduledCallCard.js +203 -0
  52. package/lib/commonjs/components/Booking/ScheduledCallCard.js.map +1 -0
  53. package/lib/commonjs/components/Booking/ScheduledCallHost.js +23 -0
  54. package/lib/commonjs/components/Booking/ScheduledCallHost.js.map +1 -0
  55. package/lib/commonjs/components/Booking/ScheduledCallMessage.js +55 -0
  56. package/lib/commonjs/components/Booking/ScheduledCallMessage.js.map +1 -0
  57. package/lib/commonjs/components/Booking/ScheduledCallPreJoin.js +235 -0
  58. package/lib/commonjs/components/Booking/ScheduledCallPreJoin.js.map +1 -0
  59. package/lib/commonjs/components/Booking/bookingShared.js +305 -0
  60. package/lib/commonjs/components/Booking/bookingShared.js.map +1 -0
  61. package/lib/commonjs/components/MainComponents/AlbumGrid.js +6 -2
  62. package/lib/commonjs/components/MainComponents/AlbumGrid.js.map +1 -1
  63. package/lib/commonjs/components/MainComponents/ChatHeader.js +18 -12
  64. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  65. package/lib/commonjs/components/MainComponents/LanguageSelectorButton.js +5 -2
  66. package/lib/commonjs/components/MainComponents/LanguageSelectorButton.js.map +1 -1
  67. package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js +6 -3
  68. package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js.map +1 -1
  69. package/lib/commonjs/components/MainComponents/MediaMessage.js +13 -0
  70. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  71. package/lib/commonjs/components/MainComponents/MessageContainer.js +13 -0
  72. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  73. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +10 -0
  74. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  75. package/lib/commonjs/components/MainComponents/RoomList.js +7 -16
  76. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  77. package/lib/commonjs/components/MessageBubble/Message.js +27 -1
  78. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  79. package/lib/commonjs/components/Modals/ChatProfileModal/ChatMediaGrid.js +159 -0
  80. package/lib/commonjs/components/Modals/ChatProfileModal/ChatMediaGrid.js.map +1 -0
  81. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +203 -134
  82. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  83. package/lib/commonjs/components/Modals/ChatProfileModal/LeaveChatModal.js +180 -0
  84. package/lib/commonjs/components/Modals/ChatProfileModal/LeaveChatModal.js.map +1 -0
  85. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +19 -15
  86. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -1
  87. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +100 -162
  88. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  89. package/lib/commonjs/components/Modals/FilePreviewModal/MediaViewer.js +824 -0
  90. package/lib/commonjs/components/Modals/FilePreviewModal/MediaViewer.js.map +1 -0
  91. package/lib/commonjs/components/Modals/FilePreviewModal/useSaveFile.js +179 -0
  92. package/lib/commonjs/components/Modals/FilePreviewModal/useSaveFile.js.map +1 -0
  93. package/lib/commonjs/components/Modals/MessageSearchModal/MessageSearchModal.js +22 -5
  94. package/lib/commonjs/components/Modals/MessageSearchModal/MessageSearchModal.js.map +1 -1
  95. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +15 -8
  96. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  97. package/lib/commonjs/components/Modals/UserSettingsModal/LanguageCard.js +1 -1
  98. package/lib/commonjs/components/Modals/UserSettingsModal/LanguageCard.js.map +1 -1
  99. package/lib/commonjs/components/VideoCalls/ActiveCallBar.js +3 -2
  100. package/lib/commonjs/components/VideoCalls/ActiveCallBar.js.map +1 -1
  101. package/lib/commonjs/components/VideoCalls/CallButtons.js +19 -11
  102. package/lib/commonjs/components/VideoCalls/CallButtons.js.map +1 -1
  103. package/lib/commonjs/components/VideoCalls/CallControlBar.js +119 -0
  104. package/lib/commonjs/components/VideoCalls/CallControlBar.js.map +1 -0
  105. package/lib/commonjs/components/VideoCalls/CallVideo.js +49 -0
  106. package/lib/commonjs/components/VideoCalls/CallVideo.js.map +1 -0
  107. package/lib/commonjs/components/VideoCalls/GroupCallView.js +281 -0
  108. package/lib/commonjs/components/VideoCalls/GroupCallView.js.map +1 -0
  109. package/lib/commonjs/components/VideoCalls/P2PCallRunner.js +151 -0
  110. package/lib/commonjs/components/VideoCalls/P2PCallRunner.js.map +1 -0
  111. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js +38 -14
  112. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  113. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +57 -128
  114. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
  115. package/lib/commonjs/components/VideoCalls/callActions.js +3 -0
  116. package/lib/commonjs/components/VideoCalls/callActions.js.map +1 -1
  117. package/lib/commonjs/components/VideoCalls/callElapsed.js +38 -0
  118. package/lib/commonjs/components/VideoCalls/callElapsed.js.map +1 -0
  119. package/lib/commonjs/components/VideoCalls/callLive.js +15 -0
  120. package/lib/commonjs/components/VideoCalls/callLive.js.map +1 -0
  121. package/lib/commonjs/components/VideoCalls/callSessionController.js +81 -24
  122. package/lib/commonjs/components/VideoCalls/callSessionController.js.map +1 -1
  123. package/lib/commonjs/components/VideoCalls/callSessionTypes.js +41 -0
  124. package/lib/commonjs/components/VideoCalls/callSessionTypes.js.map +1 -0
  125. package/lib/commonjs/components/VideoCalls/groupLayout.js +43 -0
  126. package/lib/commonjs/components/VideoCalls/groupLayout.js.map +1 -0
  127. package/lib/commonjs/components/VideoCalls/p2pCallSession.js +272 -0
  128. package/lib/commonjs/components/VideoCalls/p2pCallSession.js.map +1 -0
  129. package/lib/commonjs/components/VideoCalls/useCallKeep.js +7 -2
  130. package/lib/commonjs/components/VideoCalls/useCallKeep.js.map +1 -1
  131. package/lib/commonjs/components/VideoCalls/useOngoingCallNotification.js +2 -1
  132. package/lib/commonjs/components/VideoCalls/useOngoingCallNotification.js.map +1 -1
  133. package/lib/commonjs/components/styled/MessageImage.js +4 -1
  134. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  135. package/lib/commonjs/components/styled/VideoMessage.js +5 -1
  136. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  137. package/lib/commonjs/context/MediaSourceContext.js +18 -0
  138. package/lib/commonjs/context/MediaSourceContext.js.map +1 -0
  139. package/lib/commonjs/context/xmppProvider.js +2 -1
  140. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  141. package/lib/commonjs/helpers/callPush.js +3 -1
  142. package/lib/commonjs/helpers/callPush.js.map +1 -1
  143. package/lib/commonjs/helpers/constants/MODAL_COMPONENTS.js +3 -1
  144. package/lib/commonjs/helpers/constants/MODAL_COMPONENTS.js.map +1 -1
  145. package/lib/commonjs/helpers/constants/MODAL_TYPES.js +2 -0
  146. package/lib/commonjs/helpers/constants/MODAL_TYPES.js.map +1 -1
  147. package/lib/commonjs/helpers/incomingCallFromPush.js +63 -7
  148. package/lib/commonjs/helpers/incomingCallFromPush.js.map +1 -1
  149. package/lib/commonjs/helpers/publicChatsEntry.js +8 -6
  150. package/lib/commonjs/helpers/publicChatsEntry.js.map +1 -1
  151. package/lib/commonjs/helpers/pushPayload.js +5 -0
  152. package/lib/commonjs/helpers/pushPayload.js.map +1 -1
  153. package/lib/commonjs/helpers/reportRoom.js +76 -0
  154. package/lib/commonjs/helpers/reportRoom.js.map +1 -0
  155. package/lib/commonjs/helpers/roomMedia.js +118 -0
  156. package/lib/commonjs/helpers/roomMedia.js.map +1 -0
  157. package/lib/commonjs/i18n/strings.js +480 -0
  158. package/lib/commonjs/i18n/strings.js.map +1 -1
  159. package/lib/commonjs/main.js +93 -0
  160. package/lib/commonjs/main.js.map +1 -1
  161. package/lib/commonjs/networking/api-requests/callState.api.js +75 -0
  162. package/lib/commonjs/networking/api-requests/callState.api.js.map +1 -0
  163. package/lib/commonjs/networking/api-requests/push.api.js +29 -6
  164. package/lib/commonjs/networking/api-requests/push.api.js.map +1 -1
  165. package/lib/commonjs/networking/api-requests/rooms.api.js +17 -15
  166. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  167. package/lib/commonjs/networking/api-requests/scheduledCalls.api.js +141 -0
  168. package/lib/commonjs/networking/api-requests/scheduledCalls.api.js.map +1 -0
  169. package/lib/commonjs/networking/callTokenStanza.js +210 -50
  170. package/lib/commonjs/networking/callTokenStanza.js.map +1 -1
  171. package/lib/commonjs/roomStore/callSlice.js +59 -4
  172. package/lib/commonjs/roomStore/callSlice.js.map +1 -1
  173. package/lib/commonjs/services/appBadge.js +80 -0
  174. package/lib/commonjs/services/appBadge.js.map +1 -0
  175. package/lib/commonjs/services/languageSettings.js +47 -15
  176. package/lib/commonjs/services/languageSettings.js.map +1 -1
  177. package/lib/commonjs/services/pushRegistration.js +21 -5
  178. package/lib/commonjs/services/pushRegistration.js.map +1 -1
  179. package/lib/commonjs/version.js +1 -1
  180. package/lib/commonjs/version.js.map +1 -1
  181. package/lib/module/booking/index.js +5 -0
  182. package/lib/module/booking/index.js.map +1 -0
  183. package/lib/module/booking/pendingScheduledCall.js +261 -0
  184. package/lib/module/booking/pendingScheduledCall.js.map +1 -0
  185. package/lib/module/booking/scheduleForm.js +79 -0
  186. package/lib/module/booking/scheduleForm.js.map +1 -0
  187. package/lib/module/booking/scheduledCall.js +129 -0
  188. package/lib/module/booking/scheduledCall.js.map +1 -0
  189. package/lib/module/booking/scheduledCallActions.js +118 -0
  190. package/lib/module/booking/scheduledCallActions.js.map +1 -0
  191. package/lib/module/booking/scheduledCallLink.js +136 -0
  192. package/lib/module/booking/scheduledCallLink.js.map +1 -0
  193. package/lib/module/booking/scheduledCallStore.js +60 -0
  194. package/lib/module/booking/scheduledCallStore.js.map +1 -0
  195. package/lib/module/booking/startRoomCall.js +80 -0
  196. package/lib/module/booking/startRoomCall.js.map +1 -0
  197. package/lib/module/calls/callBusy.js +13 -0
  198. package/lib/module/calls/callBusy.js.map +1 -0
  199. package/lib/module/calls/callDisplay.js +65 -0
  200. package/lib/module/calls/callDisplay.js.map +1 -0
  201. package/lib/module/calls/callMode.js +168 -0
  202. package/lib/module/calls/callMode.js.map +1 -0
  203. package/lib/module/calls/declineReport.js +16 -0
  204. package/lib/module/calls/declineReport.js.map +1 -0
  205. package/lib/module/calls/p2p/P2PCallController.js +718 -0
  206. package/lib/module/calls/p2p/P2PCallController.js.map +1 -0
  207. package/lib/module/calls/p2p/icePolicy.js +102 -0
  208. package/lib/module/calls/p2p/icePolicy.js.map +1 -0
  209. package/lib/module/calls/p2p/negotiator.js +197 -0
  210. package/lib/module/calls/p2p/negotiator.js.map +1 -0
  211. package/lib/module/calls/p2p/p2pRuntime.js +137 -0
  212. package/lib/module/calls/p2p/p2pRuntime.js.map +1 -0
  213. package/lib/module/calls/p2p/signalInbox.js +93 -0
  214. package/lib/module/calls/p2p/signalInbox.js.map +1 -0
  215. package/lib/module/calls/p2p/signalStanza.js +135 -0
  216. package/lib/module/calls/p2p/signalStanza.js.map +1 -0
  217. package/lib/module/calls/p2p/webrtcRuntime.js +46 -0
  218. package/lib/module/calls/p2p/webrtcRuntime.js.map +1 -0
  219. package/lib/module/calls/senderTrust.js +38 -0
  220. package/lib/module/calls/senderTrust.js.map +1 -0
  221. package/lib/module/calls/startCall.js +47 -0
  222. package/lib/module/calls/startCall.js.map +1 -0
  223. package/lib/module/components/Booking/BookingIcons.js +48 -0
  224. package/lib/module/components/Booking/BookingIcons.js.map +1 -0
  225. package/lib/module/components/Booking/ScheduleCallButton.js +59 -0
  226. package/lib/module/components/Booking/ScheduleCallButton.js.map +1 -0
  227. package/lib/module/components/Booking/ScheduleCallSheet.js +345 -0
  228. package/lib/module/components/Booking/ScheduleCallSheet.js.map +1 -0
  229. package/lib/module/components/Booking/ScheduledCallCard.js +197 -0
  230. package/lib/module/components/Booking/ScheduledCallCard.js.map +1 -0
  231. package/lib/module/components/Booking/ScheduledCallHost.js +18 -0
  232. package/lib/module/components/Booking/ScheduledCallHost.js.map +1 -0
  233. package/lib/module/components/Booking/ScheduledCallMessage.js +48 -0
  234. package/lib/module/components/Booking/ScheduledCallMessage.js.map +1 -0
  235. package/lib/module/components/Booking/ScheduledCallPreJoin.js +229 -0
  236. package/lib/module/components/Booking/ScheduledCallPreJoin.js.map +1 -0
  237. package/lib/module/components/Booking/bookingShared.js +291 -0
  238. package/lib/module/components/Booking/bookingShared.js.map +1 -0
  239. package/lib/module/components/MainComponents/AlbumGrid.js +6 -2
  240. package/lib/module/components/MainComponents/AlbumGrid.js.map +1 -1
  241. package/lib/module/components/MainComponents/ChatHeader.js +20 -14
  242. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  243. package/lib/module/components/MainComponents/LanguageSelectorButton.js +5 -2
  244. package/lib/module/components/MainComponents/LanguageSelectorButton.js.map +1 -1
  245. package/lib/module/components/MainComponents/LanguageSelectorModal.js +7 -4
  246. package/lib/module/components/MainComponents/LanguageSelectorModal.js.map +1 -1
  247. package/lib/module/components/MainComponents/MediaMessage.js +13 -0
  248. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  249. package/lib/module/components/MainComponents/MessageContainer.js +13 -0
  250. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  251. package/lib/module/components/MainComponents/ReduxWrapper.js +10 -0
  252. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  253. package/lib/module/components/MainComponents/RoomList.js +7 -16
  254. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  255. package/lib/module/components/MessageBubble/Message.js +27 -1
  256. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  257. package/lib/module/components/Modals/ChatProfileModal/ChatMediaGrid.js +154 -0
  258. package/lib/module/components/Modals/ChatProfileModal/ChatMediaGrid.js.map +1 -0
  259. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +204 -136
  260. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  261. package/lib/module/components/Modals/ChatProfileModal/LeaveChatModal.js +175 -0
  262. package/lib/module/components/Modals/ChatProfileModal/LeaveChatModal.js.map +1 -0
  263. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +21 -15
  264. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -1
  265. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +100 -163
  266. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  267. package/lib/module/components/Modals/FilePreviewModal/MediaViewer.js +819 -0
  268. package/lib/module/components/Modals/FilePreviewModal/MediaViewer.js.map +1 -0
  269. package/lib/module/components/Modals/FilePreviewModal/useSaveFile.js +172 -0
  270. package/lib/module/components/Modals/FilePreviewModal/useSaveFile.js.map +1 -0
  271. package/lib/module/components/Modals/MessageSearchModal/MessageSearchModal.js +20 -4
  272. package/lib/module/components/Modals/MessageSearchModal/MessageSearchModal.js.map +1 -1
  273. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +17 -10
  274. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  275. package/lib/module/components/Modals/UserSettingsModal/LanguageCard.js +1 -1
  276. package/lib/module/components/Modals/UserSettingsModal/LanguageCard.js.map +1 -1
  277. package/lib/module/components/VideoCalls/ActiveCallBar.js +3 -2
  278. package/lib/module/components/VideoCalls/ActiveCallBar.js.map +1 -1
  279. package/lib/module/components/VideoCalls/CallButtons.js +19 -11
  280. package/lib/module/components/VideoCalls/CallButtons.js.map +1 -1
  281. package/lib/module/components/VideoCalls/CallControlBar.js +113 -0
  282. package/lib/module/components/VideoCalls/CallControlBar.js.map +1 -0
  283. package/lib/module/components/VideoCalls/CallVideo.js +43 -0
  284. package/lib/module/components/VideoCalls/CallVideo.js.map +1 -0
  285. package/lib/module/components/VideoCalls/GroupCallView.js +275 -0
  286. package/lib/module/components/VideoCalls/GroupCallView.js.map +1 -0
  287. package/lib/module/components/VideoCalls/P2PCallRunner.js +147 -0
  288. package/lib/module/components/VideoCalls/P2PCallRunner.js.map +1 -0
  289. package/lib/module/components/VideoCalls/VideoCallOverlay.js +38 -14
  290. package/lib/module/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  291. package/lib/module/components/VideoCalls/VideoCallSession.js +46 -127
  292. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
  293. package/lib/module/components/VideoCalls/callActions.js +3 -0
  294. package/lib/module/components/VideoCalls/callActions.js.map +1 -1
  295. package/lib/module/components/VideoCalls/callElapsed.js +33 -0
  296. package/lib/module/components/VideoCalls/callElapsed.js.map +1 -0
  297. package/lib/module/components/VideoCalls/callLive.js +10 -0
  298. package/lib/module/components/VideoCalls/callLive.js.map +1 -0
  299. package/lib/module/components/VideoCalls/callSessionController.js +80 -24
  300. package/lib/module/components/VideoCalls/callSessionController.js.map +1 -1
  301. package/lib/module/components/VideoCalls/callSessionTypes.js +37 -0
  302. package/lib/module/components/VideoCalls/callSessionTypes.js.map +1 -0
  303. package/lib/module/components/VideoCalls/groupLayout.js +36 -0
  304. package/lib/module/components/VideoCalls/groupLayout.js.map +1 -0
  305. package/lib/module/components/VideoCalls/p2pCallSession.js +256 -0
  306. package/lib/module/components/VideoCalls/p2pCallSession.js.map +1 -0
  307. package/lib/module/components/VideoCalls/useCallKeep.js +8 -2
  308. package/lib/module/components/VideoCalls/useCallKeep.js.map +1 -1
  309. package/lib/module/components/VideoCalls/useOngoingCallNotification.js +2 -1
  310. package/lib/module/components/VideoCalls/useOngoingCallNotification.js.map +1 -1
  311. package/lib/module/components/styled/MessageImage.js +4 -1
  312. package/lib/module/components/styled/MessageImage.js.map +1 -1
  313. package/lib/module/components/styled/VideoMessage.js +5 -1
  314. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  315. package/lib/module/context/MediaSourceContext.js +13 -0
  316. package/lib/module/context/MediaSourceContext.js.map +1 -0
  317. package/lib/module/context/xmppProvider.js +2 -1
  318. package/lib/module/context/xmppProvider.js.map +1 -1
  319. package/lib/module/helpers/callPush.js +3 -1
  320. package/lib/module/helpers/callPush.js.map +1 -1
  321. package/lib/module/helpers/constants/MODAL_COMPONENTS.js +2 -1
  322. package/lib/module/helpers/constants/MODAL_COMPONENTS.js.map +1 -1
  323. package/lib/module/helpers/constants/MODAL_TYPES.js +2 -0
  324. package/lib/module/helpers/constants/MODAL_TYPES.js.map +1 -1
  325. package/lib/module/helpers/incomingCallFromPush.js +63 -7
  326. package/lib/module/helpers/incomingCallFromPush.js.map +1 -1
  327. package/lib/module/helpers/publicChatsEntry.js +8 -6
  328. package/lib/module/helpers/publicChatsEntry.js.map +1 -1
  329. package/lib/module/helpers/pushPayload.js +5 -0
  330. package/lib/module/helpers/pushPayload.js.map +1 -1
  331. package/lib/module/helpers/reportRoom.js +70 -0
  332. package/lib/module/helpers/reportRoom.js.map +1 -0
  333. package/lib/module/helpers/roomMedia.js +112 -0
  334. package/lib/module/helpers/roomMedia.js.map +1 -0
  335. package/lib/module/i18n/strings.js +480 -0
  336. package/lib/module/i18n/strings.js.map +1 -1
  337. package/lib/module/main.js +5 -0
  338. package/lib/module/main.js.map +1 -1
  339. package/lib/module/networking/api-requests/callState.api.js +66 -0
  340. package/lib/module/networking/api-requests/callState.api.js.map +1 -0
  341. package/lib/module/networking/api-requests/push.api.js +29 -6
  342. package/lib/module/networking/api-requests/push.api.js.map +1 -1
  343. package/lib/module/networking/api-requests/rooms.api.js +17 -15
  344. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  345. package/lib/module/networking/api-requests/scheduledCalls.api.js +130 -0
  346. package/lib/module/networking/api-requests/scheduledCalls.api.js.map +1 -0
  347. package/lib/module/networking/callTokenStanza.js +210 -50
  348. package/lib/module/networking/callTokenStanza.js.map +1 -1
  349. package/lib/module/roomStore/callSlice.js +57 -3
  350. package/lib/module/roomStore/callSlice.js.map +1 -1
  351. package/lib/module/services/appBadge.js +74 -0
  352. package/lib/module/services/appBadge.js.map +1 -0
  353. package/lib/module/services/languageSettings.js +44 -13
  354. package/lib/module/services/languageSettings.js.map +1 -1
  355. package/lib/module/services/pushRegistration.js +21 -5
  356. package/lib/module/services/pushRegistration.js.map +1 -1
  357. package/lib/module/version.js +1 -1
  358. package/lib/module/version.js.map +1 -1
  359. package/lib/typescript/booking/index.d.ts +3 -0
  360. package/lib/typescript/booking/index.d.ts.map +1 -0
  361. package/lib/typescript/booking/pendingScheduledCall.d.ts +80 -0
  362. package/lib/typescript/booking/pendingScheduledCall.d.ts.map +1 -0
  363. package/lib/typescript/booking/scheduleForm.d.ts +28 -0
  364. package/lib/typescript/booking/scheduleForm.d.ts.map +1 -0
  365. package/lib/typescript/booking/scheduledCall.d.ts +52 -0
  366. package/lib/typescript/booking/scheduledCall.d.ts.map +1 -0
  367. package/lib/typescript/booking/scheduledCallActions.d.ts +22 -0
  368. package/lib/typescript/booking/scheduledCallActions.d.ts.map +1 -0
  369. package/lib/typescript/booking/scheduledCallLink.d.ts +37 -0
  370. package/lib/typescript/booking/scheduledCallLink.d.ts.map +1 -0
  371. package/lib/typescript/booking/scheduledCallStore.d.ts +47 -0
  372. package/lib/typescript/booking/scheduledCallStore.d.ts.map +1 -0
  373. package/lib/typescript/booking/startRoomCall.d.ts +12 -0
  374. package/lib/typescript/booking/startRoomCall.d.ts.map +1 -0
  375. package/lib/typescript/calls/callBusy.d.ts +9 -0
  376. package/lib/typescript/calls/callBusy.d.ts.map +1 -0
  377. package/lib/typescript/calls/callDisplay.d.ts +23 -0
  378. package/lib/typescript/calls/callDisplay.d.ts.map +1 -0
  379. package/lib/typescript/calls/callMode.d.ts +106 -0
  380. package/lib/typescript/calls/callMode.d.ts.map +1 -0
  381. package/lib/typescript/calls/declineReport.d.ts +11 -0
  382. package/lib/typescript/calls/declineReport.d.ts.map +1 -0
  383. package/lib/typescript/calls/p2p/P2PCallController.d.ts +150 -0
  384. package/lib/typescript/calls/p2p/P2PCallController.d.ts.map +1 -0
  385. package/lib/typescript/calls/p2p/icePolicy.d.ts +37 -0
  386. package/lib/typescript/calls/p2p/icePolicy.d.ts.map +1 -0
  387. package/lib/typescript/calls/p2p/negotiator.d.ts +57 -0
  388. package/lib/typescript/calls/p2p/negotiator.d.ts.map +1 -0
  389. package/lib/typescript/calls/p2p/p2pRuntime.d.ts +41 -0
  390. package/lib/typescript/calls/p2p/p2pRuntime.d.ts.map +1 -0
  391. package/lib/typescript/calls/p2p/signalInbox.d.ts +35 -0
  392. package/lib/typescript/calls/p2p/signalInbox.d.ts.map +1 -0
  393. package/lib/typescript/calls/p2p/signalStanza.d.ts +52 -0
  394. package/lib/typescript/calls/p2p/signalStanza.d.ts.map +1 -0
  395. package/lib/typescript/calls/p2p/webrtcRuntime.d.ts +32 -0
  396. package/lib/typescript/calls/p2p/webrtcRuntime.d.ts.map +1 -0
  397. package/lib/typescript/calls/senderTrust.d.ts +8 -0
  398. package/lib/typescript/calls/senderTrust.d.ts.map +1 -0
  399. package/lib/typescript/calls/startCall.d.ts +17 -0
  400. package/lib/typescript/calls/startCall.d.ts.map +1 -0
  401. package/lib/typescript/components/Booking/BookingIcons.d.ts +9 -0
  402. package/lib/typescript/components/Booking/BookingIcons.d.ts.map +1 -0
  403. package/lib/typescript/components/Booking/ScheduleCallButton.d.ts +11 -0
  404. package/lib/typescript/components/Booking/ScheduleCallButton.d.ts.map +1 -0
  405. package/lib/typescript/components/Booking/ScheduleCallSheet.d.ts +4 -0
  406. package/lib/typescript/components/Booking/ScheduleCallSheet.d.ts.map +1 -0
  407. package/lib/typescript/components/Booking/ScheduledCallCard.d.ts +14 -0
  408. package/lib/typescript/components/Booking/ScheduledCallCard.d.ts.map +1 -0
  409. package/lib/typescript/components/Booking/ScheduledCallHost.d.ts +10 -0
  410. package/lib/typescript/components/Booking/ScheduledCallHost.d.ts.map +1 -0
  411. package/lib/typescript/components/Booking/ScheduledCallMessage.d.ts +20 -0
  412. package/lib/typescript/components/Booking/ScheduledCallMessage.d.ts.map +1 -0
  413. package/lib/typescript/components/Booking/ScheduledCallPreJoin.d.ts +8 -0
  414. package/lib/typescript/components/Booking/ScheduledCallPreJoin.d.ts.map +1 -0
  415. package/lib/typescript/components/Booking/bookingShared.d.ts +199 -0
  416. package/lib/typescript/components/Booking/bookingShared.d.ts.map +1 -0
  417. package/lib/typescript/components/MainComponents/AlbumGrid.d.ts.map +1 -1
  418. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  419. package/lib/typescript/components/MainComponents/LanguageSelectorButton.d.ts +3 -1
  420. package/lib/typescript/components/MainComponents/LanguageSelectorButton.d.ts.map +1 -1
  421. package/lib/typescript/components/MainComponents/LanguageSelectorModal.d.ts.map +1 -1
  422. package/lib/typescript/components/MainComponents/MediaMessage.d.ts +3 -1
  423. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  424. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  425. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  426. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  427. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  428. package/lib/typescript/components/Modals/ChatProfileModal/ChatMediaGrid.d.ts +16 -0
  429. package/lib/typescript/components/Modals/ChatProfileModal/ChatMediaGrid.d.ts.map +1 -0
  430. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  431. package/lib/typescript/components/Modals/ChatProfileModal/LeaveChatModal.d.ts +18 -0
  432. package/lib/typescript/components/Modals/ChatProfileModal/LeaveChatModal.d.ts.map +1 -0
  433. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -1
  434. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +16 -0
  435. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  436. package/lib/typescript/components/Modals/FilePreviewModal/MediaViewer.d.ts +27 -0
  437. package/lib/typescript/components/Modals/FilePreviewModal/MediaViewer.d.ts.map +1 -0
  438. package/lib/typescript/components/Modals/FilePreviewModal/useSaveFile.d.ts +9 -0
  439. package/lib/typescript/components/Modals/FilePreviewModal/useSaveFile.d.ts.map +1 -0
  440. package/lib/typescript/components/Modals/MessageSearchModal/MessageSearchModal.d.ts +8 -0
  441. package/lib/typescript/components/Modals/MessageSearchModal/MessageSearchModal.d.ts.map +1 -1
  442. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  443. package/lib/typescript/components/Modals/UserSettingsModal/LanguageCard.d.ts.map +1 -1
  444. package/lib/typescript/components/VideoCalls/ActiveCallBar.d.ts.map +1 -1
  445. package/lib/typescript/components/VideoCalls/CallButtons.d.ts +2 -1
  446. package/lib/typescript/components/VideoCalls/CallButtons.d.ts.map +1 -1
  447. package/lib/typescript/components/VideoCalls/CallControlBar.d.ts +17 -0
  448. package/lib/typescript/components/VideoCalls/CallControlBar.d.ts.map +1 -0
  449. package/lib/typescript/components/VideoCalls/CallVideo.d.ts +23 -0
  450. package/lib/typescript/components/VideoCalls/CallVideo.d.ts.map +1 -0
  451. package/lib/typescript/components/VideoCalls/GroupCallView.d.ts +22 -0
  452. package/lib/typescript/components/VideoCalls/GroupCallView.d.ts.map +1 -0
  453. package/lib/typescript/components/VideoCalls/P2PCallRunner.d.ts +2 -0
  454. package/lib/typescript/components/VideoCalls/P2PCallRunner.d.ts.map +1 -0
  455. package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts.map +1 -1
  456. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts +10 -12
  457. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
  458. package/lib/typescript/components/VideoCalls/callActions.d.ts.map +1 -1
  459. package/lib/typescript/components/VideoCalls/callElapsed.d.ts +8 -0
  460. package/lib/typescript/components/VideoCalls/callElapsed.d.ts.map +1 -0
  461. package/lib/typescript/components/VideoCalls/callLive.d.ts +9 -0
  462. package/lib/typescript/components/VideoCalls/callLive.d.ts.map +1 -0
  463. package/lib/typescript/components/VideoCalls/callSessionController.d.ts +10 -31
  464. package/lib/typescript/components/VideoCalls/callSessionController.d.ts.map +1 -1
  465. package/lib/typescript/components/VideoCalls/callSessionTypes.d.ts +60 -0
  466. package/lib/typescript/components/VideoCalls/callSessionTypes.d.ts.map +1 -0
  467. package/lib/typescript/components/VideoCalls/groupLayout.d.ts +23 -0
  468. package/lib/typescript/components/VideoCalls/groupLayout.d.ts.map +1 -0
  469. package/lib/typescript/components/VideoCalls/p2pCallSession.d.ts +31 -0
  470. package/lib/typescript/components/VideoCalls/p2pCallSession.d.ts.map +1 -0
  471. package/lib/typescript/components/VideoCalls/useCallKeep.d.ts.map +1 -1
  472. package/lib/typescript/components/VideoCalls/useOngoingCallNotification.d.ts.map +1 -1
  473. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  474. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  475. package/lib/typescript/context/MediaSourceContext.d.ts +4 -0
  476. package/lib/typescript/context/MediaSourceContext.d.ts.map +1 -0
  477. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  478. package/lib/typescript/helpers/callPush.d.ts +11 -1
  479. package/lib/typescript/helpers/callPush.d.ts.map +1 -1
  480. package/lib/typescript/helpers/constants/MODAL_COMPONENTS.d.ts.map +1 -1
  481. package/lib/typescript/helpers/constants/MODAL_TYPES.d.ts +2 -0
  482. package/lib/typescript/helpers/constants/MODAL_TYPES.d.ts.map +1 -1
  483. package/lib/typescript/helpers/incomingCallFromPush.d.ts.map +1 -1
  484. package/lib/typescript/helpers/publicChatsEntry.d.ts +7 -5
  485. package/lib/typescript/helpers/publicChatsEntry.d.ts.map +1 -1
  486. package/lib/typescript/helpers/pushPayload.d.ts +1 -1
  487. package/lib/typescript/helpers/pushPayload.d.ts.map +1 -1
  488. package/lib/typescript/helpers/reportRoom.d.ts +19 -0
  489. package/lib/typescript/helpers/reportRoom.d.ts.map +1 -0
  490. package/lib/typescript/helpers/roomMedia.d.ts +26 -0
  491. package/lib/typescript/helpers/roomMedia.d.ts.map +1 -0
  492. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  493. package/lib/typescript/main.d.ts +6 -1
  494. package/lib/typescript/main.d.ts.map +1 -1
  495. package/lib/typescript/networking/api-requests/callState.api.d.ts +25 -0
  496. package/lib/typescript/networking/api-requests/callState.api.d.ts.map +1 -0
  497. package/lib/typescript/networking/api-requests/push.api.d.ts +9 -2
  498. package/lib/typescript/networking/api-requests/push.api.d.ts.map +1 -1
  499. package/lib/typescript/networking/api-requests/rooms.api.d.ts +8 -6
  500. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  501. package/lib/typescript/networking/api-requests/scheduledCalls.api.d.ts +86 -0
  502. package/lib/typescript/networking/api-requests/scheduledCalls.api.d.ts.map +1 -0
  503. package/lib/typescript/networking/callTokenStanza.d.ts.map +1 -1
  504. package/lib/typescript/roomStore/callSlice.d.ts +23 -1
  505. package/lib/typescript/roomStore/callSlice.d.ts.map +1 -1
  506. package/lib/typescript/services/appBadge.d.ts +3 -0
  507. package/lib/typescript/services/appBadge.d.ts.map +1 -0
  508. package/lib/typescript/services/languageSettings.d.ts +7 -0
  509. package/lib/typescript/services/languageSettings.d.ts.map +1 -1
  510. package/lib/typescript/services/pushRegistration.d.ts.map +1 -1
  511. package/lib/typescript/types/models/modal.model.d.ts +18 -0
  512. package/lib/typescript/types/models/modal.model.d.ts.map +1 -1
  513. package/lib/typescript/types/types.d.ts +85 -4
  514. package/lib/typescript/types/types.d.ts.map +1 -1
  515. package/lib/typescript/version.d.ts +1 -1
  516. package/lib/typescript/version.d.ts.map +1 -1
  517. package/package.json +9 -2
  518. package/src/booking/index.ts +10 -0
  519. package/src/booking/pendingScheduledCall.ts +272 -0
  520. package/src/booking/scheduleForm.ts +84 -0
  521. package/src/booking/scheduledCall.ts +163 -0
  522. package/src/booking/scheduledCallActions.ts +141 -0
  523. package/src/booking/scheduledCallLink.ts +145 -0
  524. package/src/booking/scheduledCallStore.ts +69 -0
  525. package/src/booking/startRoomCall.ts +103 -0
  526. package/src/calls/callBusy.ts +10 -0
  527. package/src/calls/callDisplay.ts +74 -0
  528. package/src/calls/callMode.ts +286 -0
  529. package/src/calls/declineReport.ts +16 -0
  530. package/src/calls/p2p/P2PCallController.ts +813 -0
  531. package/src/calls/p2p/icePolicy.ts +99 -0
  532. package/src/calls/p2p/negotiator.ts +186 -0
  533. package/src/calls/p2p/p2pRuntime.ts +164 -0
  534. package/src/calls/p2p/signalInbox.ts +117 -0
  535. package/src/calls/p2p/signalStanza.ts +205 -0
  536. package/src/calls/p2p/webrtcRuntime.ts +60 -0
  537. package/src/calls/senderTrust.ts +40 -0
  538. package/src/calls/startCall.ts +56 -0
  539. package/src/components/Booking/BookingIcons.tsx +44 -0
  540. package/src/components/Booking/ScheduleCallButton.tsx +66 -0
  541. package/src/components/Booking/ScheduleCallSheet.tsx +380 -0
  542. package/src/components/Booking/ScheduledCallCard.tsx +216 -0
  543. package/src/components/Booking/ScheduledCallHost.tsx +18 -0
  544. package/src/components/Booking/ScheduledCallMessage.tsx +62 -0
  545. package/src/components/Booking/ScheduledCallPreJoin.tsx +230 -0
  546. package/src/components/Booking/bookingShared.tsx +295 -0
  547. package/src/components/MainComponents/AlbumGrid.tsx +5 -1
  548. package/src/components/MainComponents/ChatHeader.tsx +18 -11
  549. package/src/components/MainComponents/LanguageSelectorButton.tsx +9 -2
  550. package/src/components/MainComponents/LanguageSelectorModal.tsx +10 -6
  551. package/src/components/MainComponents/MediaMessage.tsx +13 -2
  552. package/src/components/MainComponents/MessageContainer.tsx +15 -0
  553. package/src/components/MainComponents/ReduxWrapper.tsx +10 -0
  554. package/src/components/MainComponents/RoomList.tsx +8 -19
  555. package/src/components/MessageBubble/Message.tsx +24 -1
  556. package/src/components/Modals/ChatProfileModal/ChatMediaGrid.tsx +174 -0
  557. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +119 -48
  558. package/src/components/Modals/ChatProfileModal/LeaveChatModal.tsx +191 -0
  559. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +22 -22
  560. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +115 -185
  561. package/src/components/Modals/FilePreviewModal/MediaViewer.tsx +880 -0
  562. package/src/components/Modals/FilePreviewModal/useSaveFile.ts +207 -0
  563. package/src/components/Modals/MessageSearchModal/MessageSearchModal.tsx +56 -30
  564. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +28 -9
  565. package/src/components/Modals/UserSettingsModal/LanguageCard.tsx +9 -7
  566. package/src/components/VideoCalls/ActiveCallBar.tsx +6 -5
  567. package/src/components/VideoCalls/CallButtons.tsx +23 -12
  568. package/src/components/VideoCalls/CallControlBar.tsx +131 -0
  569. package/src/components/VideoCalls/CallVideo.tsx +59 -0
  570. package/src/components/VideoCalls/GroupCallView.tsx +324 -0
  571. package/src/components/VideoCalls/P2PCallRunner.tsx +192 -0
  572. package/src/components/VideoCalls/VideoCallOverlay.tsx +62 -17
  573. package/src/components/VideoCalls/VideoCallSession.tsx +55 -133
  574. package/src/components/VideoCalls/callActions.ts +3 -0
  575. package/src/components/VideoCalls/callElapsed.ts +27 -0
  576. package/src/components/VideoCalls/callLive.ts +13 -0
  577. package/src/components/VideoCalls/callSessionController.ts +130 -55
  578. package/src/components/VideoCalls/callSessionTypes.ts +80 -0
  579. package/src/components/VideoCalls/groupLayout.ts +48 -0
  580. package/src/components/VideoCalls/p2pCallSession.ts +291 -0
  581. package/src/components/VideoCalls/useCallKeep.ts +9 -2
  582. package/src/components/VideoCalls/useOngoingCallNotification.ts +2 -2
  583. package/src/components/styled/MessageImage.tsx +3 -1
  584. package/src/components/styled/VideoMessage.tsx +5 -1
  585. package/src/context/MediaSourceContext.tsx +14 -0
  586. package/src/context/xmppProvider.tsx +3 -0
  587. package/src/helpers/callPush.ts +13 -1
  588. package/src/helpers/constants/MODAL_COMPONENTS.tsx +4 -1
  589. package/src/helpers/constants/MODAL_TYPES.ts +2 -0
  590. package/src/helpers/incomingCallFromPush.ts +65 -7
  591. package/src/helpers/publicChatsEntry.ts +8 -7
  592. package/src/helpers/pushPayload.ts +9 -1
  593. package/src/helpers/reportRoom.ts +93 -0
  594. package/src/helpers/roomMedia.ts +126 -0
  595. package/src/i18n/strings.ts +480 -0
  596. package/src/main.ts +33 -0
  597. package/src/networking/api-requests/callState.api.ts +83 -0
  598. package/src/networking/api-requests/push.api.ts +28 -3
  599. package/src/networking/api-requests/rooms.api.ts +25 -15
  600. package/src/networking/api-requests/scheduledCalls.api.ts +232 -0
  601. package/src/networking/callTokenStanza.ts +247 -50
  602. package/src/roomStore/callSlice.ts +86 -2
  603. package/src/services/appBadge.ts +85 -0
  604. package/src/services/languageSettings.ts +43 -8
  605. package/src/services/pushRegistration.ts +34 -3
  606. package/src/types/models/modal.model.ts +16 -0
  607. package/src/types/types.ts +86 -4
  608. package/src/version.ts +1 -1
@@ -8,6 +8,14 @@ var _client = require("@xmpp/client");
8
8
  var _roomStore = require("../roomStore");
9
9
  var _callSlice = require("../roomStore/callSlice");
10
10
  var _clientRegistry = require("../utils/clientRegistry");
11
+ var _callMode = require("../calls/callMode");
12
+ var _callBusy = require("../calls/callBusy");
13
+ var _senderTrust = require("../calls/senderTrust");
14
+ var _callDisplay = require("../calls/callDisplay");
15
+ var _signalStanza = require("../calls/p2p/signalStanza");
16
+ var _p2pRuntime = require("../calls/p2p/p2pRuntime");
17
+ var _webrtcRuntime = require("../calls/p2p/webrtcRuntime");
18
+ var _callState = require("./api-requests/callState.api");
11
19
  var _callLogMessage = require("../helpers/callLogMessage");
12
20
  var _devLogger = require("../utils/devLogger");
13
21
  // Backend currently doesn't propagate `kind` on the broadcast call-token
@@ -54,6 +62,30 @@ const consumeKindHint = keys => {
54
62
  };
55
63
  const MAX_CALL_TOKEN_AGE_MS = 5000;
56
64
 
65
+ // XMPP domain of this session (the client's own JID domain, else the host).
66
+ const sessionXmppDomain = () => {
67
+ const client = (0, _clientRegistry.getGlobalXmppClient)();
68
+ return String(client?.client?.jid?.getDomain?.() || client?.host || '');
69
+ };
70
+ const isTrueishAttr = value => {
71
+ const text = String(value ?? '').trim().toLowerCase();
72
+ return text === 'true' || text === '1';
73
+ };
74
+
75
+ // Display name of a user we only know by xmpp username (p2p tokens carry no
76
+ // JWT, so no caller name), from the enriched usersSet.
77
+ const lookupUserName = xmppUsername => {
78
+ if (!xmppUsername) {
79
+ return '';
80
+ }
81
+ const usersSet = _roomStore.store.getState().rooms.usersSet || {};
82
+ const user = usersSet[xmppUsername] || usersSet[xmppUsername.split('@')[0]];
83
+ if (!user) {
84
+ return '';
85
+ }
86
+ return `${user.firstName || ''} ${user.lastName || ''}`.trim() || String(user.name || '').trim();
87
+ };
88
+
57
89
  // Dev-only trace of call signalling: which `<data type="call-*">` frames
58
90
  // arrive and why a call-token was dropped. A dropped token is silent
59
91
  // otherwise: the caller sits on "Calling..." and the callee never rings.
@@ -276,15 +308,16 @@ const handleCallStateData = (data, fallbackRoomAttr) => {
276
308
  }
277
309
  const roomMatches = !!stanzaRoomAttr && (currentCall.roomJid === stanzaRoomAttr || currentCall.roomName === stanzaRoomAttr || currentCall.roomBareName === stanzaRoomAttr || (currentCall.roomJid || '').split('@')[0] === stanzaRoomAttr);
278
310
  const callIdMatches = !!stanzaCallId && !!currentCall.callId && currentCall.callId === stanzaCallId;
279
- if (stanzaCallId && currentCall.callId && !callIdMatches) {
280
- return;
281
- }
311
+ // A signal that names a DIFFERENT call than the one on screen (e.g. the
312
+ // server log of the previous call in the same room arriving late) must not
313
+ // tear down the current one just because the room matches.
314
+ const callIdConflicts = !!stanzaCallId && !!currentCall.callId && currentCall.callId !== stanzaCallId;
282
315
  const isTerminalState = state === 'ended' || state === 'declined' || state === 'cancelled' || state === 'canceled' || state === 'timeout' || state === 'rejected';
283
316
 
284
317
  // A server call-log (no explicit state, but with callId/duration) is
285
318
  // itself a "session concluded" signal.
286
319
  const isServerCallLog = !state && (0, _callLogMessage.callStateHasLogData)(data.attrs || {});
287
- if ((roomMatches || callIdMatches) && (isTerminalState || isServerCallLog)) {
320
+ if ((callIdMatches || roomMatches && !callIdConflicts) && (isTerminalState || isServerCallLog)) {
288
321
  _roomStore.store.dispatch((0, _callSlice.endCall)());
289
322
  }
290
323
  };
@@ -338,7 +371,13 @@ const onCallTokenMessage = stanza => {
338
371
  // The server call-log doesn't put `room` on the <data>; derive it
339
372
  // from the message's `from` MUC JID localpart instead.
340
373
  const fromRoom = String(stanza.attrs?.from || '').split('/')[0].split('@')[0].trim();
341
- handleCallStateData(data, fromRoom);
374
+ const declinedInGroup = String(data.attrs?.state || '').toLowerCase() === 'declined' && isTrueishAttr(data.attrs?.group);
375
+ if (!declinedInGroup) {
376
+ // The state / callId / room live on the <data> element, not on the
377
+ // <message> wrapper. This used to be handed `inner`, which made every
378
+ // client call-state signal and server call-log a no-op here.
379
+ handleCallStateData(data, fromRoom);
380
+ }
342
381
 
343
382
  // Server call-logs (carry callerXmppUsername / durationMs) should
344
383
  // flow on to onRealtimeMessage / onMessageHistory where they become
@@ -350,15 +389,6 @@ const onCallTokenMessage = stanza => {
350
389
  }
351
390
  return true;
352
391
  }
353
- if (dataType === 'call-state-declined') {
354
- handleCallStateData({
355
- attrs: {
356
- ...data.attrs,
357
- state: 'declined'
358
- }
359
- });
360
- return true;
361
- }
362
392
  if (dataType === 'call-invite') {
363
393
  const inviteKind = String(data.attrs?.kind || '').toLowerCase();
364
394
  const normalized = inviteKind === 'audio' ? 'audio' : 'video';
@@ -376,6 +406,34 @@ const onCallTokenMessage = stanza => {
376
406
  }
377
407
  return true;
378
408
  }
409
+ if (dataType === _signalStanza.P2P_SIGNAL_TYPE) {
410
+ // Peer to peer WebRTC signalling (offer / answer / candidate / end).
411
+ // Routed to the p2p runtime, never to the chat pipeline.
412
+ if (_roomStore.store.getState().chatSettingStore.config?.videoCalls?.enabled === true) {
413
+ (0, _p2pRuntime.handleP2PSignalStanza)(inner);
414
+ }
415
+ return true;
416
+ }
417
+ if (dataType === 'call-state-declined') {
418
+ // Server relay of a callee's decline. In a group call one member
419
+ // declining must not end the call for everybody, so it is ignored there.
420
+ // For 1:1 it is a terminal state, same as the client-sent `declined`.
421
+ if (isTrueishAttr(data.attrs?.group)) {
422
+ callTrace('group member declined', {
423
+ by: data.attrs?.by,
424
+ callId: data.attrs?.callId
425
+ });
426
+ return true;
427
+ }
428
+ const fromRoom = String(stanza.attrs?.from || '').split('/')[0].split('@')[0].trim();
429
+ handleCallStateData({
430
+ attrs: {
431
+ ...(data.attrs || {}),
432
+ state: 'declined'
433
+ }
434
+ }, fromRoom);
435
+ return true;
436
+ }
379
437
  if (dataType === 'call-token') {
380
438
  const videoCallsConfig = _roomStore.store.getState().chatSettingStore.config?.videoCalls;
381
439
  if (videoCallsConfig?.enabled !== true) {
@@ -386,56 +444,102 @@ const onCallTokenMessage = stanza => {
386
444
  callTrace('drop call-token: not fresh');
387
445
  return true;
388
446
  }
389
- const token = String(data.attrs?.token || '').trim();
390
- const stanzaRoom = String(data.attrs?.room || '').trim();
391
- const stanzaKind = String(data.attrs?.kind || '').toLowerCase();
392
- const stanzaCallId = String(data.attrs?.callId || data.attrs?.callid || '').trim() || null;
447
+
448
+ // Old servers send neither `mode` nor `group`: parseCallTokenAttrs maps
449
+ // that to a plain LiveKit 1:1 call, exactly the legacy behaviour.
450
+ const attrs = (0, _callMode.parseCallTokenAttrs)(data.attrs);
451
+ // livekitUrl and ice decide where the media goes, and callerName /
452
+ // caller decide who the ring screen says is calling, so they are
453
+ // honoured only from the app's system account (see calls/senderTrust).
454
+ // Anything else keeps the stanza but loses those attributes: the callee
455
+ // then uses config.videoCalls.livekitUrl, GET /v1/calls/ice-servers and
456
+ // the name it can work out locally.
457
+ if ((attrs.livekitUrl || attrs.iceServers || attrs.callerName || attrs.caller) && !(0, _senderTrust.isSystemAccountSender)(inner.attrs?.from, sessionXmppDomain())) {
458
+ callTrace('ignoring livekitUrl/ice/callerName/caller on a call-token not sent by the system account', {
459
+ from: inner.attrs?.from
460
+ });
461
+ attrs.livekitUrl = null;
462
+ attrs.iceServers = null;
463
+ attrs.callerName = '';
464
+ attrs.caller = null;
465
+ }
466
+ const {
467
+ token,
468
+ mode,
469
+ group,
470
+ room: stanzaRoom
471
+ } = attrs;
472
+ const isP2P = mode === 'p2p';
473
+ const stanzaCallId = attrs.callId;
393
474
  // Server doesn't propagate `kind` on the broadcast stanza, so first
394
475
  // look for a client-side `call-invite` hint we stashed when the
395
476
  // dialer signaled us directly. Falls back to whatever the server
396
477
  // happens to attach, finally to video (legacy default).
397
478
  const hintedKind = consumeKindHint([stanzaRoom, stanzaCallId]);
398
- const kind = hintedKind || (stanzaKind === 'audio' ? 'audio' : 'video');
399
- if (!token || !stanzaRoom) {
479
+ const kind = hintedKind || (attrs.kind === 'audio' ? 'audio' : 'video');
480
+ // A p2p token is intentionally empty (the media never touches LiveKit);
481
+ // it needs the callId instead, to correlate the signalling.
482
+ if (!stanzaRoom || (isP2P ? !stanzaCallId : !token)) {
400
483
  callTrace('drop call-token: no token or room');
401
484
  return true;
402
485
  }
403
486
  const resolvedRoom = resolveRoomByStanzaRoom(stanzaRoom);
404
- const allowedRoomTypes = videoCallsConfig.allowedRoomTypes || ['private'];
405
487
  const usersCnt = Number(resolvedRoom?.usersCnt || 0);
406
488
  const isOneToOneLikeRoom = usersCnt > 0 && usersCnt <= 2;
407
- const isPrivateAllowed = allowedRoomTypes.includes('private');
408
- if (resolvedRoom?.type && resolvedRoom.type !== 'private' && !isOneToOneLikeRoom) {
409
- callTrace('drop call-token: room type', {
410
- type: resolvedRoom.type,
411
- usersCnt
412
- });
413
- return true;
414
- }
415
- if (resolvedRoom?.type === 'private' && !isPrivateAllowed) {
416
- callTrace('drop call-token: private not allowed');
417
- return true;
418
- }
419
- if (!resolvedRoom?.type && !stanzaRoom.includes('@') && !isOneToOneLikeRoom) {
420
- callTrace('drop call-token: room unknown', {
421
- stanzaRoom
422
- });
423
- return true;
489
+ const allowedRoomTypes = videoCallsConfig.allowedRoomTypes;
490
+ if (group) {
491
+ // Group room call (always LiveKit). The host may opt out through
492
+ // allowedRoomTypes; a room we know to be private contradicts `group`.
493
+ if (!(0, _callMode.isCallRoomTypeAllowed)('group', allowedRoomTypes)) {
494
+ callTrace('drop call-token: group calls not allowed');
495
+ return true;
496
+ }
497
+ if (resolvedRoom?.type === 'private') {
498
+ callTrace('drop call-token: group flag on a private room');
499
+ return true;
500
+ }
501
+ } else {
502
+ const isPrivateAllowed = (0, _callMode.isCallRoomTypeAllowed)('private', allowedRoomTypes);
503
+ if (resolvedRoom?.type && resolvedRoom.type !== 'private' && !isOneToOneLikeRoom) {
504
+ callTrace('drop call-token: room type', {
505
+ type: resolvedRoom.type,
506
+ usersCnt
507
+ });
508
+ return true;
509
+ }
510
+ if (resolvedRoom?.type === 'private' && !isPrivateAllowed) {
511
+ callTrace('drop call-token: private not allowed');
512
+ return true;
513
+ }
514
+ if (!resolvedRoom?.type && !stanzaRoom.includes('@') && !isOneToOneLikeRoom) {
515
+ callTrace('drop call-token: room unknown', {
516
+ stanzaRoom
517
+ });
518
+ return true;
519
+ }
424
520
  }
425
521
  const roomJid = resolvedRoom?.jid || (stanzaRoom.includes('@') ? stanzaRoom : '');
426
522
  // Prefer the JWT `sub` claim as the display name on the incoming
427
523
  // ring screen, the server populates it with the caller's full name
428
524
  // ("Roman Test") which is far more useful than the resolved room
429
525
  // title (which for stale / deleted-peer chats reads "deleted").
430
- const jwtPayload = decodeJwtPayload(token);
431
- const callerName = extractCallerDisplayName(jwtPayload);
526
+ // A p2p token has no JWT, and in a group the ring should name the room.
527
+ const jwtPayload = isP2P ? null : decodeJwtPayload(token);
528
+ const jwtName = group ? '' : (0, _callDisplay.safeCallName)(extractCallerDisplayName(jwtPayload)) || '';
432
529
  // `title` is the display name; on new-arch private rooms `name` is the
433
530
  // bare room id ("${appId}_<a>-${appId}_<b>"), never something to show.
434
531
  const resolvedTitle = String(resolvedRoom?.title || resolvedRoom?.name || '').trim();
435
- const titleLooksBad = !resolvedTitle || resolvedTitle === stanzaRoom || ['deleted', 'deleted user', 'unknown', 'null'].includes(resolvedTitle.toLowerCase());
436
- // Never fall back to the room id: an empty name renders as
437
- // "Unknown caller" on the ring screen.
438
- const incomingRoomName = (titleLooksBad ? callerName : resolvedTitle) || callerName || '';
532
+ const titleLooksBad = !resolvedTitle || resolvedTitle === stanzaRoom || ['deleted', 'deleted user', 'unknown', 'null'].includes(resolvedTitle.toLowerCase()) || (0, _callDisplay.looksLikeRawRoomName)(resolvedTitle);
533
+ const selfXmpp = _roomStore.store.getState().chatSettingStore.user?.xmppUsername || '';
534
+ // Group rooms have no single peer; a "<a>-<b>" name there is a coincidence.
535
+ const peerXmppUsername = group ? null : derivePeerXmppUsername(stanzaRoom, selfXmpp) || attrs.caller;
536
+ const peerName = titleLooksBad ? lookupUserName(peerXmppUsername) : '';
537
+ // What the call is called on screen. A person's name is preferred; a
538
+ // raw chat name (two joined JIDs) is never used, an empty result makes
539
+ // the UI show a neutral label. In a group the call is the ROOM, and the
540
+ // caller is carried separately (callerName) for the "X is calling in Y"
541
+ // line.
542
+ const incomingRoomName = group ? (titleLooksBad ? '' : resolvedTitle) || (0, _callDisplay.safeCallName)(stanzaRoom) || '' : attrs.callerName || jwtName || (titleLooksBad ? '' : resolvedTitle) || (0, _callDisplay.safeCallName)(peerName) || (0, _callDisplay.safeCallName)(stanzaRoom) || '';
439
543
  if (!roomJid) {
440
544
  callTrace('drop call-token: no room jid', {
441
545
  stanzaRoom
@@ -443,20 +547,70 @@ const onCallTokenMessage = stanza => {
443
547
  return true;
444
548
  }
445
549
  const callId = extractCallId(data, jwtPayload);
446
- const selfXmpp = _roomStore.store.getState().chatSettingStore.user?.xmppUsername || '';
447
- const peerXmppUsername = derivePeerXmppUsername(stanzaRoom, selfXmpp);
550
+ if (isP2P && !callId) {
551
+ return true;
552
+ }
448
553
  const callState = _roomStore.store.getState().call;
449
- const isOutgoingRoomMatch = callState.direction === 'outgoing' && (callState.roomJid === roomJid || callState.roomName === incomingRoomName || callState.roomBareName === stanzaRoom);
554
+ if (isP2P || callState.mode === 'p2p') {
555
+ // Peer to peer (or an active p2p call): one call at a time, decided
556
+ // by callId. The legacy LiveKit-over-LiveKit path below is untouched.
557
+ if (isP2P && !(0, _webrtcRuntime.isP2PAvailable)()) {
558
+ // This device cannot take the call (the WebRTC package is not
559
+ // installed); tell the caller instead of leaving them ringing.
560
+ callTrace('decline p2p call-token: WebRTC unavailable', {
561
+ callId
562
+ });
563
+ (0, _callState.reportCallDeclined)(callId);
564
+ return true;
565
+ }
566
+ const decision = (0, _callMode.decideIncomingWhileBusy)((0, _callBusy.busySnapshot)(callState), {
567
+ mode,
568
+ callId,
569
+ roomBareName: stanzaRoom
570
+ });
571
+ if (decision === 'duplicate' || decision === 'glare-keep') {
572
+ callTrace(`drop call-token: ${decision}`, {
573
+ callId
574
+ });
575
+ return true;
576
+ }
577
+ if (decision === 'busy') {
578
+ callTrace('decline call-token: busy', {
579
+ callId
580
+ });
581
+ if (isP2P) {
582
+ (0, _callState.reportCallDeclined)(callId);
583
+ if (peerXmppUsername) {
584
+ sendCallStateSignal('declined', {
585
+ peerXmppUsername,
586
+ callId,
587
+ roomBareName: stanzaRoom
588
+ });
589
+ }
590
+ }
591
+ return true;
592
+ }
593
+ if (decision === 'glare-yield') {
594
+ // We both dialled at once and the other call has the smaller id:
595
+ // drop ours (the other side keeps theirs and ignores our token).
596
+ sendCallStateSignal('cancelled');
597
+ (0, _callState.reportCallEnded)(callState.callId);
598
+ }
599
+ }
600
+ const isOutgoingRoomMatch = !isP2P && callState.direction === 'outgoing' && (callState.roomJid === roomJid || callState.roomName === incomingRoomName || callState.roomBareName === stanzaRoom);
450
601
  callTrace('accept call-token', {
451
602
  outgoing: isOutgoingRoomMatch,
452
603
  roomJid,
453
- callId
604
+ callId,
605
+ mode,
606
+ group
454
607
  });
455
608
  if (isOutgoingRoomMatch) {
456
609
  _roomStore.store.dispatch((0, _callSlice.setOutgoingCallToken)({
457
610
  roomJid,
458
611
  token,
459
- callId: callId || null
612
+ callId: callId || null,
613
+ livekitUrl: attrs.livekitUrl
460
614
  }));
461
615
  return true;
462
616
  }
@@ -473,7 +627,13 @@ const onCallTokenMessage = stanza => {
473
627
  token,
474
628
  kind,
475
629
  callId: callId || null,
476
- peerXmppUsername: peerXmppUsername || null
630
+ peerXmppUsername: peerXmppUsername || null,
631
+ mode,
632
+ isGroup: group,
633
+ iceServers: attrs.iceServers,
634
+ livekitUrl: attrs.livekitUrl,
635
+ callerName: attrs.callerName || null,
636
+ callerXmppUsername: attrs.caller
477
637
  }));
478
638
  return true;
479
639
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_client","require","_roomStore","_callSlice","_clientRegistry","_callLogMessage","_devLogger","KIND_HINT_TTL_MS","kindHints","Map","stashKindHint","key","kind","now","Date","k","v","expiresAt","delete","set","consumeKindHint","keys","hit","get","MAX_CALL_TOKEN_AGE_MS","callTrace","message","extra","__DEV__","console","log","JSON","stringify","B64_ALPHABET","decodeBase64","input","clean","replace","out","buffer","bits","i","length","idx","indexOf","String","fromCharCode","bytesToUtf8","binary","decodeURIComponent","split","map","c","charCodeAt","toString","slice","join","decodeJwtPayload","token","parts","b64","padded","repeat","parse","extractCallId","data","jwtPayload","fromAttr","attrs","callId","callid","trim","metadata","parsed","extractCallerDisplayName","sub","trimmed","looksLikeRawId","test","derivePeerXmppUsername","bareRoomName","selfXmppUsername","includes","selfLocal","peer","find","p","CALL_BODY_KEYWORDS","Set","extractNumericTimestamp","value","source","direct","Number","isFinite","match","isFreshCallToken","stanza","stanzaId","getChild","id","createdTs","Math","abs","resolveRoomByStanzaRoom","roomAttr","rooms","store","getState","roomEntries","Object","values","byJid","byLocalpart","room","jid","byName","name","unwrapMucsub","inner","findCallData","type","getBodyText","body","getText","handleCallStateData","fallbackRoomAttr","state","event","toLowerCase","stanzaRoomAttr","stanzaCallId","currentCall","call","phase","roomMatches","roomJid","roomName","roomBareName","callIdMatches","isTerminalState","isServerCallLog","callStateHasLogData","dispatch","endCall","onCallTokenMessage","dataType","traceStanzaId","traceTs","from","wrapped","hasToken","ageMs","pushLog","durationMs","callerXmppUsername","fromRoom","inviteKind","normalized","inviteRoom","inviteCallId","matchesActive","setCallKind","videoCallsConfig","chatSettingStore","config","videoCalls","enabled","stanzaRoom","stanzaKind","hintedKind","resolvedRoom","allowedRoomTypes","usersCnt","isOneToOneLikeRoom","isPrivateAllowed","callerName","resolvedTitle","title","titleLooksBad","incomingRoomName","selfXmpp","user","xmppUsername","peerXmppUsername","callState","isOutgoingRoomMatch","direction","outgoing","setOutgoingCallToken","setIncomingCallToken","bodyText","has","startsWith","stateFromBody","exports","sendCallStateSignal","options","xmppClient","getGlobalXmppClient","host","xml","to","client","send","sendCallInviteSignal"],"sourceRoot":"../../../src","sources":["networking/callTokenStanza.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_client","require","_roomStore","_callSlice","_clientRegistry","_callMode","_callBusy","_senderTrust","_callDisplay","_signalStanza","_p2pRuntime","_webrtcRuntime","_callState","_callLogMessage","_devLogger","KIND_HINT_TTL_MS","kindHints","Map","stashKindHint","key","kind","now","Date","k","v","expiresAt","delete","set","consumeKindHint","keys","hit","get","MAX_CALL_TOKEN_AGE_MS","sessionXmppDomain","client","getGlobalXmppClient","String","jid","getDomain","host","isTrueishAttr","value","text","trim","toLowerCase","lookupUserName","xmppUsername","usersSet","store","getState","rooms","user","split","firstName","lastName","name","callTrace","message","extra","__DEV__","console","log","JSON","stringify","B64_ALPHABET","decodeBase64","input","clean","replace","out","buffer","bits","i","length","idx","indexOf","fromCharCode","bytesToUtf8","binary","decodeURIComponent","map","c","charCodeAt","toString","slice","join","decodeJwtPayload","token","parts","b64","padded","repeat","parse","extractCallId","data","jwtPayload","fromAttr","attrs","callId","callid","metadata","parsed","extractCallerDisplayName","sub","trimmed","looksLikeRawId","test","derivePeerXmppUsername","bareRoomName","selfXmppUsername","includes","selfLocal","peer","find","p","CALL_BODY_KEYWORDS","Set","extractNumericTimestamp","source","direct","Number","isFinite","match","isFreshCallToken","stanza","stanzaId","getChild","id","createdTs","Math","abs","resolveRoomByStanzaRoom","roomAttr","roomEntries","Object","values","byJid","byLocalpart","room","byName","unwrapMucsub","inner","findCallData","type","getBodyText","body","getText","handleCallStateData","fallbackRoomAttr","state","event","stanzaRoomAttr","stanzaCallId","currentCall","call","phase","roomMatches","roomJid","roomName","roomBareName","callIdMatches","callIdConflicts","isTerminalState","isServerCallLog","callStateHasLogData","dispatch","endCall","onCallTokenMessage","dataType","traceStanzaId","traceTs","from","wrapped","hasToken","ageMs","pushLog","durationMs","callerXmppUsername","fromRoom","declinedInGroup","group","inviteKind","normalized","inviteRoom","inviteCallId","matchesActive","setCallKind","P2P_SIGNAL_TYPE","chatSettingStore","config","videoCalls","enabled","handleP2PSignalStanza","by","videoCallsConfig","parseCallTokenAttrs","livekitUrl","iceServers","callerName","caller","isSystemAccountSender","mode","stanzaRoom","isP2P","hintedKind","resolvedRoom","usersCnt","isOneToOneLikeRoom","allowedRoomTypes","isCallRoomTypeAllowed","isPrivateAllowed","jwtName","safeCallName","resolvedTitle","title","titleLooksBad","looksLikeRawRoomName","selfXmpp","peerXmppUsername","peerName","incomingRoomName","callState","isP2PAvailable","reportCallDeclined","decision","decideIncomingWhileBusy","busySnapshot","sendCallStateSignal","reportCallEnded","isOutgoingRoomMatch","direction","outgoing","setOutgoingCallToken","setIncomingCallToken","isGroup","bodyText","has","startsWith","stateFromBody","exports","options","xmppClient","xml","to","send","sendCallInviteSignal"],"sourceRoot":"../../../src","sources":["networking/callTokenStanza.ts"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.startOutgoingCall = exports.setOutgoingCallToken = exports.setIncomingCallToken = exports.setCallPhase = exports.setCallKind = exports.setCallError = exports.resetCall = exports.endCall = exports.default = exports.declineIncomingCall = exports.acceptIncomingCall = void 0;
6
+ exports.startOutgoingCall = exports.setOutgoingCallToken = exports.setOutgoingCallRoute = exports.setIncomingCallToken = exports.setCallPhase = exports.setCallKind = exports.setCallError = exports.resetCall = exports.endCall = exports.default = exports.declineIncomingCall = exports.acceptIncomingCall = void 0;
7
7
  var _toolkit = require("@reduxjs/toolkit");
8
+ var _callDisplay = require("../calls/callDisplay");
8
9
  const initialState = {
9
10
  phase: 'idle',
10
11
  direction: null,
@@ -17,7 +18,13 @@ const initialState = {
17
18
  token: null,
18
19
  error: null,
19
20
  startedAt: null,
20
- connectedAt: null
21
+ connectedAt: null,
22
+ mode: 'livekit',
23
+ isGroup: false,
24
+ livekitUrl: null,
25
+ iceServers: null,
26
+ callerName: null,
27
+ callerXmppUsername: null
21
28
  };
22
29
  const resetState = () => ({
23
30
  ...initialState
@@ -31,7 +38,9 @@ const callSlice = (0, _toolkit.createSlice)({
31
38
  state.direction = 'outgoing';
32
39
  state.kind = action.payload.kind || 'video';
33
40
  state.roomJid = action.payload.roomJid;
34
- state.roomName = action.payload.roomName || null;
41
+ // A raw chat name is never a name: safeCallName drops it, the UI then
42
+ // shows a neutral label.
43
+ state.roomName = (0, _callDisplay.safeCallName)(action.payload.roomName);
35
44
  state.roomBareName = action.payload.roomBareName || (action.payload.roomJid || '').split('@')[0] || null;
36
45
  state.peerXmppUsername = action.payload.peerXmppUsername || null;
37
46
  state.callId = null;
@@ -39,13 +48,47 @@ const callSlice = (0, _toolkit.createSlice)({
39
48
  state.error = null;
40
49
  state.startedAt = Date.now();
41
50
  state.connectedAt = null;
51
+ state.mode = 'livekit';
52
+ state.isGroup = action.payload.isGroup === true;
53
+ state.livekitUrl = null;
54
+ state.iceServers = null;
55
+ state.callerName = null;
56
+ state.callerXmppUsername = null;
57
+ },
58
+ // The create response told the caller how the call is carried. Applied
59
+ // only to the very call that asked (startedAt must match), so a late
60
+ // response for a call the user already cancelled cannot leak into the next.
61
+ setOutgoingCallRoute(state, action) {
62
+ if (state.direction !== 'outgoing') {
63
+ return;
64
+ }
65
+ if (action.payload.startedAt !== state.startedAt) {
66
+ return;
67
+ }
68
+ // The LiveKit call-token can overtake the HTTP response, so a livekit
69
+ // route may still be applied once the phase has moved on to
70
+ // 'connecting'. A p2p route only makes sense while still dialling.
71
+ if (state.phase !== 'requesting') {
72
+ if (state.phase !== 'connecting' || action.payload.mode !== 'livekit') {
73
+ return;
74
+ }
75
+ }
76
+ state.mode = action.payload.mode;
77
+ if (action.payload.callId) {
78
+ state.callId = action.payload.callId;
79
+ }
80
+ if (typeof action.payload.group === 'boolean') {
81
+ state.isGroup = action.payload.group;
82
+ }
83
+ state.livekitUrl = action.payload.livekitUrl || null;
84
+ state.iceServers = action.payload.mode === 'p2p' ? action.payload.iceServers || [] : null;
42
85
  },
43
86
  setIncomingCallToken(state, action) {
44
87
  state.phase = 'ringing-incoming';
45
88
  state.direction = 'incoming';
46
89
  state.kind = action.payload.kind || 'video';
47
90
  state.roomJid = action.payload.roomJid;
48
- state.roomName = action.payload.roomName || null;
91
+ state.roomName = (0, _callDisplay.safeCallName)(action.payload.roomName);
49
92
  state.roomBareName = action.payload.roomBareName || (action.payload.roomJid || '').split('@')[0] || null;
50
93
  state.callId = action.payload.callId || null;
51
94
  state.peerXmppUsername = action.payload.peerXmppUsername || null;
@@ -53,6 +96,12 @@ const callSlice = (0, _toolkit.createSlice)({
53
96
  state.error = null;
54
97
  state.startedAt = Date.now();
55
98
  state.connectedAt = null;
99
+ state.mode = action.payload.mode || 'livekit';
100
+ state.isGroup = action.payload.isGroup === true;
101
+ state.livekitUrl = action.payload.livekitUrl || null;
102
+ state.iceServers = action.payload.iceServers || null;
103
+ state.callerName = (0, _callDisplay.safeCallName)(action.payload.callerName);
104
+ state.callerXmppUsername = action.payload.callerXmppUsername || null;
56
105
  },
57
106
  setOutgoingCallToken(state, action) {
58
107
  if (state.direction !== 'outgoing') {
@@ -68,6 +117,10 @@ const callSlice = (0, _toolkit.createSlice)({
68
117
  if (action.payload.callId) {
69
118
  state.callId = action.payload.callId;
70
119
  }
120
+ // The stanza's URL, when present, wins over the create response's.
121
+ if (action.payload.livekitUrl) {
122
+ state.livekitUrl = action.payload.livekitUrl;
123
+ }
71
124
  state.error = null;
72
125
  state.startedAt = state.startedAt || Date.now();
73
126
  },
@@ -122,6 +175,7 @@ const {
122
175
  startOutgoingCall,
123
176
  setIncomingCallToken,
124
177
  setOutgoingCallToken,
178
+ setOutgoingCallRoute,
125
179
  acceptIncomingCall,
126
180
  declineIncomingCall,
127
181
  endCall,
@@ -137,6 +191,7 @@ exports.setCallError = setCallError;
137
191
  exports.endCall = endCall;
138
192
  exports.declineIncomingCall = declineIncomingCall;
139
193
  exports.acceptIncomingCall = acceptIncomingCall;
194
+ exports.setOutgoingCallRoute = setOutgoingCallRoute;
140
195
  exports.setOutgoingCallToken = setOutgoingCallToken;
141
196
  exports.setIncomingCallToken = setIncomingCallToken;
142
197
  exports.startOutgoingCall = startOutgoingCall;
@@ -1 +1 @@
1
- {"version":3,"names":["_toolkit","require","initialState","phase","direction","kind","roomJid","roomName","roomBareName","callId","peerXmppUsername","token","error","startedAt","connectedAt","resetState","callSlice","createSlice","name","reducers","startOutgoingCall","state","action","payload","split","Date","now","setIncomingCallToken","setOutgoingCallToken","currentRoom","acceptIncomingCall","declineIncomingCall","endCall","setCallError","setCallPhase","setCallKind","resetCall","extraReducers","builder","addCase","actions","exports","_default","default","reducer"],"sourceRoot":"../../../src","sources":["roomStore/callSlice.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_toolkit","require","_callDisplay","initialState","phase","direction","kind","roomJid","roomName","roomBareName","callId","peerXmppUsername","token","error","startedAt","connectedAt","mode","isGroup","livekitUrl","iceServers","callerName","callerXmppUsername","resetState","callSlice","createSlice","name","reducers","startOutgoingCall","state","action","payload","safeCallName","split","Date","now","setOutgoingCallRoute","group","setIncomingCallToken","setOutgoingCallToken","currentRoom","acceptIncomingCall","declineIncomingCall","endCall","setCallError","setCallPhase","setCallKind","resetCall","extraReducers","builder","addCase","actions","exports","_default","default","reducer"],"sourceRoot":"../../../src","sources":["roomStore/callSlice.ts"],"mappings":"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","ignoreList":[]}