@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
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_icePolicy","require","_negotiator","DEFAULT_TIMINGS","connectTimeoutMs","offerResendMs","describeMediaError","error","name","text","String","message","toLowerCase","includes","exports","remoteEndNotice","reason","AUDIO_CONSTRAINTS","echoCancellation","noiseSuppression","autoGainControl","VIDEO_CONSTRAINTS","width","ideal","height","facingMode","P2PCallController","policy","IceRestartPolicy","listeners","Set","pc","localStream","audioTrack","videoTrack","videoSender","ownedTracks","remoteStream","remoteCleanups","queue","Promise","resolve","timers","graceTimer","deadlineTimer","connectTimer","started","disposed","endSent","connectedOnce","negotiated","cameraBusy","lastConn","candidateGateOpen","heldOutgoingCandidates","sentCandidates","lastOffer","constructor","params","deps","events","timings","callId","role","kind","negotiator","P2PNegotiator","peerLocal","snapshot","status","micEnabled","startWithMicOn","camEnabled","startWithCameraOn","remoteVideoLive","notice","subscribe","listener","add","delete","getSnapshot","update","patch","Array","from","log","detail","later","fn","ms","id","setTimeout","cancel","clearTimeout","start","icePromise","iceServers","length","fetchIceServers","then","list","catch","acquireMedia","fail","releaseMedia","servers","createConnection","enqueue","runCommands","markReady","sendOffer","scheduleOfferResends","receive","signal","commands","end","find","c","type","handleRemoteEnd","hangup","sendEnd","dispose","isEnded","clear","stop","cleanup","onicecandidate","ontrack","onconnectionstatechange","oniceconnectionstatechange","close","onDisposed","sendSignal","onFailed","onRemoteEnd","wantVideo","stream","getUserMedia","audio","video","getTracks","getAudioTracks","getVideoTracks","enabled","tracks","forEach","t","track","toggleMic","toggleCamera","replaceTrack","removeTrack","filter","media","addTrack","push","dismissNotice","createPeerConnection","iceCandidatePoolSize","event","candidate","json","toJSON","sdpMid","sdpMLineIndex","emitCandidate","onRemoteTrack","onConnectionState","addTransceiver","direction","sender","openCandidateGate","held","createMediaStream","refresh","addEventListener","removeEventListener","some","readyState","muted","job","undefined","iceRestart","offer","createOffer","setLocalDescription","sdp","localDescription","markLocalOffer","awaitingAnswer","command","applyOffer","setRemoteDescription","markRemoteApplied","onNegotiated","addIceCandidate","rollback","signalingState","answer","createAnswer","initial","connState","cs","connectionState","iceConnectionState","state","runIceAction","onState","onConnected","action","onGraceElapsed","down","onRestartDeadline","deadlineMs","restartIce","fresh","setConfiguration","getConfiguration"],"sourceRoot":"../../../../src","sources":["calls/p2p/P2PCallController.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.IceRestartPolicy = void 0;
7
+ // ICE restart policy for a p2p call, kept apart from the RTCPeerConnection so
8
+ // it can be reasoned about and tested on its own. The controller feeds it the
9
+ // connection state and runs the timers; the policy only decides.
10
+ //
11
+ // - `disconnected` is often transient (a Wi-Fi blip heals by itself), so the
12
+ // first reaction is to wait a grace period and restart only if it has not
13
+ // recovered;
14
+ // - `failed` is terminal for that ICE session, so restart straight away;
15
+ // - one restart per outage, and a small cap per call so a flapping network
16
+ // ends in a clean failure instead of an endless loop;
17
+ // - a restart that does not bring the connection back within a deadline
18
+ // gives up.
19
+
20
+ class IceRestartPolicy {
21
+ restarts = 0;
22
+ attemptedThisOutage = false;
23
+ inOutage = false;
24
+ constructor(options = {}) {
25
+ this.graceMs = options.graceMs ?? 3_000;
26
+ this.restartDeadlineMs = options.restartDeadlineMs ?? 15_000;
27
+ this.maxRestarts = options.maxRestartsPerCall ?? 3;
28
+ }
29
+ get restartCount() {
30
+ return this.restarts;
31
+ }
32
+ tryRestart() {
33
+ if (this.attemptedThisOutage) {
34
+ return {
35
+ type: 'give-up',
36
+ reason: 'restart-did-not-recover'
37
+ };
38
+ }
39
+ if (this.restarts >= this.maxRestarts) {
40
+ return {
41
+ type: 'give-up',
42
+ reason: 'too-many-restarts'
43
+ };
44
+ }
45
+ this.attemptedThisOutage = true;
46
+ this.restarts += 1;
47
+ return {
48
+ type: 'restart',
49
+ deadlineMs: this.restartDeadlineMs
50
+ };
51
+ }
52
+ onState(state) {
53
+ switch (state) {
54
+ case 'connected':
55
+ {
56
+ const wasOutage = this.inOutage;
57
+ this.inOutage = false;
58
+ this.attemptedThisOutage = false;
59
+ return wasOutage ? {
60
+ type: 'recovered'
61
+ } : {
62
+ type: 'none'
63
+ };
64
+ }
65
+ case 'disconnected':
66
+ {
67
+ this.inOutage = true;
68
+ if (this.attemptedThisOutage) return {
69
+ type: 'none'
70
+ };
71
+ return {
72
+ type: 'wait',
73
+ ms: this.graceMs
74
+ };
75
+ }
76
+ case 'failed':
77
+ {
78
+ this.inOutage = true;
79
+ return this.tryRestart();
80
+ }
81
+ default:
82
+ return {
83
+ type: 'none'
84
+ };
85
+ }
86
+ }
87
+
88
+ /** The grace period after `disconnected` ran out without recovery. */
89
+ onGraceElapsed() {
90
+ if (!this.inOutage) return {
91
+ type: 'none'
92
+ };
93
+ return this.tryRestart();
94
+ }
95
+
96
+ /** The restart deadline ran out; `stillDown` is the state at that moment. */
97
+ onRestartDeadline(stillDown) {
98
+ return stillDown ? {
99
+ type: 'give-up',
100
+ reason: 'restart-timeout'
101
+ } : {
102
+ type: 'none'
103
+ };
104
+ }
105
+ }
106
+ exports.IceRestartPolicy = IceRestartPolicy;
107
+ //# sourceMappingURL=icePolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IceRestartPolicy","restarts","attemptedThisOutage","inOutage","constructor","options","graceMs","restartDeadlineMs","maxRestarts","maxRestartsPerCall","restartCount","tryRestart","type","reason","deadlineMs","onState","state","wasOutage","ms","onGraceElapsed","onRestartDeadline","stillDown","exports"],"sourceRoot":"../../../../src","sources":["calls/p2p/icePolicy.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAuBO,MAAMA,gBAAgB,CAAC;EAIpBC,QAAQ,GAAG,CAAC;EACZC,mBAAmB,GAAG,KAAK;EAC3BC,QAAQ,GAAG,KAAK;EAExBC,WAAWA,CAACC,OAAyB,GAAG,CAAC,CAAC,EAAE;IAC1C,IAAI,CAACC,OAAO,GAAGD,OAAO,CAACC,OAAO,IAAI,KAAK;IACvC,IAAI,CAACC,iBAAiB,GAAGF,OAAO,CAACE,iBAAiB,IAAI,MAAM;IAC5D,IAAI,CAACC,WAAW,GAAGH,OAAO,CAACI,kBAAkB,IAAI,CAAC;EACpD;EAEA,IAAIC,YAAYA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACT,QAAQ;EACtB;EAEQU,UAAUA,CAAA,EAAc;IAC9B,IAAI,IAAI,CAACT,mBAAmB,EAAE;MAC5B,OAAO;QAAEU,IAAI,EAAE,SAAS;QAAEC,MAAM,EAAE;MAA0B,CAAC;IAC/D;IACA,IAAI,IAAI,CAACZ,QAAQ,IAAI,IAAI,CAACO,WAAW,EAAE;MACrC,OAAO;QAAEI,IAAI,EAAE,SAAS;QAAEC,MAAM,EAAE;MAAoB,CAAC;IACzD;IACA,IAAI,CAACX,mBAAmB,GAAG,IAAI;IAC/B,IAAI,CAACD,QAAQ,IAAI,CAAC;IAClB,OAAO;MAAEW,IAAI,EAAE,SAAS;MAAEE,UAAU,EAAE,IAAI,CAACP;IAAkB,CAAC;EAChE;EAEAQ,OAAOA,CAACC,KAAmB,EAAa;IACtC,QAAQA,KAAK;MACX,KAAK,WAAW;QAAE;UAChB,MAAMC,SAAS,GAAG,IAAI,CAACd,QAAQ;UAC/B,IAAI,CAACA,QAAQ,GAAG,KAAK;UACrB,IAAI,CAACD,mBAAmB,GAAG,KAAK;UAChC,OAAOe,SAAS,GAAG;YAAEL,IAAI,EAAE;UAAY,CAAC,GAAG;YAAEA,IAAI,EAAE;UAAO,CAAC;QAC7D;MACA,KAAK,cAAc;QAAE;UACnB,IAAI,CAACT,QAAQ,GAAG,IAAI;UACpB,IAAI,IAAI,CAACD,mBAAmB,EAAE,OAAO;YAAEU,IAAI,EAAE;UAAO,CAAC;UACrD,OAAO;YAAEA,IAAI,EAAE,MAAM;YAAEM,EAAE,EAAE,IAAI,CAACZ;UAAQ,CAAC;QAC3C;MACA,KAAK,QAAQ;QAAE;UACb,IAAI,CAACH,QAAQ,GAAG,IAAI;UACpB,OAAO,IAAI,CAACQ,UAAU,CAAC,CAAC;QAC1B;MACA;QACE,OAAO;UAAEC,IAAI,EAAE;QAAO,CAAC;IAC3B;EACF;;EAEA;EACAO,cAAcA,CAAA,EAAc;IAC1B,IAAI,CAAC,IAAI,CAAChB,QAAQ,EAAE,OAAO;MAAES,IAAI,EAAE;IAAO,CAAC;IAC3C,OAAO,IAAI,CAACD,UAAU,CAAC,CAAC;EAC1B;;EAEA;EACAS,iBAAiBA,CAACC,SAAkB,EAAa;IAC/C,OAAOA,SAAS,GACZ;MAAET,IAAI,EAAE,SAAS;MAAEC,MAAM,EAAE;IAAkB,CAAC,GAC9C;MAAED,IAAI,EAAE;IAAO,CAAC;EACtB;AACF;AAACU,OAAA,CAAAtB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.P2PNegotiator = void 0;
7
+ // The pure half of the p2p signalling state machine: given the stream of
8
+ // signals from the peer and a few "we are ready" notifications, it says WHAT
9
+ // to do next (apply an offer, apply an answer, add a candidate, stop) without
10
+ // touching an RTCPeerConnection. The controller executes the commands.
11
+ //
12
+ // Rules it enforces:
13
+ // - one negotiation per callId; signals for another callId or from anyone but
14
+ // the expected peer are ignored;
15
+ // - the callee may receive the offer before it has accepted (and before it
16
+ // has local media): the first offer wins, later initial offers are ignored,
17
+ // and it is held until markReady();
18
+ // - candidates that arrive before the remote description is applied are held
19
+ // and flushed right after it;
20
+ // - duplicates (same SDP delivered twice, e.g. the caller re-sending its
21
+ // offer) are no-ops;
22
+ // - after the first exchange, a new offer is a renegotiation (ICE restart).
23
+ // If both sides restart at once (glare) the caller is "impolite" and keeps
24
+ // its own offer; the callee is "polite" and yields to the caller's.
25
+
26
+ const MAX_HELD_CANDIDATES = 64;
27
+ class P2PNegotiator {
28
+ ready = false;
29
+ ended = false;
30
+ remoteDescriptionSet = false;
31
+ initialOfferTaken = false;
32
+ heldOffer = null;
33
+ localOfferPending = false;
34
+ lastOfferSdp = null;
35
+ lastAnswerSdp = null;
36
+ heldCandidates = [];
37
+ // The caller re-sends its offer and candidates while unanswered, so the same
38
+ // candidate can arrive more than once; each is applied (or held) only once.
39
+ seenCandidates = new Set();
40
+ constructor(params) {
41
+ this.callId = params.callId;
42
+ this.role = params.role;
43
+ this.peerLocal = String(params.peerLocal || '').split('@')[0].toLowerCase();
44
+ }
45
+ get isEnded() {
46
+ return this.ended;
47
+ }
48
+
49
+ /** True while we have sent an offer and not yet received its answer. */
50
+ get awaitingAnswer() {
51
+ return this.localOfferPending;
52
+ }
53
+ accepts(signal) {
54
+ if (this.ended) return false;
55
+ if (signal.callId !== this.callId) return false;
56
+ if (this.peerLocal && signal.fromLocal !== this.peerLocal) return false;
57
+ return true;
58
+ }
59
+ receive(signal) {
60
+ if (!this.accepts(signal)) return [];
61
+ switch (signal.signal) {
62
+ case 'end':
63
+ {
64
+ this.ended = true;
65
+ this.heldOffer = null;
66
+ this.heldCandidates = [];
67
+ const reason = signal.payload.reason;
68
+ return [{
69
+ type: 'remote-end',
70
+ reason: reason || 'ended'
71
+ }];
72
+ }
73
+ case 'offer':
74
+ {
75
+ const sdp = signal.payload.sdp;
76
+ if (sdp === this.lastOfferSdp) return [];
77
+ if (!this.initialOfferTaken) {
78
+ // Only the callee ever receives the first offer.
79
+ if (this.role !== 'callee') return [];
80
+ this.initialOfferTaken = true;
81
+ this.lastOfferSdp = sdp;
82
+ if (!this.ready) {
83
+ this.heldOffer = sdp;
84
+ return [];
85
+ }
86
+ return [{
87
+ type: 'apply-offer',
88
+ sdp,
89
+ initial: true,
90
+ rollback: false
91
+ }];
92
+ }
93
+ // Renegotiation. Before the initial exchange finished, or before we
94
+ // are ready, there is nothing sensible to apply it to.
95
+ if (!this.ready || !this.remoteDescriptionSet) return [];
96
+ if (this.localOfferPending) {
97
+ if (this.role === 'caller') return []; // impolite: keep ours
98
+ this.localOfferPending = false; // polite: roll ours back
99
+ this.lastOfferSdp = sdp;
100
+ return [{
101
+ type: 'apply-offer',
102
+ sdp,
103
+ initial: false,
104
+ rollback: true
105
+ }];
106
+ }
107
+ this.lastOfferSdp = sdp;
108
+ return [{
109
+ type: 'apply-offer',
110
+ sdp,
111
+ initial: false,
112
+ rollback: false
113
+ }];
114
+ }
115
+ case 'answer':
116
+ {
117
+ if (!this.localOfferPending) return [];
118
+ const sdp = signal.payload.sdp;
119
+ if (sdp === this.lastAnswerSdp) return [];
120
+ this.lastAnswerSdp = sdp;
121
+ this.localOfferPending = false;
122
+ return [{
123
+ type: 'apply-answer',
124
+ sdp
125
+ }];
126
+ }
127
+ case 'candidate':
128
+ {
129
+ const c = signal.payload;
130
+ // An empty candidate string is the end-of-candidates marker; nothing
131
+ // needs to be added for it.
132
+ if (!c.candidate) return [];
133
+ const key = `${c.candidate}|${c.sdpMid ?? ''}|${c.sdpMLineIndex ?? ''}`;
134
+ if (this.seenCandidates.has(key)) return [];
135
+ this.seenCandidates.add(key);
136
+ if (this.remoteDescriptionSet) {
137
+ return [{
138
+ type: 'add-candidate',
139
+ candidate: c
140
+ }];
141
+ }
142
+ if (this.heldCandidates.length < MAX_HELD_CANDIDATES) {
143
+ this.heldCandidates.push(c);
144
+ }
145
+ return [];
146
+ }
147
+ }
148
+ return [];
149
+ }
150
+
151
+ /**
152
+ * Local media and the peer connection exist. For the callee this releases
153
+ * the offer that arrived while it was still on the ring screen.
154
+ */
155
+ markReady() {
156
+ if (this.ended) return [];
157
+ this.ready = true;
158
+ if (this.heldOffer !== null) {
159
+ const sdp = this.heldOffer;
160
+ this.heldOffer = null;
161
+ return [{
162
+ type: 'apply-offer',
163
+ sdp,
164
+ initial: true,
165
+ rollback: false
166
+ }];
167
+ }
168
+ return [];
169
+ }
170
+
171
+ /** We created and set a local offer; its answer is now expected. */
172
+ markLocalOffer() {
173
+ this.localOfferPending = true;
174
+ this.lastAnswerSdp = null;
175
+ // The caller's own first offer IS its initial exchange, so any offer it
176
+ // receives afterwards is a renegotiation, not a second "first offer".
177
+ if (this.role === 'caller') this.initialOfferTaken = true;
178
+ }
179
+
180
+ /**
181
+ * A remote description (offer or answer) was applied to the connection.
182
+ * Returns the candidates that were waiting for it.
183
+ */
184
+ markRemoteApplied() {
185
+ this.remoteDescriptionSet = true;
186
+ const held = this.heldCandidates;
187
+ this.heldCandidates = [];
188
+ return held.map(candidate => ({
189
+ type: 'add-candidate',
190
+ candidate
191
+ }));
192
+ }
193
+
194
+ /** Local teardown: later signals are ignored. */
195
+ stop() {
196
+ this.ended = true;
197
+ this.heldOffer = null;
198
+ this.heldCandidates = [];
199
+ }
200
+ }
201
+ exports.P2PNegotiator = P2PNegotiator;
202
+ //# sourceMappingURL=negotiator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MAX_HELD_CANDIDATES","P2PNegotiator","ready","ended","remoteDescriptionSet","initialOfferTaken","heldOffer","localOfferPending","lastOfferSdp","lastAnswerSdp","heldCandidates","seenCandidates","Set","constructor","params","callId","role","peerLocal","String","split","toLowerCase","isEnded","awaitingAnswer","accepts","signal","fromLocal","receive","reason","payload","type","sdp","initial","rollback","c","candidate","key","sdpMid","sdpMLineIndex","has","add","length","push","markReady","markLocalOffer","markRemoteApplied","held","map","stop","exports"],"sourceRoot":"../../../../src","sources":["calls/p2p/negotiator.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.subscribeActiveP2P = exports.sendP2PSignal = exports.releaseP2PController = exports.p2pInbox = exports.handleP2PSignalStanza = exports.getActiveP2PController = exports.createNativeP2PDeps = exports.acquireP2PController = void 0;
7
+ var _roomStore = require("../../roomStore");
8
+ var _clientRegistry = require("../../utils/clientRegistry");
9
+ var _ethoraLogger = require("../../helpers/ethoraLogger");
10
+ var _callState = require("../../networking/api-requests/callState.api");
11
+ var _signalInbox = require("./signalInbox");
12
+ var _signalStanza = require("./signalStanza");
13
+ var _webrtcRuntime = require("./webrtcRuntime");
14
+ // The glue between the XMPP stanza stream, the redux call state and the
15
+ // per-call controller. Native WebRTC / XMPP specifics live here so the
16
+ // controller and the pure modules stay free of them.
17
+
18
+ /** Signals that arrive for a call nobody is handling yet wait here. */
19
+ const p2pInbox = exports.p2pInbox = new _signalInbox.P2PSignalInbox();
20
+
21
+ /**
22
+ * Entry point for an incoming `<data type="call-p2p">` message (called from
23
+ * the stanza router). Stale, replayed, malformed or self-sent signals are
24
+ * dropped; the rest go to the inbox, which delivers or briefly holds them.
25
+ */
26
+ const handleP2PSignalStanza = inner => {
27
+ const signal = (0, _signalStanza.parseP2PSignalStanza)(inner);
28
+ if (!signal || !signal.fromLocal) return;
29
+ if (!(0, _signalStanza.isP2PSignalFresh)(signal)) return;
30
+ const self = String(_roomStore.store.getState().chatSettingStore.user?.xmppUsername || '').split('@')[0].toLowerCase();
31
+ if (signal.fromLocal === self) return;
32
+ p2pInbox.receive(signal);
33
+ };
34
+
35
+ /** Sends one signal straight to the peer's bare JID over the live XMPP client. */
36
+ exports.handleP2PSignalStanza = handleP2PSignalStanza;
37
+ const sendP2PSignal = params => {
38
+ const xmppClient = (0, _clientRegistry.getGlobalXmppClient)();
39
+ const host = xmppClient?.host || '';
40
+ const peer = String(params.peerXmppUsername || '').trim();
41
+ if (!xmppClient || !host || !peer) return false;
42
+ try {
43
+ const stanza = (0, _signalStanza.buildP2PSignalStanza)({
44
+ to: peer.includes('@') ? peer : `${peer}@${host}`,
45
+ callId: params.callId,
46
+ signal: params.signal,
47
+ payload: params.payload
48
+ });
49
+ xmppClient.client?.send?.(stanza);
50
+ return true;
51
+ } catch (error) {
52
+ _ethoraLogger.ethoraLogger.log('[p2p] failed to send signal', error);
53
+ return false;
54
+ }
55
+ };
56
+
57
+ /**
58
+ * The real native dependencies for one call's controller: the WebRTC classes
59
+ * of `@livekit/react-native-webrtc`, loaded lazily (see webrtcRuntime). Each
60
+ * call fails with a clear error when the package is missing, which the
61
+ * controller turns into a user-facing "could not start the call".
62
+ */
63
+ exports.sendP2PSignal = sendP2PSignal;
64
+ const createNativeP2PDeps = params => {
65
+ const rtc = () => {
66
+ const runtime = (0, _webrtcRuntime.loadWebRTC)();
67
+ if (!runtime) throw new Error('WebRTC is not available');
68
+ return runtime;
69
+ };
70
+ return {
71
+ createPeerConnection: config => new (rtc().RTCPeerConnection)(config),
72
+ getUserMedia: constraints => rtc().mediaDevices.getUserMedia(constraints),
73
+ createMediaStream: () => new (rtc().MediaStream)(),
74
+ fetchIceServers: async () => {
75
+ const response = await (0, _callState.fetchIceServers)();
76
+ return response && response.iceServers.length > 0 ? response.iceServers : null;
77
+ },
78
+ sendSignal: (signal, payload) => {
79
+ sendP2PSignal({
80
+ peerXmppUsername: params.peerXmppUsername,
81
+ callId: params.callId,
82
+ signal,
83
+ payload
84
+ });
85
+ },
86
+ log: (message, detail) => _ethoraLogger.ethoraLogger.log(message, detail)
87
+ };
88
+ };
89
+
90
+ // ---- the one active controller --------------------------------------------
91
+ exports.createNativeP2PDeps = createNativeP2PDeps;
92
+ let active = null;
93
+ let pendingDispose = null;
94
+ const activeListeners = new Set();
95
+ const notifyActive = () => {
96
+ for (const listener of Array.from(activeListeners)) listener();
97
+ };
98
+ const getActiveP2PController = () => active?.controller ?? null;
99
+ exports.getActiveP2PController = getActiveP2PController;
100
+ const subscribeActiveP2P = listener => {
101
+ activeListeners.add(listener);
102
+ return () => {
103
+ activeListeners.delete(listener);
104
+ };
105
+ };
106
+
107
+ /**
108
+ * Returns the controller for `key`, creating it on first use. Effects that
109
+ * unmount and immediately remount (React StrictMode, a parent re-keying) get
110
+ * the SAME controller back instead of tearing the call down and starting a
111
+ * second negotiation: release() only disposes after a tick, and acquire()
112
+ * within that tick cancels it.
113
+ */
114
+ exports.subscribeActiveP2P = subscribeActiveP2P;
115
+ const acquireP2PController = (key, create) => {
116
+ if (pendingDispose) {
117
+ clearTimeout(pendingDispose);
118
+ pendingDispose = null;
119
+ }
120
+ if (active && active.key === key) return active.controller;
121
+ if (active) {
122
+ active.controller.dispose();
123
+ active = null;
124
+ }
125
+ active = {
126
+ key,
127
+ controller: create()
128
+ };
129
+ notifyActive();
130
+ return active.controller;
131
+ };
132
+ exports.acquireP2PController = acquireP2PController;
133
+ const releaseP2PController = key => {
134
+ if (!active || active.key !== key) return;
135
+ const released = active;
136
+ if (pendingDispose) clearTimeout(pendingDispose);
137
+ pendingDispose = setTimeout(() => {
138
+ pendingDispose = null;
139
+ if (active === released) {
140
+ active = null;
141
+ notifyActive();
142
+ }
143
+ released.controller.dispose();
144
+ }, 0);
145
+ };
146
+ exports.releaseP2PController = releaseP2PController;
147
+ //# sourceMappingURL=p2pRuntime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_roomStore","require","_clientRegistry","_ethoraLogger","_callState","_signalInbox","_signalStanza","_webrtcRuntime","p2pInbox","exports","P2PSignalInbox","handleP2PSignalStanza","inner","signal","parseP2PSignalStanza","fromLocal","isP2PSignalFresh","self","String","store","getState","chatSettingStore","user","xmppUsername","split","toLowerCase","receive","sendP2PSignal","params","xmppClient","getGlobalXmppClient","host","peer","peerXmppUsername","trim","stanza","buildP2PSignalStanza","to","includes","callId","payload","client","send","error","ethoraLogger","log","createNativeP2PDeps","rtc","runtime","loadWebRTC","Error","createPeerConnection","config","RTCPeerConnection","getUserMedia","constraints","mediaDevices","createMediaStream","MediaStream","fetchIceServers","response","iceServers","length","sendSignal","message","detail","active","pendingDispose","activeListeners","Set","notifyActive","listener","Array","from","getActiveP2PController","controller","subscribeActiveP2P","add","delete","acquireP2PController","key","create","clearTimeout","dispose","releaseP2PController","released","setTimeout"],"sourceRoot":"../../../../src","sources":["calls/p2p/p2pRuntime.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AAOA,IAAAM,cAAA,GAAAN,OAAA;AAGA;AACA;AACA;;AAEA;AACO,MAAMO,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,IAAIE,2BAAc,CAAC,CAAC;;AAE5C;AACA;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAIC,KAAc,IAAW;EAC7D,MAAMC,MAAM,GAAG,IAAAC,kCAAoB,EAACF,KAAK,CAAC;EAC1C,IAAI,CAACC,MAAM,IAAI,CAACA,MAAM,CAACE,SAAS,EAAE;EAClC,IAAI,CAAC,IAAAC,8BAAgB,EAACH,MAAM,CAAC,EAAE;EAE/B,MAAMI,IAAI,GAAGC,MAAM,CAACC,gBAAK,CAACC,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACC,IAAI,EAAEC,YAAY,IAAI,EAAE,CAAC,CAC5EC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACbC,WAAW,CAAC,CAAC;EAChB,IAAIZ,MAAM,CAACE,SAAS,KAAKE,IAAI,EAAE;EAE/BT,QAAQ,CAACkB,OAAO,CAACb,MAAM,CAAC;AAC1B,CAAC;;AAED;AAAAJ,OAAA,CAAAE,qBAAA,GAAAA,qBAAA;AACO,MAAMgB,aAAa,GAAIC,MAK7B,IAAc;EACb,MAAMC,UAAU,GAAG,IAAAC,mCAAmB,EAAC,CAAC;EACxC,MAAMC,IAAI,GAAIF,UAAU,EAAUE,IAAI,IAAI,EAAE;EAC5C,MAAMC,IAAI,GAAGd,MAAM,CAACU,MAAM,CAACK,gBAAgB,IAAI,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC;EACzD,IAAI,CAACL,UAAU,IAAI,CAACE,IAAI,IAAI,CAACC,IAAI,EAAE,OAAO,KAAK;EAC/C,IAAI;IACF,MAAMG,MAAM,GAAG,IAAAC,kCAAoB,EAAC;MAClCC,EAAE,EAAEL,IAAI,CAACM,QAAQ,CAAC,GAAG,CAAC,GAAGN,IAAI,GAAG,GAAGA,IAAI,IAAID,IAAI,EAAE;MACjDQ,MAAM,EAAEX,MAAM,CAACW,MAAM;MACrB1B,MAAM,EAAEe,MAAM,CAACf,MAAM;MACrB2B,OAAO,EAAEZ,MAAM,CAACY;IAClB,CAAC,CAAC;IACDX,UAAU,CAASY,MAAM,EAAEC,IAAI,GAAGP,MAAM,CAAC;IAC1C,OAAO,IAAI;EACb,CAAC,CAAC,OAAOQ,KAAK,EAAE;IACdC,0BAAY,CAACC,GAAG,CAAC,6BAA6B,EAAEF,KAAK,CAAC;IACtD,OAAO,KAAK;EACd;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALAlC,OAAA,CAAAkB,aAAA,GAAAA,aAAA;AAMO,MAAMmB,mBAAmB,GAAIlB,MAGnC,IAAkB;EACjB,MAAMmB,GAAG,GAAGA,CAAA,KAAM;IAChB,MAAMC,OAAO,GAAG,IAAAC,yBAAU,EAAC,CAAC;IAC5B,IAAI,CAACD,OAAO,EAAE,MAAM,IAAIE,KAAK,CAAC,yBAAyB,CAAC;IACxD,OAAOF,OAAO;EAChB,CAAC;EACD,OAAO;IACLG,oBAAoB,EAAGC,MAAM,IAC3B,KAAKL,GAAG,CAAC,CAAC,CAACM,iBAAiB,EAAED,MAAM,CAAiC;IACvEE,YAAY,EAAGC,WAAW,IACxBR,GAAG,CAAC,CAAC,CAACS,YAAY,CAACF,YAAY,CAACC,WAAW,CAAyB;IACtEE,iBAAiB,EAAEA,CAAA,KAAM,KAAKV,GAAG,CAAC,CAAC,CAACW,WAAW,EAAE,CAA2B;IAC5EC,eAAe,EAAE,MAAAA,CAAA,KAAY;MAC3B,MAAMC,QAAQ,GAAG,MAAM,IAAAD,0BAAe,EAAC,CAAC;MACxC,OAAOC,QAAQ,IAAIA,QAAQ,CAACC,UAAU,CAACC,MAAM,GAAG,CAAC,GAC7CF,QAAQ,CAACC,UAAU,GACnB,IAAI;IACV,CAAC;IACDE,UAAU,EAAEA,CAAClD,MAAM,EAAE2B,OAAO,KAAK;MAC/Bb,aAAa,CAAC;QACZM,gBAAgB,EAAEL,MAAM,CAACK,gBAAgB;QACzCM,MAAM,EAAEX,MAAM,CAACW,MAAM;QACrB1B,MAAM;QACN2B;MACF,CAAC,CAAC;IACJ,CAAC;IACDK,GAAG,EAAEA,CAACmB,OAAO,EAAEC,MAAM,KAAKrB,0BAAY,CAACC,GAAG,CAACmB,OAAO,EAAEC,MAAM;EAC5D,CAAC;AACH,CAAC;;AAED;AAAAxD,OAAA,CAAAqC,mBAAA,GAAAA,mBAAA;AAEA,IAAIoB,MAA6D,GAAG,IAAI;AACxE,IAAIC,cAAoD,GAAG,IAAI;AAC/D,MAAMC,eAAe,GAAG,IAAIC,GAAG,CAAa,CAAC;AAE7C,MAAMC,YAAY,GAAGA,CAAA,KAAM;EACzB,KAAK,MAAMC,QAAQ,IAAIC,KAAK,CAACC,IAAI,CAACL,eAAe,CAAC,EAAEG,QAAQ,CAAC,CAAC;AAChE,CAAC;AAEM,MAAMG,sBAAsB,GAAGA,CAAA,KACpCR,MAAM,EAAES,UAAU,IAAI,IAAI;AAAClE,OAAA,CAAAiE,sBAAA,GAAAA,sBAAA;AAEtB,MAAME,kBAAkB,GAAIL,QAAoB,IAAmB;EACxEH,eAAe,CAACS,GAAG,CAACN,QAAQ,CAAC;EAC7B,OAAO,MAAM;IACXH,eAAe,CAACU,MAAM,CAACP,QAAQ,CAAC;EAClC,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AANA9D,OAAA,CAAAmE,kBAAA,GAAAA,kBAAA;AAOO,MAAMG,oBAAoB,GAAGA,CAClCC,GAAW,EACXC,MAA+B,KACT;EACtB,IAAId,cAAc,EAAE;IAClBe,YAAY,CAACf,cAAc,CAAC;IAC5BA,cAAc,GAAG,IAAI;EACvB;EACA,IAAID,MAAM,IAAIA,MAAM,CAACc,GAAG,KAAKA,GAAG,EAAE,OAAOd,MAAM,CAACS,UAAU;EAC1D,IAAIT,MAAM,EAAE;IACVA,MAAM,CAACS,UAAU,CAACQ,OAAO,CAAC,CAAC;IAC3BjB,MAAM,GAAG,IAAI;EACf;EACAA,MAAM,GAAG;IAAEc,GAAG;IAAEL,UAAU,EAAEM,MAAM,CAAC;EAAE,CAAC;EACtCX,YAAY,CAAC,CAAC;EACd,OAAOJ,MAAM,CAACS,UAAU;AAC1B,CAAC;AAAClE,OAAA,CAAAsE,oBAAA,GAAAA,oBAAA;AAEK,MAAMK,oBAAoB,GAAIJ,GAAW,IAAW;EACzD,IAAI,CAACd,MAAM,IAAIA,MAAM,CAACc,GAAG,KAAKA,GAAG,EAAE;EACnC,MAAMK,QAAQ,GAAGnB,MAAM;EACvB,IAAIC,cAAc,EAAEe,YAAY,CAACf,cAAc,CAAC;EAChDA,cAAc,GAAGmB,UAAU,CAAC,MAAM;IAChCnB,cAAc,GAAG,IAAI;IACrB,IAAID,MAAM,KAAKmB,QAAQ,EAAE;MACvBnB,MAAM,GAAG,IAAI;MACbI,YAAY,CAAC,CAAC;IAChB;IACAe,QAAQ,CAACV,UAAU,CAACQ,OAAO,CAAC,CAAC;EAC/B,CAAC,EAAE,CAAC,CAAC;AACP,CAAC;AAAC1E,OAAA,CAAA2E,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.P2PSignalInbox = void 0;
7
+ // Routes incoming p2p signals to the call that owns them.
8
+ //
9
+ // Signals can arrive before anyone is listening: the caller's offer and first
10
+ // candidates are on the wire while the callee is still on the ring screen (the
11
+ // controller only exists after Accept), and may even overtake the relayed
12
+ // call-token that tells the callee the call exists. So signals for a callId
13
+ // with no listener are held briefly and replayed in order when a controller
14
+ // attaches. The hold is small and bounded on purpose: a signal for a call that
15
+ // never materialises is just dropped when its time is up, so unknown callIds
16
+ // stay inert (they never raise UI and never grow memory without limit).
17
+
18
+ const CLOSED_MEMORY = 16;
19
+ class P2PSignalInbox {
20
+ pending = new Map();
21
+ handlers = new Map();
22
+ // Calls that already ended: late stragglers for them are dropped instead of
23
+ // being buffered for a controller that will never come.
24
+ closed = [];
25
+ constructor(options = {}) {
26
+ this.ttlMs = options.ttlMs ?? 20_000;
27
+ this.maxPendingCalls = options.maxPendingCalls ?? 8;
28
+ this.maxPerCall = options.maxPerCall ?? 96;
29
+ this.now = options.now ?? Date.now;
30
+ }
31
+ sweep() {
32
+ const cutoff = this.now() - this.ttlMs;
33
+ for (const [callId, entry] of this.pending) {
34
+ if (entry.firstAt < cutoff) this.pending.delete(callId);
35
+ }
36
+ }
37
+ receive(signal) {
38
+ const handler = this.handlers.get(signal.callId);
39
+ if (handler) {
40
+ handler(signal);
41
+ return 'delivered';
42
+ }
43
+ if (this.closed.includes(signal.callId)) return 'dropped';
44
+ this.sweep();
45
+ let entry = this.pending.get(signal.callId);
46
+ if (!entry) {
47
+ if (this.pending.size >= this.maxPendingCalls) {
48
+ const oldest = this.pending.keys().next().value;
49
+ if (oldest !== undefined) this.pending.delete(oldest);
50
+ }
51
+ entry = {
52
+ firstAt: this.now(),
53
+ signals: []
54
+ };
55
+ this.pending.set(signal.callId, entry);
56
+ }
57
+ if (entry.signals.length >= this.maxPerCall) return 'dropped';
58
+ entry.signals.push(signal);
59
+ return 'buffered';
60
+ }
61
+
62
+ /**
63
+ * Starts delivering a call's signals to `handler`, replaying anything held
64
+ * for it first (in arrival order). Returns a detach function that also
65
+ * marks the call closed.
66
+ */
67
+ attach(callId, handler) {
68
+ const idx = this.closed.indexOf(callId);
69
+ if (idx >= 0) this.closed.splice(idx, 1);
70
+ this.sweep();
71
+ const held = this.pending.get(callId);
72
+ this.pending.delete(callId);
73
+ this.handlers.set(callId, handler);
74
+ if (held) {
75
+ for (const signal of held.signals) handler(signal);
76
+ }
77
+ return () => {
78
+ if (this.handlers.get(callId) === handler) this.handlers.delete(callId);
79
+ this.close(callId);
80
+ };
81
+ }
82
+
83
+ /** The call is over: forget held signals and drop future stragglers. */
84
+ close(callId) {
85
+ this.pending.delete(callId);
86
+ if (!this.closed.includes(callId)) {
87
+ this.closed.push(callId);
88
+ if (this.closed.length > CLOSED_MEMORY) this.closed.shift();
89
+ }
90
+ }
91
+ clear() {
92
+ this.pending.clear();
93
+ this.handlers.clear();
94
+ this.closed.length = 0;
95
+ }
96
+ }
97
+ exports.P2PSignalInbox = P2PSignalInbox;
98
+ //# sourceMappingURL=signalInbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CLOSED_MEMORY","P2PSignalInbox","pending","Map","handlers","closed","constructor","options","ttlMs","maxPendingCalls","maxPerCall","now","Date","sweep","cutoff","callId","entry","firstAt","delete","receive","signal","handler","get","includes","size","oldest","keys","next","value","undefined","signals","set","length","push","attach","idx","indexOf","splice","held","close","shift","clear","exports"],"sourceRoot":"../../../../src","sources":["calls/p2p/signalInbox.ts"],"mappings":"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","ignoreList":[]}