@ethora/chat-component-rn 26.10.4 → 26.10.6

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 (451) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +15 -0
  3. package/app.plugin.js +2 -0
  4. package/lib/commonjs/assets/icons.js +2 -2
  5. package/lib/commonjs/assets/icons.js.map +1 -1
  6. package/lib/commonjs/components/MainComponents/AlbumGrid.js +152 -0
  7. package/lib/commonjs/components/MainComponents/AlbumGrid.js.map +1 -0
  8. package/lib/commonjs/components/MainComponents/ChatRoom.js +2 -2
  9. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  10. package/lib/commonjs/components/MainComponents/MediaMessage.js +199 -123
  11. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  12. package/lib/commonjs/components/MainComponents/MediaUploadOverlay.js +109 -0
  13. package/lib/commonjs/components/MainComponents/MediaUploadOverlay.js.map +1 -0
  14. package/lib/commonjs/components/MessageBubble/MediaCaption.js +51 -0
  15. package/lib/commonjs/components/MessageBubble/MediaCaption.js.map +1 -0
  16. package/lib/commonjs/components/MessageBubble/Message.js +40 -1
  17. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  18. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +2 -1
  19. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  20. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +75 -0
  21. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  22. package/lib/commonjs/components/RoomComponents/LastMessageItem.js +20 -4
  23. package/lib/commonjs/components/RoomComponents/LastMessageItem.js.map +1 -1
  24. package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js +3 -2
  25. package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  26. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +3 -2
  27. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  28. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +3 -2
  29. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  30. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +3 -2
  31. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  32. package/lib/commonjs/components/Thread/ThreadWrapper.js +3 -2
  33. package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
  34. package/lib/commonjs/components/VideoCalls/ActiveCallBar.js +61 -16
  35. package/lib/commonjs/components/VideoCalls/ActiveCallBar.js.map +1 -1
  36. package/lib/commonjs/components/VideoCalls/CallIcons.js +41 -16
  37. package/lib/commonjs/components/VideoCalls/CallIcons.js.map +1 -1
  38. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js +183 -9
  39. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  40. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +40 -15
  41. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
  42. package/lib/commonjs/components/VideoCalls/callSessionController.js +49 -26
  43. package/lib/commonjs/components/VideoCalls/callSessionController.js.map +1 -1
  44. package/lib/commonjs/components/VideoCalls/callUiStore.js +33 -4
  45. package/lib/commonjs/components/VideoCalls/callUiStore.js.map +1 -1
  46. package/lib/commonjs/components/VideoCalls/livekitRuntime.js +9 -1
  47. package/lib/commonjs/components/VideoCalls/livekitRuntime.js.map +1 -1
  48. package/lib/commonjs/components/VideoCalls/useCallKeep.js +197 -28
  49. package/lib/commonjs/components/VideoCalls/useCallKeep.js.map +1 -1
  50. package/lib/commonjs/components/VideoCalls/useOngoingCallNotification.js +88 -0
  51. package/lib/commonjs/components/VideoCalls/useOngoingCallNotification.js.map +1 -0
  52. package/lib/commonjs/components/VideoCalls/usePipTile.js +232 -0
  53. package/lib/commonjs/components/VideoCalls/usePipTile.js.map +1 -0
  54. package/lib/commonjs/components/styled/MediaFilePreview.js +60 -47
  55. package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
  56. package/lib/commonjs/components/styled/MessageImage.js +16 -6
  57. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  58. package/lib/commonjs/components/styled/SendInput.js +99 -68
  59. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  60. package/lib/commonjs/components/styled/VideoMessage.js +24 -10
  61. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  62. package/lib/commonjs/context/xmppProvider.js +46 -0
  63. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  64. package/lib/commonjs/e2ee/fileEnvelope.js +6 -0
  65. package/lib/commonjs/e2ee/fileEnvelope.js.map +1 -1
  66. package/lib/commonjs/e2ee/sealedBody.js +32 -2
  67. package/lib/commonjs/e2ee/sealedBody.js.map +1 -1
  68. package/lib/commonjs/helpers/albumLayout.js +150 -0
  69. package/lib/commonjs/helpers/albumLayout.js.map +1 -0
  70. package/lib/commonjs/helpers/attachments.js +255 -0
  71. package/lib/commonjs/helpers/attachments.js.map +1 -0
  72. package/lib/commonjs/helpers/caption.js +214 -0
  73. package/lib/commonjs/helpers/caption.js.map +1 -0
  74. package/lib/commonjs/helpers/createMainMessageForThread.js +5 -1
  75. package/lib/commonjs/helpers/createMainMessageForThread.js.map +1 -1
  76. package/lib/commonjs/helpers/createMessageFromXml.js +19 -5
  77. package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
  78. package/lib/commonjs/helpers/fileKind.js +40 -0
  79. package/lib/commonjs/helpers/fileKind.js.map +1 -0
  80. package/lib/commonjs/helpers/getDataFromXml.js +6 -1
  81. package/lib/commonjs/helpers/getDataFromXml.js.map +1 -1
  82. package/lib/commonjs/helpers/mapWithConcurrency.js +41 -0
  83. package/lib/commonjs/helpers/mapWithConcurrency.js.map +1 -0
  84. package/lib/commonjs/helpers/mediaLimits.js +33 -0
  85. package/lib/commonjs/helpers/mediaLimits.js.map +1 -0
  86. package/lib/commonjs/helpers/mediaSendRetry.js +64 -0
  87. package/lib/commonjs/helpers/mediaSendRetry.js.map +1 -0
  88. package/lib/commonjs/helpers/mediaWireData.js +62 -0
  89. package/lib/commonjs/helpers/mediaWireData.js.map +1 -0
  90. package/lib/commonjs/helpers/mentionSpans.js +19 -0
  91. package/lib/commonjs/helpers/mentionSpans.js.map +1 -0
  92. package/lib/commonjs/helpers/mimeToExtension.js +45 -0
  93. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  94. package/lib/commonjs/helpers/readReceipts.js +173 -0
  95. package/lib/commonjs/helpers/readReceipts.js.map +1 -0
  96. package/lib/commonjs/helpers/repairFilenameEncoding.js +79 -0
  97. package/lib/commonjs/helpers/repairFilenameEncoding.js.map +1 -0
  98. package/lib/commonjs/helpers/safeJson.js +18 -0
  99. package/lib/commonjs/helpers/safeJson.js.map +1 -0
  100. package/lib/commonjs/helpers/updateMessagesTillLast.js +3 -1
  101. package/lib/commonjs/helpers/updateMessagesTillLast.js.map +1 -1
  102. package/lib/commonjs/hooks/useSendMessage.js +384 -193
  103. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  104. package/lib/commonjs/i18n/strings.js +144 -0
  105. package/lib/commonjs/i18n/strings.js.map +1 -1
  106. package/lib/commonjs/main.js.map +1 -1
  107. package/lib/commonjs/networking/api-requests/auth.api.js +62 -3
  108. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  109. package/lib/commonjs/networking/stanzaHandlers.js +100 -3
  110. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  111. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +4 -2
  112. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  113. package/lib/commonjs/networking/xmpp/sendDisplayedMarker.xmpp.js +28 -0
  114. package/lib/commonjs/networking/xmpp/sendDisplayedMarker.xmpp.js.map +1 -0
  115. package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js +53 -2
  116. package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
  117. package/lib/commonjs/networking/xmpp/sendReceivedReceipt.xmpp.js +28 -0
  118. package/lib/commonjs/networking/xmpp/sendReceivedReceipt.xmpp.js.map +1 -0
  119. package/lib/commonjs/networking/xmppClient.js +64 -0
  120. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  121. package/lib/commonjs/roomStore/persistence.js +78 -5
  122. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  123. package/lib/commonjs/roomStore/roomHeapSlice.js +4 -0
  124. package/lib/commonjs/roomStore/roomHeapSlice.js.map +1 -1
  125. package/lib/commonjs/roomStore/roomsSlice.js +114 -1
  126. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  127. package/lib/commonjs/types/models/attachment.model.js +2 -0
  128. package/lib/commonjs/types/models/attachment.model.js.map +1 -0
  129. package/lib/commonjs/version.js +1 -1
  130. package/lib/module/assets/icons.js +1 -1
  131. package/lib/module/assets/icons.js.map +1 -1
  132. package/lib/module/components/MainComponents/AlbumGrid.js +146 -0
  133. package/lib/module/components/MainComponents/AlbumGrid.js.map +1 -0
  134. package/lib/module/components/MainComponents/ChatRoom.js +2 -2
  135. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  136. package/lib/module/components/MainComponents/MediaMessage.js +200 -124
  137. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  138. package/lib/module/components/MainComponents/MediaUploadOverlay.js +104 -0
  139. package/lib/module/components/MainComponents/MediaUploadOverlay.js.map +1 -0
  140. package/lib/module/components/MessageBubble/MediaCaption.js +46 -0
  141. package/lib/module/components/MessageBubble/MediaCaption.js.map +1 -0
  142. package/lib/module/components/MessageBubble/Message.js +44 -5
  143. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  144. package/lib/module/components/MessageBubble/MessageInteractions.js +2 -1
  145. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  146. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +75 -0
  147. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  148. package/lib/module/components/RoomComponents/LastMessageItem.js +20 -4
  149. package/lib/module/components/RoomComponents/LastMessageItem.js.map +1 -1
  150. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +3 -2
  151. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  152. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +3 -2
  153. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  154. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +3 -2
  155. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  156. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +3 -2
  157. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  158. package/lib/module/components/Thread/ThreadWrapper.js +3 -2
  159. package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
  160. package/lib/module/components/VideoCalls/ActiveCallBar.js +63 -18
  161. package/lib/module/components/VideoCalls/ActiveCallBar.js.map +1 -1
  162. package/lib/module/components/VideoCalls/CallIcons.js +38 -15
  163. package/lib/module/components/VideoCalls/CallIcons.js.map +1 -1
  164. package/lib/module/components/VideoCalls/VideoCallOverlay.js +185 -11
  165. package/lib/module/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  166. package/lib/module/components/VideoCalls/VideoCallSession.js +41 -16
  167. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
  168. package/lib/module/components/VideoCalls/callSessionController.js +46 -24
  169. package/lib/module/components/VideoCalls/callSessionController.js.map +1 -1
  170. package/lib/module/components/VideoCalls/callUiStore.js +30 -3
  171. package/lib/module/components/VideoCalls/callUiStore.js.map +1 -1
  172. package/lib/module/components/VideoCalls/livekitRuntime.js +9 -1
  173. package/lib/module/components/VideoCalls/livekitRuntime.js.map +1 -1
  174. package/lib/module/components/VideoCalls/useCallKeep.js +198 -29
  175. package/lib/module/components/VideoCalls/useCallKeep.js.map +1 -1
  176. package/lib/module/components/VideoCalls/useOngoingCallNotification.js +84 -0
  177. package/lib/module/components/VideoCalls/useOngoingCallNotification.js.map +1 -0
  178. package/lib/module/components/VideoCalls/usePipTile.js +228 -0
  179. package/lib/module/components/VideoCalls/usePipTile.js.map +1 -0
  180. package/lib/module/components/styled/MediaFilePreview.js +61 -48
  181. package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
  182. package/lib/module/components/styled/MessageImage.js +16 -6
  183. package/lib/module/components/styled/MessageImage.js.map +1 -1
  184. package/lib/module/components/styled/SendInput.js +99 -68
  185. package/lib/module/components/styled/SendInput.js.map +1 -1
  186. package/lib/module/components/styled/VideoMessage.js +24 -10
  187. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  188. package/lib/module/context/xmppProvider.js +46 -0
  189. package/lib/module/context/xmppProvider.js.map +1 -1
  190. package/lib/module/e2ee/fileEnvelope.js +1 -1
  191. package/lib/module/e2ee/fileEnvelope.js.map +1 -1
  192. package/lib/module/e2ee/sealedBody.js +32 -2
  193. package/lib/module/e2ee/sealedBody.js.map +1 -1
  194. package/lib/module/helpers/albumLayout.js +143 -0
  195. package/lib/module/helpers/albumLayout.js.map +1 -0
  196. package/lib/module/helpers/attachments.js +245 -0
  197. package/lib/module/helpers/attachments.js.map +1 -0
  198. package/lib/module/helpers/caption.js +207 -0
  199. package/lib/module/helpers/caption.js.map +1 -0
  200. package/lib/module/helpers/createMainMessageForThread.js +5 -1
  201. package/lib/module/helpers/createMainMessageForThread.js.map +1 -1
  202. package/lib/module/helpers/createMessageFromXml.js +20 -6
  203. package/lib/module/helpers/createMessageFromXml.js.map +1 -1
  204. package/lib/module/helpers/fileKind.js +34 -0
  205. package/lib/module/helpers/fileKind.js.map +1 -0
  206. package/lib/module/helpers/getDataFromXml.js +6 -1
  207. package/lib/module/helpers/getDataFromXml.js.map +1 -1
  208. package/lib/module/helpers/mapWithConcurrency.js +37 -0
  209. package/lib/module/helpers/mapWithConcurrency.js.map +1 -0
  210. package/lib/module/helpers/mediaLimits.js +27 -0
  211. package/lib/module/helpers/mediaLimits.js.map +1 -0
  212. package/lib/module/helpers/mediaSendRetry.js +55 -0
  213. package/lib/module/helpers/mediaSendRetry.js.map +1 -0
  214. package/lib/module/helpers/mediaWireData.js +58 -0
  215. package/lib/module/helpers/mediaWireData.js.map +1 -0
  216. package/lib/module/helpers/mentionSpans.js +14 -0
  217. package/lib/module/helpers/mentionSpans.js.map +1 -0
  218. package/lib/module/helpers/mimeToExtension.js +43 -0
  219. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  220. package/lib/module/helpers/readReceipts.js +160 -0
  221. package/lib/module/helpers/readReceipts.js.map +1 -0
  222. package/lib/module/helpers/repairFilenameEncoding.js +74 -0
  223. package/lib/module/helpers/repairFilenameEncoding.js.map +1 -0
  224. package/lib/module/helpers/safeJson.js +13 -0
  225. package/lib/module/helpers/safeJson.js.map +1 -0
  226. package/lib/module/helpers/updateMessagesTillLast.js +3 -1
  227. package/lib/module/helpers/updateMessagesTillLast.js.map +1 -1
  228. package/lib/module/hooks/useSendMessage.js +387 -195
  229. package/lib/module/hooks/useSendMessage.js.map +1 -1
  230. package/lib/module/i18n/strings.js +144 -0
  231. package/lib/module/i18n/strings.js.map +1 -1
  232. package/lib/module/main.js.map +1 -1
  233. package/lib/module/networking/api-requests/auth.api.js +62 -3
  234. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  235. package/lib/module/networking/stanzaHandlers.js +97 -4
  236. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  237. package/lib/module/networking/xmpp/handleStanzas.xmpp.js +5 -3
  238. package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  239. package/lib/module/networking/xmpp/sendDisplayedMarker.xmpp.js +25 -0
  240. package/lib/module/networking/xmpp/sendDisplayedMarker.xmpp.js.map +1 -0
  241. package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js +53 -2
  242. package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
  243. package/lib/module/networking/xmpp/sendReceivedReceipt.xmpp.js +25 -0
  244. package/lib/module/networking/xmpp/sendReceivedReceipt.xmpp.js.map +1 -0
  245. package/lib/module/networking/xmppClient.js +64 -0
  246. package/lib/module/networking/xmppClient.js.map +1 -1
  247. package/lib/module/roomStore/persistence.js +78 -5
  248. package/lib/module/roomStore/persistence.js.map +1 -1
  249. package/lib/module/roomStore/roomHeapSlice.js +4 -0
  250. package/lib/module/roomStore/roomHeapSlice.js.map +1 -1
  251. package/lib/module/roomStore/roomsSlice.js +109 -0
  252. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  253. package/lib/module/types/models/attachment.model.js +2 -0
  254. package/lib/module/types/models/attachment.model.js.map +1 -0
  255. package/lib/module/version.js +1 -1
  256. package/lib/typescript/assets/icons.d.ts +6 -1
  257. package/lib/typescript/assets/icons.d.ts.map +1 -1
  258. package/lib/typescript/components/MainComponents/AlbumGrid.d.ts +21 -0
  259. package/lib/typescript/components/MainComponents/AlbumGrid.d.ts.map +1 -0
  260. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  261. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  262. package/lib/typescript/components/MainComponents/MediaUploadOverlay.d.ts +17 -0
  263. package/lib/typescript/components/MainComponents/MediaUploadOverlay.d.ts.map +1 -0
  264. package/lib/typescript/components/MessageBubble/MediaCaption.d.ts +12 -0
  265. package/lib/typescript/components/MessageBubble/MediaCaption.d.ts.map +1 -0
  266. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  267. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  268. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  269. package/lib/typescript/components/RoomComponents/LastMessageItem.d.ts.map +1 -1
  270. package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts +2 -0
  271. package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts.map +1 -1
  272. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +2 -0
  273. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
  274. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +2 -0
  275. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
  276. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +2 -0
  277. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
  278. package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
  279. package/lib/typescript/components/VideoCalls/ActiveCallBar.d.ts +9 -3
  280. package/lib/typescript/components/VideoCalls/ActiveCallBar.d.ts.map +1 -1
  281. package/lib/typescript/components/VideoCalls/CallIcons.d.ts +9 -0
  282. package/lib/typescript/components/VideoCalls/CallIcons.d.ts.map +1 -1
  283. package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts.map +1 -1
  284. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
  285. package/lib/typescript/components/VideoCalls/callSessionController.d.ts +7 -0
  286. package/lib/typescript/components/VideoCalls/callSessionController.d.ts.map +1 -1
  287. package/lib/typescript/components/VideoCalls/callUiStore.d.ts +13 -0
  288. package/lib/typescript/components/VideoCalls/callUiStore.d.ts.map +1 -1
  289. package/lib/typescript/components/VideoCalls/livekitRuntime.d.ts +5 -0
  290. package/lib/typescript/components/VideoCalls/livekitRuntime.d.ts.map +1 -1
  291. package/lib/typescript/components/VideoCalls/useCallKeep.d.ts +12 -0
  292. package/lib/typescript/components/VideoCalls/useCallKeep.d.ts.map +1 -1
  293. package/lib/typescript/components/VideoCalls/useOngoingCallNotification.d.ts +10 -0
  294. package/lib/typescript/components/VideoCalls/useOngoingCallNotification.d.ts.map +1 -0
  295. package/lib/typescript/components/VideoCalls/usePipTile.d.ts +46 -0
  296. package/lib/typescript/components/VideoCalls/usePipTile.d.ts.map +1 -0
  297. package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
  298. package/lib/typescript/components/styled/MessageImage.d.ts +10 -0
  299. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  300. package/lib/typescript/components/styled/SendInput.d.ts +7 -1
  301. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  302. package/lib/typescript/components/styled/VideoMessage.d.ts +7 -0
  303. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  304. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  305. package/lib/typescript/e2ee/fileEnvelope.d.ts +1 -1
  306. package/lib/typescript/e2ee/fileEnvelope.d.ts.map +1 -1
  307. package/lib/typescript/e2ee/sealedBody.d.ts +16 -0
  308. package/lib/typescript/e2ee/sealedBody.d.ts.map +1 -1
  309. package/lib/typescript/helpers/albumLayout.d.ts +66 -0
  310. package/lib/typescript/helpers/albumLayout.d.ts.map +1 -0
  311. package/lib/typescript/helpers/attachments.d.ts +55 -0
  312. package/lib/typescript/helpers/attachments.d.ts.map +1 -0
  313. package/lib/typescript/helpers/caption.d.ts +64 -0
  314. package/lib/typescript/helpers/caption.d.ts.map +1 -0
  315. package/lib/typescript/helpers/createMainMessageForThread.d.ts.map +1 -1
  316. package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
  317. package/lib/typescript/helpers/fileKind.d.ts +20 -0
  318. package/lib/typescript/helpers/fileKind.d.ts.map +1 -0
  319. package/lib/typescript/helpers/getDataFromXml.d.ts.map +1 -1
  320. package/lib/typescript/helpers/mapWithConcurrency.d.ts +9 -0
  321. package/lib/typescript/helpers/mapWithConcurrency.d.ts.map +1 -0
  322. package/lib/typescript/helpers/mediaLimits.d.ts +13 -0
  323. package/lib/typescript/helpers/mediaLimits.d.ts.map +1 -0
  324. package/lib/typescript/helpers/mediaSendRetry.d.ts +26 -0
  325. package/lib/typescript/helpers/mediaSendRetry.d.ts.map +1 -0
  326. package/lib/typescript/helpers/mediaWireData.d.ts +16 -0
  327. package/lib/typescript/helpers/mediaWireData.d.ts.map +1 -0
  328. package/lib/typescript/helpers/mentionSpans.d.ts +8 -0
  329. package/lib/typescript/helpers/mentionSpans.d.ts.map +1 -0
  330. package/lib/typescript/helpers/mimeToExtension.d.ts +7 -0
  331. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  332. package/lib/typescript/helpers/readReceipts.d.ts +82 -0
  333. package/lib/typescript/helpers/readReceipts.d.ts.map +1 -0
  334. package/lib/typescript/helpers/repairFilenameEncoding.d.ts +12 -0
  335. package/lib/typescript/helpers/repairFilenameEncoding.d.ts.map +1 -0
  336. package/lib/typescript/helpers/safeJson.d.ts +2 -0
  337. package/lib/typescript/helpers/safeJson.d.ts.map +1 -0
  338. package/lib/typescript/helpers/updateMessagesTillLast.d.ts.map +1 -1
  339. package/lib/typescript/hooks/useSendMessage.d.ts +2 -1
  340. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  341. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  342. package/lib/typescript/main.d.ts +1 -1
  343. package/lib/typescript/main.d.ts.map +1 -1
  344. package/lib/typescript/networking/api-requests/auth.api.d.ts +2 -0
  345. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  346. package/lib/typescript/networking/stanzaHandlers.d.ts +7 -3
  347. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  348. package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts.map +1 -1
  349. package/lib/typescript/networking/xmpp/sendDisplayedMarker.xmpp.d.ts +3 -0
  350. package/lib/typescript/networking/xmpp/sendDisplayedMarker.xmpp.d.ts.map +1 -0
  351. package/lib/typescript/networking/xmpp/sendMediaMessage.xmpp.d.ts +12 -0
  352. package/lib/typescript/networking/xmpp/sendMediaMessage.xmpp.d.ts.map +1 -1
  353. package/lib/typescript/networking/xmpp/sendReceivedReceipt.xmpp.d.ts +3 -0
  354. package/lib/typescript/networking/xmpp/sendReceivedReceipt.xmpp.d.ts.map +1 -0
  355. package/lib/typescript/networking/xmppClient.d.ts +15 -0
  356. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  357. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  358. package/lib/typescript/roomStore/roomHeapSlice.d.ts +22 -1
  359. package/lib/typescript/roomStore/roomHeapSlice.d.ts.map +1 -1
  360. package/lib/typescript/roomStore/roomsSlice.d.ts +67 -3
  361. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  362. package/lib/typescript/types/models/attachment.model.d.ts +52 -0
  363. package/lib/typescript/types/models/attachment.model.d.ts.map +1 -0
  364. package/lib/typescript/types/models/message.model.d.ts +26 -0
  365. package/lib/typescript/types/models/message.model.d.ts.map +1 -1
  366. package/lib/typescript/types/models/modal.model.d.ts +7 -0
  367. package/lib/typescript/types/models/modal.model.d.ts.map +1 -1
  368. package/lib/typescript/types/models/room.model.d.ts +2 -0
  369. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  370. package/lib/typescript/types/types.d.ts +69 -1
  371. package/lib/typescript/types/types.d.ts.map +1 -1
  372. package/lib/typescript/version.d.ts +1 -1
  373. package/package.json +4 -1
  374. package/plugins/notification-service/Info.plist +31 -0
  375. package/plugins/notification-service/NotificationService.swift +82 -0
  376. package/plugins/withNotificationServiceExtension.js +137 -0
  377. package/src/assets/icons.tsx +20 -2
  378. package/src/components/MainComponents/AlbumGrid.tsx +183 -0
  379. package/src/components/MainComponents/ChatRoom.tsx +4 -2
  380. package/src/components/MainComponents/MediaMessage.tsx +246 -130
  381. package/src/components/MainComponents/MediaUploadOverlay.tsx +102 -0
  382. package/src/components/MessageBubble/MediaCaption.tsx +45 -0
  383. package/src/components/MessageBubble/Message.tsx +71 -3
  384. package/src/components/MessageBubble/MessageInteractions.tsx +2 -1
  385. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +64 -0
  386. package/src/components/RoomComponents/LastMessageItem.tsx +15 -4
  387. package/src/components/RoomComponents/styled/LastAudioMessage.tsx +6 -3
  388. package/src/components/RoomComponents/styled/LastMessageFile.tsx +6 -2
  389. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +6 -2
  390. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +6 -2
  391. package/src/components/Thread/ThreadWrapper.tsx +5 -9
  392. package/src/components/VideoCalls/ActiveCallBar.tsx +56 -10
  393. package/src/components/VideoCalls/CallIcons.tsx +36 -12
  394. package/src/components/VideoCalls/VideoCallOverlay.tsx +205 -8
  395. package/src/components/VideoCalls/VideoCallSession.tsx +45 -13
  396. package/src/components/VideoCalls/callSessionController.ts +51 -20
  397. package/src/components/VideoCalls/callUiStore.ts +33 -3
  398. package/src/components/VideoCalls/livekitRuntime.ts +13 -0
  399. package/src/components/VideoCalls/useCallKeep.ts +204 -33
  400. package/src/components/VideoCalls/useOngoingCallNotification.ts +113 -0
  401. package/src/components/VideoCalls/usePipTile.ts +214 -0
  402. package/src/components/styled/MediaFilePreview.tsx +49 -34
  403. package/src/components/styled/MessageImage.tsx +21 -5
  404. package/src/components/styled/SendInput.tsx +101 -87
  405. package/src/components/styled/VideoMessage.tsx +34 -9
  406. package/src/context/xmppProvider.tsx +32 -0
  407. package/src/e2ee/fileEnvelope.ts +1 -1
  408. package/src/e2ee/sealedBody.ts +44 -5
  409. package/src/helpers/albumLayout.ts +207 -0
  410. package/src/helpers/attachments.ts +316 -0
  411. package/src/helpers/caption.ts +283 -0
  412. package/src/helpers/createMainMessageForThread.ts +6 -1
  413. package/src/helpers/createMessageFromXml.ts +21 -5
  414. package/src/helpers/fileKind.ts +38 -0
  415. package/src/helpers/getDataFromXml.ts +5 -1
  416. package/src/helpers/mapWithConcurrency.ts +32 -0
  417. package/src/helpers/mediaLimits.ts +27 -0
  418. package/src/helpers/mediaSendRetry.ts +59 -0
  419. package/src/helpers/mediaWireData.ts +57 -0
  420. package/src/helpers/mentionSpans.ts +17 -0
  421. package/src/helpers/mimeToExtension.ts +51 -0
  422. package/src/helpers/readReceipts.ts +219 -0
  423. package/src/helpers/repairFilenameEncoding.ts +82 -0
  424. package/src/helpers/safeJson.ts +11 -0
  425. package/src/helpers/updateMessagesTillLast.tsx +2 -1
  426. package/src/hooks/useSendMessage.tsx +448 -249
  427. package/src/i18n/strings.ts +144 -0
  428. package/src/main.ts +3 -0
  429. package/src/networking/api-requests/auth.api.ts +60 -3
  430. package/src/networking/stanzaHandlers.ts +91 -2
  431. package/src/networking/xmpp/handleStanzas.xmpp.ts +6 -2
  432. package/src/networking/xmpp/sendDisplayedMarker.xmpp.ts +31 -0
  433. package/src/networking/xmpp/sendMediaMessage.xmpp.ts +60 -3
  434. package/src/networking/xmpp/sendReceivedReceipt.xmpp.ts +31 -0
  435. package/src/networking/xmppClient.ts +48 -0
  436. package/src/roomStore/persistence.ts +94 -3
  437. package/src/roomStore/roomHeapSlice.ts +23 -1
  438. package/src/roomStore/roomsSlice.ts +112 -1
  439. package/src/types/models/attachment.model.ts +51 -0
  440. package/src/types/models/message.model.ts +29 -0
  441. package/src/types/models/modal.model.ts +7 -0
  442. package/src/types/models/room.model.ts +2 -0
  443. package/src/types/types.ts +83 -1
  444. package/src/version.ts +1 -1
  445. package/lib/commonjs/components/VideoCalls/useDraggable.js +0 -59
  446. package/lib/commonjs/components/VideoCalls/useDraggable.js.map +0 -1
  447. package/lib/module/components/VideoCalls/useDraggable.js +0 -55
  448. package/lib/module/components/VideoCalls/useDraggable.js.map +0 -1
  449. package/lib/typescript/components/VideoCalls/useDraggable.d.ts +0 -19
  450. package/lib/typescript/components/VideoCalls/useDraggable.d.ts.map +0 -1
  451. package/src/components/VideoCalls/useDraggable.ts +0 -46
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import React, { useEffect, useState } from 'react';
3
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
4
4
  import { Pressable, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
5
5
  import { useSelector } from 'react-redux';
6
6
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
@@ -10,10 +10,19 @@ import { useT } from '../../i18n/useT';
10
10
  import { ExpandIcon, HangUpIcon, MicOffIcon, MicOnIcon } from './CallIcons';
11
11
  import { toggleCallMic, useCallSession } from './callSessionController';
12
12
  import { terminateActiveCall } from './callActions';
13
- import { registerCallBarHost, setCallMinimized, useCallUi } from './callUiStore';
13
+ import { registerCallBarHost, setCallBarAnchor, setCallMinimized, useCallUi } from './callUiStore';
14
14
  import { formatCallDuration, useSharedCallElapsed } from './VideoCallSession';
15
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
16
16
  const DANGER = '#E53935';
17
+
18
+ /**
19
+ * The strip's geometry: a floating bubble under the header. Exported so the
20
+ * collapse animation of the full-screen call lands exactly on it.
21
+ */
22
+ export const CALL_BAR_HEIGHT = 52;
23
+ export const CALL_BAR_MARGIN_X = 8;
24
+ export const CALL_BAR_MARGIN_TOP = 6;
25
+ export const CALL_BAR_RADIUS = 18;
17
26
  const ON_BAR = '#FFFFFF';
18
27
  const CONTROL = 'rgba(255, 255, 255, 0.2)';
19
28
 
@@ -34,9 +43,7 @@ const useShowCallBar = () => {
34
43
  * Tapping anywhere on it (outside the buttons) brings the call back
35
44
  * full-screen, like Telegram's "return to call" bar.
36
45
  */
37
- export const ActiveCallBar = ({
38
- topInset = 0
39
- }) => {
46
+ export const ActiveCallBar = () => {
40
47
  const t = useT();
41
48
  const theme = useTheme();
42
49
  const {
@@ -56,8 +63,7 @@ export const ActiveCallBar = ({
56
63
  accessibilityRole: "button",
57
64
  accessibilityLabel: t('call.action.expand'),
58
65
  style: [styles.bar, {
59
- backgroundColor: theme.success,
60
- paddingTop: 8 + topInset
66
+ backgroundColor: theme.success
61
67
  }],
62
68
  children: [/*#__PURE__*/_jsxs(View, {
63
69
  style: styles.info,
@@ -124,13 +130,36 @@ export const HeaderCallBar = () => {
124
130
  barHost
125
131
  } = useCallUi();
126
132
  const show = useShowCallBar();
133
+ const anchorRef = useRef(null);
134
+ const isHost = hostId !== null && barHost === hostId;
127
135
 
128
136
  // Returns its own unregister, which is the effect's cleanup.
129
137
  useEffect(() => registerCallBarHost(setHostId), []);
130
- if (!show || hostId === null || barHost !== hostId) {
131
- return null;
132
- }
133
- return /*#__PURE__*/_jsx(ActiveCallBar, {});
138
+
139
+ // Where the strip goes on screen, for the collapse animation to aim at.
140
+ const measure = useCallback(() => {
141
+ if (hostId === null) {
142
+ return;
143
+ }
144
+ anchorRef.current?.measureInWindow((_x, y) => {
145
+ if (Number.isFinite(y)) {
146
+ setCallBarAnchor(hostId, y);
147
+ }
148
+ });
149
+ }, [hostId]);
150
+ useEffect(() => {
151
+ if (isHost) {
152
+ measure();
153
+ }
154
+ }, [isHost, measure]);
155
+ return /*#__PURE__*/_jsxs(_Fragment, {
156
+ children: [/*#__PURE__*/_jsx(View, {
157
+ ref: anchorRef,
158
+ collapsable: false,
159
+ onLayout: measure,
160
+ style: styles.anchor
161
+ }), show && isHost ? /*#__PURE__*/_jsx(ActiveCallBar, {}) : null]
162
+ });
134
163
  };
135
164
 
136
165
  /**
@@ -147,11 +176,11 @@ export const DockedCallBar = () => {
147
176
  return null;
148
177
  }
149
178
  return /*#__PURE__*/_jsx(View, {
150
- style: styles.docked,
179
+ style: [styles.docked, {
180
+ paddingTop: insets.top
181
+ }],
151
182
  pointerEvents: "box-none",
152
- children: /*#__PURE__*/_jsx(ActiveCallBar, {
153
- topInset: insets.top
154
- })
183
+ children: /*#__PURE__*/_jsx(ActiveCallBar, {})
155
184
  });
156
185
  };
157
186
  const styles = StyleSheet.create({
@@ -159,8 +188,24 @@ const styles = StyleSheet.create({
159
188
  flexDirection: 'row',
160
189
  alignItems: 'center',
161
190
  gap: 10,
162
- paddingHorizontal: 16,
163
- paddingBottom: 8
191
+ height: CALL_BAR_HEIGHT,
192
+ marginHorizontal: CALL_BAR_MARGIN_X,
193
+ marginTop: CALL_BAR_MARGIN_TOP,
194
+ marginBottom: 2,
195
+ paddingLeft: 16,
196
+ paddingRight: 9,
197
+ borderRadius: CALL_BAR_RADIUS,
198
+ shadowColor: '#000',
199
+ shadowOpacity: 0.12,
200
+ shadowRadius: 8,
201
+ shadowOffset: {
202
+ width: 0,
203
+ height: 2
204
+ },
205
+ elevation: 3
206
+ },
207
+ anchor: {
208
+ height: 0
164
209
  },
165
210
  info: {
166
211
  flex: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","Pressable","StyleSheet","Text","TouchableOpacity","View","useSelector","useSafeAreaInsets","useChatSettingState","useTheme","useT","ExpandIcon","HangUpIcon","MicOffIcon","MicOnIcon","toggleCallMic","useCallSession","terminateActiveCall","registerCallBarHost","setCallMinimized","useCallUi","formatCallDuration","useSharedCallElapsed","jsx","_jsx","jsxs","_jsxs","DANGER","ON_BAR","CONTROL","useShowCallBar","minimized","active","state","call","token","phase","config","videoCalls","enabled","ActiveCallBar","topInset","t","theme","icons","peerName","roomName","session","elapsed","anchorAt","name","remoteName","status","connected","remoteJoined","statusLine","remoteMicMuted","expand","onPress","accessibilityRole","accessibilityLabel","style","styles","bar","backgroundColor","success","paddingTop","children","info","numberOfLines","micOn","button","hitSlop","color","size","micOff","hangup","HeaderCallBar","hostId","setHostId","barHost","show","DockedCallBar","insets","docked","pointerEvents","top","create","flexDirection","alignItems","gap","paddingHorizontal","paddingBottom","flex","minWidth","fontSize","fontWeight","fontVariant","width","height","borderRadius","justifyContent","position","left","right","zIndex","elevation"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/ActiveCallBar.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useRef","useState","Pressable","StyleSheet","Text","TouchableOpacity","View","useSelector","useSafeAreaInsets","useChatSettingState","useTheme","useT","ExpandIcon","HangUpIcon","MicOffIcon","MicOnIcon","toggleCallMic","useCallSession","terminateActiveCall","registerCallBarHost","setCallBarAnchor","setCallMinimized","useCallUi","formatCallDuration","useSharedCallElapsed","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DANGER","CALL_BAR_HEIGHT","CALL_BAR_MARGIN_X","CALL_BAR_MARGIN_TOP","CALL_BAR_RADIUS","ON_BAR","CONTROL","useShowCallBar","minimized","active","state","call","token","phase","config","videoCalls","enabled","ActiveCallBar","t","theme","icons","peerName","roomName","session","elapsed","anchorAt","name","remoteName","status","connected","remoteJoined","statusLine","remoteMicMuted","expand","onPress","accessibilityRole","accessibilityLabel","style","styles","bar","backgroundColor","success","children","info","numberOfLines","micOn","button","hitSlop","color","size","micOff","hangup","HeaderCallBar","hostId","setHostId","barHost","show","anchorRef","isHost","measure","current","measureInWindow","_x","y","Number","isFinite","ref","collapsable","onLayout","anchor","DockedCallBar","insets","docked","paddingTop","top","pointerEvents","create","flexDirection","alignItems","gap","height","marginHorizontal","marginTop","marginBottom","paddingLeft","paddingRight","borderRadius","shadowColor","shadowOpacity","shadowRadius","shadowOffset","width","elevation","flex","minWidth","fontSize","fontWeight","fontVariant","justifyContent","position","left","right","zIndex"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/ActiveCallBar.tsx"],"mappings":"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","ignoreList":[]}
@@ -192,6 +192,12 @@ export const VideoCallIcon = ({
192
192
  fill: color
193
193
  })]
194
194
  });
195
+
196
+ /**
197
+ * Front/back camera flip: a camera between two arrows turning around it
198
+ * (Material "cameraswitch", the glyph Telegram and the Android camera use),
199
+ * so it reads as "use the other camera", not as "reload".
200
+ */
195
201
  export const SwitchCameraIcon = ({
196
202
  color = '#FFFFFF',
197
203
  size = 24
@@ -199,25 +205,42 @@ export const SwitchCameraIcon = ({
199
205
  width: size,
200
206
  height: size,
201
207
  viewBox: "0 0 24 24",
202
- fill: "none",
203
208
  children: [/*#__PURE__*/_jsx(Path, {
204
- d: "M9 4h6l1.2 2H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.8L9 4z",
205
- stroke: color,
206
- strokeWidth: 1.8,
207
- fill: "none",
208
- strokeLinejoin: "round"
209
- }), /*#__PURE__*/_jsx(Path, {
210
- d: "M9.5 12.5A2.5 2.5 0 0 1 14 11m.5 2.5A2.5 2.5 0 0 1 10 15",
211
- stroke: color,
212
- strokeWidth: 1.8,
213
- strokeLinecap: "round",
214
- fill: "none"
209
+ d: "M16 7h-1l-1-1h-4L9 7H8c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zm-4 7c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z",
210
+ fill: color
215
211
  }), /*#__PURE__*/_jsx(Path, {
216
- d: "M14 9.5V11h-1.5M10 16.5V15h1.5",
217
- stroke: color,
218
- strokeWidth: 1.8
212
+ d: "M8.57.51l4.48 4.48V2.04c4.72.47 8.48 4.23 8.95 8.95h2C23.34 3.02 15.49-1.59 8.57.51zm2.38 21.45c-4.72-.47-8.48-4.23-8.95-8.95H0c.66 7.97 8.51 12.58 15.43 10.48l-4.48-4.48v2.95z",
213
+ fill: color
219
214
  })]
220
215
  });
216
+
217
+ /** Stretch the video to fill the screen (Material "fullscreen"). */
218
+ export const FillVideoIcon = ({
219
+ color = '#FFFFFF',
220
+ size = 24
221
+ }) => /*#__PURE__*/_jsx(Svg, {
222
+ width: size,
223
+ height: size,
224
+ viewBox: "0 0 24 24",
225
+ children: /*#__PURE__*/_jsx(Path, {
226
+ d: "M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z",
227
+ fill: color
228
+ })
229
+ });
230
+
231
+ /** Show the whole video, letterboxed (Material "fit_screen"). */
232
+ export const FitVideoIcon = ({
233
+ color = '#FFFFFF',
234
+ size = 24
235
+ }) => /*#__PURE__*/_jsx(Svg, {
236
+ width: size,
237
+ height: size,
238
+ viewBox: "0 0 24 24",
239
+ children: /*#__PURE__*/_jsx(Path, {
240
+ d: "M17 4h3c1.1 0 2 .9 2 2v2h-2V6h-3V4zM4 8V6h3V4H4c-1.1 0-2 .9-2 2v2h2zm16 8v2h-3v2h3c1.1 0 2-.9 2-2v-2h-2zM7 18H4v-2H2v2c0 1.1.9 2 2 2h3v-2zM18 8H6v8h12V8z",
241
+ fill: color
242
+ })
243
+ });
221
244
  export const SpeakerIcon = ({
222
245
  color = '#FFFFFF',
223
246
  size = 24
@@ -1 +1 @@
1
- {"version":3,"names":["React","Svg","Path","Rect","Line","Circle","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DANGER","Slash","color","cutColor","children","x1","y1","x2","y2","stroke","strokeWidth","strokeLinecap","MicOnIcon","size","width","height","viewBox","fill","x","y","rx","d","MicOffIcon","CameraOnIcon","CameraOffIcon","HangUpIcon","AudioCallIcon","VideoCallIcon","SwitchCameraIcon","strokeLinejoin","SpeakerIcon","SpeakerOffIcon","MinimizeIcon","ExpandIcon","PersonIcon","cx","cy","r"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/CallIcons.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Svg","Path","Rect","Line","Circle","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DANGER","Slash","color","cutColor","children","x1","y1","x2","y2","stroke","strokeWidth","strokeLinecap","MicOnIcon","size","width","height","viewBox","fill","x","y","rx","d","MicOffIcon","CameraOnIcon","CameraOffIcon","HangUpIcon","AudioCallIcon","VideoCallIcon","SwitchCameraIcon","FillVideoIcon","FitVideoIcon","SpeakerIcon","SpeakerOffIcon","MinimizeIcon","strokeLinejoin","ExpandIcon","PersonIcon","cx","cy","r"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/CallIcons.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,IAAIC,IAAI,EAAEC,IAAI,EAAEC,IAAI,EAAEC,MAAM,QAAQ,kBAAkB;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAgBA,MAAMC,MAAM,GAAG,SAAS;AAExB,MAAMC,KAAoD,GAAGA,CAAC;EAC5DC,KAAK;EACLC;AACF,CAAC,kBACCJ,KAAA,CAAAF,SAAA;EAAAO,QAAA,gBACET,IAAA,CAACH,IAAI;IACHa,EAAE,EAAC,GAAG;IACNC,EAAE,EAAC,GAAG;IACNC,EAAE,EAAC,IAAI;IACPC,EAAE,EAAC,IAAI;IACPC,MAAM,EAAEN,QAAS;IACjBO,WAAW,EAAE,CAAE;IACfC,aAAa,EAAC;EAAO,CACtB,CAAC,eACFhB,IAAA,CAACH,IAAI;IACHa,EAAE,EAAC,GAAG;IACNC,EAAE,EAAC,GAAG;IACNC,EAAE,EAAC,IAAI;IACPC,EAAE,EAAC,IAAI;IACPC,MAAM,EAAEP,KAAM;IACdQ,WAAW,EAAE,CAAE;IACfC,aAAa,EAAC;EAAO,CACtB,CAAC;AAAA,CACF,CACH;AAED,OAAO,MAAMC,SAA8B,GAAGA,CAAC;EAC7CV,KAAK,GAAG,SAAS;EACjBW,IAAI,GAAG;AACT,CAAC,kBACCd,KAAA,CAACV,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAb,QAAA,gBAC7DT,IAAA,CAACJ,IAAI;IAAC2B,CAAC,EAAC,KAAK;IAACC,CAAC,EAAC,GAAG;IAACL,KAAK,EAAC,GAAG;IAACC,MAAM,EAAC,IAAI;IAACK,EAAE,EAAC,KAAK;IAACH,IAAI,EAAEf;EAAM,CAAE,CAAC,eAClEP,IAAA,CAACL,IAAI;IACH+B,CAAC,EAAC,sBAAsB;IACxBZ,MAAM,EAAEP,KAAM;IACdQ,WAAW,EAAE,CAAE;IACfC,aAAa,EAAC,OAAO;IACrBM,IAAI,EAAC;EAAM,CACZ,CAAC,eACFtB,IAAA,CAACH,IAAI;IACHa,EAAE,EAAC,IAAI;IACPC,EAAE,EAAC,IAAI;IACPC,EAAE,EAAC,IAAI;IACPC,EAAE,EAAC,IAAI;IACPC,MAAM,EAAEP,KAAM;IACdQ,WAAW,EAAE,CAAE;IACfC,aAAa,EAAC;EAAO,CACtB,CAAC;AAAA,CACC,CACN;AAED,OAAO,MAAMW,UAA+B,GAAGA,CAAC;EAC9CpB,KAAK,GAAG,SAAS;EACjBC,QAAQ,GAAGH,MAAM;EACjBa,IAAI,GAAG;AACT,CAAC,kBACCd,KAAA,CAACV,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAb,QAAA,gBAC7DT,IAAA,CAACJ,IAAI;IAAC2B,CAAC,EAAC,KAAK;IAACC,CAAC,EAAC,GAAG;IAACL,KAAK,EAAC,GAAG;IAACC,MAAM,EAAC,IAAI;IAACK,EAAE,EAAC,KAAK;IAACH,IAAI,EAAEf;EAAM,CAAE,CAAC,eAClEP,IAAA,CAACL,IAAI;IACH+B,CAAC,EAAC,sBAAsB;IACxBZ,MAAM,EAAEP,KAAM;IACdQ,WAAW,EAAE,CAAE;IACfC,aAAa,EAAC,OAAO;IACrBM,IAAI,EAAC;EAAM,CACZ,CAAC,eACFtB,IAAA,CAACH,IAAI;IACHa,EAAE,EAAC,IAAI;IACPC,EAAE,EAAC,IAAI;IACPC,EAAE,EAAC,IAAI;IACPC,EAAE,EAAC,IAAI;IACPC,MAAM,EAAEP,KAAM;IACdQ,WAAW,EAAE,CAAE;IACfC,aAAa,EAAC;EAAO,CACtB,CAAC,eACFhB,IAAA,CAACM,KAAK;IAACC,KAAK,EAAEA,KAAM;IAACC,QAAQ,EAAEA;EAAS,CAAE,CAAC;AAAA,CACxC,CACN;AAED,OAAO,MAAMoB,YAAiC,GAAGA,CAAC;EAChDrB,KAAK,GAAG,SAAS;EACjBW,IAAI,GAAG;AACT,CAAC,kBACCd,KAAA,CAACV,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAb,QAAA,gBAC7DT,IAAA,CAACJ,IAAI;IAAC2B,CAAC,EAAC,GAAG;IAACC,CAAC,EAAC,GAAG;IAACL,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACK,EAAE,EAAC,GAAG;IAACH,IAAI,EAAEf;EAAM,CAAE,CAAC,eAC/DP,IAAA,CAACL,IAAI;IAAC+B,CAAC,EAAC,0BAA0B;IAACJ,IAAI,EAAEf;EAAM,CAAE,CAAC;AAAA,CAC/C,CACN;AAED,OAAO,MAAMsB,aAAkC,GAAGA,CAAC;EACjDtB,KAAK,GAAG,SAAS;EACjBC,QAAQ,GAAGH,MAAM;EACjBa,IAAI,GAAG;AACT,CAAC,kBACCd,KAAA,CAACV,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAb,QAAA,gBAC7DT,IAAA,CAACJ,IAAI;IAAC2B,CAAC,EAAC,GAAG;IAACC,CAAC,EAAC,GAAG;IAACL,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACK,EAAE,EAAC,GAAG;IAACH,IAAI,EAAEf;EAAM,CAAE,CAAC,eAC/DP,IAAA,CAACL,IAAI;IAAC+B,CAAC,EAAC,0BAA0B;IAACJ,IAAI,EAAEf;EAAM,CAAE,CAAC,eAClDP,IAAA,CAACM,KAAK;IAACC,KAAK,EAAEA,KAAM;IAACC,QAAQ,EAAEA;EAAS,CAAE,CAAC;AAAA,CACxC,CACN;AAED,OAAO,MAAMsB,UAA+B,GAAGA,CAAC;EAC9CvB,KAAK,GAAG,SAAS;EACjBW,IAAI,GAAG;AACT,CAAC,kBACClB,IAAA,CAACN,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAb,QAAA,eAC7DT,IAAA,CAACL,IAAI;IACH+B,CAAC,EAAC,mOAAmO;IACrOJ,IAAI,EAAEf;EAAM,CACb;AAAC,CACC,CACN;AAED,OAAO,MAAMwB,aAAkC,GAAGA,CAAC;EACjDxB,KAAK,GAAG,SAAS;EACjBW,IAAI,GAAG;AACT,CAAC,kBACClB,IAAA,CAACN,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAb,QAAA,eAC7DT,IAAA,CAACL,IAAI;IACH+B,CAAC,EAAC,mMAAmM;IACrMJ,IAAI,EAAEf;EAAM,CACb;AAAC,CACC,CACN;AAED,OAAO,MAAMyB,aAAkC,GAAGA,CAAC;EACjDzB,KAAK,GAAG,SAAS;EACjBW,IAAI,GAAG;AACT,CAAC,kBACCd,KAAA,CAACV,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAb,QAAA,gBAC7DT,IAAA,CAACJ,IAAI;IAAC2B,CAAC,EAAC,GAAG;IAACC,CAAC,EAAC,GAAG;IAACL,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACK,EAAE,EAAC,GAAG;IAACH,IAAI,EAAEf;EAAM,CAAE,CAAC,eAC/DP,IAAA,CAACL,IAAI;IAAC+B,CAAC,EAAC,0BAA0B;IAACJ,IAAI,EAAEf;EAAM,CAAE,CAAC;AAAA,CAC/C,CACN;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM0B,gBAAqC,GAAGA,CAAC;EACpD1B,KAAK,GAAG,SAAS;EACjBW,IAAI,GAAG;AACT,CAAC,kBACCd,KAAA,CAACV,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAAAZ,QAAA,gBACjDT,IAAA,CAACL,IAAI;IACH+B,CAAC,EAAC,4IAA4I;IAC9IJ,IAAI,EAAEf;EAAM,CACb,CAAC,eACFP,IAAA,CAACL,IAAI;IACH+B,CAAC,EAAC,kLAAkL;IACpLJ,IAAI,EAAEf;EAAM,CACb,CAAC;AAAA,CACC,CACN;;AAED;AACA,OAAO,MAAM2B,aAAkC,GAAGA,CAAC;EACjD3B,KAAK,GAAG,SAAS;EACjBW,IAAI,GAAG;AACT,CAAC,kBACClB,IAAA,CAACN,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAAAZ,QAAA,eACjDT,IAAA,CAACL,IAAI;IACH+B,CAAC,EAAC,gFAAgF;IAClFJ,IAAI,EAAEf;EAAM,CACb;AAAC,CACC,CACN;;AAED;AACA,OAAO,MAAM4B,YAAiC,GAAGA,CAAC;EAChD5B,KAAK,GAAG,SAAS;EACjBW,IAAI,GAAG;AACT,CAAC,kBACClB,IAAA,CAACN,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAAAZ,QAAA,eACjDT,IAAA,CAACL,IAAI;IACH+B,CAAC,EAAC,2JAA2J;IAC7JJ,IAAI,EAAEf;EAAM,CACb;AAAC,CACC,CACN;AAED,OAAO,MAAM6B,WAAgC,GAAGA,CAAC;EAC/C7B,KAAK,GAAG,SAAS;EACjBW,IAAI,GAAG;AACT,CAAC,kBACCd,KAAA,CAACV,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAb,QAAA,gBAC7DT,IAAA,CAACL,IAAI;IAAC+B,CAAC,EAAC,yBAAyB;IAACJ,IAAI,EAAEf;EAAM,CAAE,CAAC,eACjDP,IAAA,CAACL,IAAI;IACH+B,CAAC,EAAC,iDAAiD;IACnDZ,MAAM,EAAEP,KAAM;IACdQ,WAAW,EAAE,GAAI;IACjBC,aAAa,EAAC,OAAO;IACrBM,IAAI,EAAC;EAAM,CACZ,CAAC;AAAA,CACC,CACN;AAED,OAAO,MAAMe,cAAmC,GAAGA,CAAC;EAClD9B,KAAK,GAAG,SAAS;EACjBC,QAAQ,GAAGH,MAAM;EACjBa,IAAI,GAAG;AACT,CAAC,kBACCd,KAAA,CAACV,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAb,QAAA,gBAC7DT,IAAA,CAACL,IAAI;IAAC+B,CAAC,EAAC,yBAAyB;IAACJ,IAAI,EAAEf;EAAM,CAAE,CAAC,eACjDP,IAAA,CAACM,KAAK;IAACC,KAAK,EAAEA,KAAM;IAACC,QAAQ,EAAEA;EAAS,CAAE,CAAC;AAAA,CACxC,CACN;AAED,OAAO,MAAM8B,YAAiC,GAAGA,CAAC;EAChD/B,KAAK,GAAG,SAAS;EACjBW,IAAI,GAAG;AACT,CAAC,kBACClB,IAAA,CAACN,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAb,QAAA,eAC7DT,IAAA,CAACL,IAAI;IACH+B,CAAC,EAAC,sBAAsB;IACxBZ,MAAM,EAAEP,KAAM;IACdQ,WAAW,EAAE,CAAE;IACfC,aAAa,EAAC,OAAO;IACrBuB,cAAc,EAAC,OAAO;IACtBjB,IAAI,EAAC;EAAM,CACZ;AAAC,CACC,CACN;AAED,OAAO,MAAMkB,UAA+B,GAAGA,CAAC;EAC9CjC,KAAK,GAAG,SAAS;EACjBW,IAAI,GAAG;AACT,CAAC,kBACClB,IAAA,CAACN,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAb,QAAA,eAC7DT,IAAA,CAACL,IAAI;IACH+B,CAAC,EAAC,qBAAqB;IACvBZ,MAAM,EAAEP,KAAM;IACdQ,WAAW,EAAE,CAAE;IACfC,aAAa,EAAC,OAAO;IACrBuB,cAAc,EAAC,OAAO;IACtBjB,IAAI,EAAC;EAAM,CACZ;AAAC,CACC,CACN;AAED,OAAO,MAAMmB,UAA+B,GAAGA,CAAC;EAC9ClC,KAAK,GAAG,SAAS;EACjBW,IAAI,GAAG;AACT,CAAC,kBACCd,KAAA,CAACV,GAAG;EAACyB,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAb,QAAA,gBAC7DT,IAAA,CAACF,MAAM;IAAC4C,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,GAAG;IAACC,CAAC,EAAC,GAAG;IAACtB,IAAI,EAAEf;EAAM,CAAE,CAAC,eAC5CP,IAAA,CAACL,IAAI;IAAC+B,CAAC,EAAC,iCAAiC;IAACJ,IAAI,EAAEf;EAAM,CAAE,CAAC;AAAA,CACtD,CACN","ignoreList":[]}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { Component, useCallback, useEffect, useMemo, useRef } from 'react';
4
- import { Animated, BackHandler, Easing, Modal, Platform, StyleSheet, Text, TouchableOpacity, Vibration, View } from 'react-native';
4
+ import { Animated, BackHandler, Easing, Modal, PanResponder, Platform, StyleSheet, Text, TouchableOpacity, useWindowDimensions, Vibration, View } from 'react-native';
5
5
  import { useDispatch, useSelector } from 'react-redux';
6
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
6
7
  import { acceptIncomingCall, resetCall, setCallError } from '../../roomStore/callSlice';
7
8
  import { useChatSettingState } from '../../hooks/useChatSettingState';
8
9
  import { sendCallStateSignal } from '../../networking/callTokenStanza';
@@ -10,12 +11,13 @@ import { useTheme } from '../../hooks/useTheme';
10
11
  import { VideoCallSession } from './VideoCallSession';
11
12
  import { startCallSession } from './callSessionController';
12
13
  import { declineActiveCall, terminateActiveCall } from './callActions';
13
- import { DockedCallBar } from './ActiveCallBar';
14
+ import { CALL_BAR_HEIGHT, CALL_BAR_MARGIN_TOP, CALL_BAR_MARGIN_X, CALL_BAR_RADIUS, DockedCallBar } from './ActiveCallBar';
14
15
  import { setCallMinimized, useCallUi } from './callUiStore';
15
16
  import { ProfileImagePlaceholder } from '../MainComponents/ProfileImagePlaceholder';
16
17
  import { AudioCallIcon, HangUpIcon, VideoCallIcon } from './CallIcons';
17
18
  import { useT } from '../../i18n/useT';
18
19
  import { useCallKeep } from './useCallKeep';
20
+ import { useOngoingCallNotification } from './useOngoingCallNotification';
19
21
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
20
22
  const DEFAULT_PRIMARY = '#0052CD';
21
23
  const DANGER = '#E53935';
@@ -207,6 +209,148 @@ const RingingCard = ({
207
209
  });
208
210
  };
209
211
 
212
+ /**
213
+ * The full-screen call, collapsible into the header strip, Telegram-style:
214
+ * pulling it up morphs the whole screen into the green bubble under the
215
+ * header (position, width, height and corner radius all travel together,
216
+ * and the bubble's colour fades in on the way), so it visibly *becomes* the
217
+ * strip rather than leaving and the strip popping in. Let go past a quarter
218
+ * of the way, or flick, and it finishes; released early it springs back.
219
+ * The minimize button runs the same morph; expanding from the strip runs it
220
+ * backwards.
221
+ *
222
+ * Buttons and the draggable video tile handle their own touches; a drag
223
+ * anywhere else on the screen is ours, and only its upward part counts.
224
+ */
225
+ const CollapsibleCallSurface = ({
226
+ enterFromTop,
227
+ barColor,
228
+ onCollapsed,
229
+ children
230
+ }) => {
231
+ const {
232
+ width,
233
+ height
234
+ } = useWindowDimensions();
235
+ const insets = useSafeAreaInsets();
236
+ const {
237
+ barAnchorY
238
+ } = useCallUi();
239
+ // Where the bubble sits: under the hosting header, or under the status
240
+ // bar when no header is on screen (the docked fallback).
241
+ const target = {
242
+ top: (barAnchorY ?? insets.top) + CALL_BAR_MARGIN_TOP,
243
+ side: CALL_BAR_MARGIN_X,
244
+ height: CALL_BAR_HEIGHT
245
+ };
246
+ // 0 = full screen, 1 = the bubble.
247
+ const progress = useRef(new Animated.Value(enterFromTop ? 1 : 0)).current;
248
+ const collapsingRef = useRef(false);
249
+ const onCollapsedRef = useRef(onCollapsed);
250
+ onCollapsedRef.current = onCollapsed;
251
+ const heightRef = useRef(height);
252
+ heightRef.current = height;
253
+ useEffect(() => {
254
+ if (!enterFromTop) {
255
+ return;
256
+ }
257
+ Animated.timing(progress, {
258
+ toValue: 0,
259
+ duration: 300,
260
+ easing: Easing.out(Easing.cubic),
261
+ useNativeDriver: false
262
+ }).start();
263
+ // Mount-only: the entrance plays once.
264
+ // eslint-disable-next-line react-hooks/exhaustive-deps
265
+ }, []);
266
+ const collapse = useCallback(() => {
267
+ if (collapsingRef.current) {
268
+ return;
269
+ }
270
+ collapsingRef.current = true;
271
+ Animated.timing(progress, {
272
+ toValue: 1,
273
+ duration: 280,
274
+ easing: Easing.out(Easing.cubic),
275
+ useNativeDriver: false
276
+ }).start(() => onCollapsedRef.current());
277
+ }, [progress]);
278
+ const panHandlers = useMemo(() => {
279
+ const springBack = () => Animated.spring(progress, {
280
+ toValue: 0,
281
+ useNativeDriver: false,
282
+ damping: 22,
283
+ stiffness: 260
284
+ }).start();
285
+ // How far the finger travels for the full morph.
286
+ const travel = () => heightRef.current * 0.6;
287
+ return PanResponder.create({
288
+ // Claim the touch as soon as it starts on the call screen itself
289
+ // (buttons and the video tile are deeper and win their own touches).
290
+ // Waiting for a move does not work here: the Modal's content sits
291
+ // under the host's screens in the React tree, and an ancestor there
292
+ // (a Pressable / keyboard-dismiss wrapper) takes the touch on start,
293
+ // after which no descendant is ever asked again.
294
+ onStartShouldSetPanResponder: () => !collapsingRef.current,
295
+ onMoveShouldSetPanResponder: () => !collapsingRef.current,
296
+ onPanResponderTerminationRequest: () => false,
297
+ onPanResponderMove: (_event, gesture) => {
298
+ progress.setValue(Math.min(1, Math.max(0, -gesture.dy / travel())));
299
+ },
300
+ onPanResponderRelease: (_event, gesture) => {
301
+ if (-gesture.dy / travel() > 0.25 || gesture.vy < -0.8) {
302
+ collapse();
303
+ } else {
304
+ springBack();
305
+ }
306
+ },
307
+ onPanResponderTerminate: springBack
308
+ }).panHandlers;
309
+ }, [progress, collapse]);
310
+ const at = (from, to) => progress.interpolate({
311
+ inputRange: [0, 1],
312
+ outputRange: [from, to]
313
+ });
314
+ return /*#__PURE__*/_jsxs(Animated.View, {
315
+ ...panHandlers,
316
+ style: [styles.collapsible, {
317
+ top: at(0, target.top),
318
+ left: at(0, target.side),
319
+ width: at(width, width - target.side * 2),
320
+ height: at(height, target.height),
321
+ // Rounded as soon as it starts moving (a card, like the screen's
322
+ // own corners), then tightening to the bubble's radius.
323
+ borderRadius: progress.interpolate({
324
+ inputRange: [0, 0.08, 0.7, 1],
325
+ outputRange: [0, 36, 28, CALL_BAR_RADIUS],
326
+ extrapolate: 'clamp'
327
+ })
328
+ }],
329
+ children: [/*#__PURE__*/_jsx(Animated.View, {
330
+ style: [styles.sessionFixed, {
331
+ width,
332
+ height,
333
+ opacity: progress.interpolate({
334
+ inputRange: [0, 0.55, 0.85],
335
+ outputRange: [1, 0.85, 0],
336
+ extrapolate: 'clamp'
337
+ })
338
+ }],
339
+ children: children(collapse)
340
+ }), /*#__PURE__*/_jsx(Animated.View, {
341
+ pointerEvents: "none",
342
+ style: [StyleSheet.absoluteFill, {
343
+ backgroundColor: barColor,
344
+ opacity: progress.interpolate({
345
+ inputRange: [0, 0.35, 0.9],
346
+ outputRange: [0, 0, 1],
347
+ extrapolate: 'clamp'
348
+ })
349
+ }]
350
+ })]
351
+ });
352
+ };
353
+
210
354
  /**
211
355
  * A crash in the call UI must not take the chat down with it (web wraps
212
356
  * the overlay in a silent ChatErrorBoundary). Renders nothing on error and
@@ -264,13 +408,24 @@ const VideoCallOverlayInner = () => {
264
408
  // callkeep. No-op otherwise, the in-app ring screen below is the
265
409
  // fallback and always renders.
266
410
  useCallKeep();
411
+ // Host-provided system notification (Android) with hang up / mute /
412
+ // camera buttons while the call runs.
413
+ useOngoingCallNotification(enabled ? videoCallsConfig?.ongoingCallNotification : undefined);
267
414
 
268
415
  // Shared with the header strip (ActiveCallBar), which expands it again.
269
416
  const {
270
- minimized
417
+ minimized,
418
+ systemRinging
271
419
  } = useCallUi();
272
420
  const canRenderSession = !!call.token && (call.phase === 'connecting' || call.phase === 'in-call') && !!livekitUrl;
273
421
  const isMinimized = minimized && canRenderSession;
422
+ // Expanding from the header strip slides the call down from the top
423
+ // instead of fading it in.
424
+ const wasMinimizedRef = useRef(false);
425
+ const enterFromTop = wasMinimizedRef.current && !isMinimized;
426
+ useEffect(() => {
427
+ wasMinimizedRef.current = isMinimized;
428
+ }, [isMinimized]);
274
429
 
275
430
  // Join the LiveKit room once the call has a token. Idempotent, and the
276
431
  // controller tears itself down when the call slice leaves these phases.
@@ -307,12 +462,13 @@ const VideoCallOverlayInner = () => {
307
462
  // foreground; a backgrounded/killed app is handled by the call push.
308
463
  useEffect(() => {
309
464
  const isRinging = call.direction === 'incoming' && call.phase === 'ringing-incoming';
310
- if (!isRinging) {
465
+ // CallKit rings (and vibrates) on its own.
466
+ if (!isRinging || systemRinging) {
311
467
  return;
312
468
  }
313
469
  Vibration.vibrate(RING_VIBRATION_PATTERN, true);
314
470
  return () => Vibration.cancel();
315
- }, [call.direction, call.phase]);
471
+ }, [call.direction, call.phase, systemRinging]);
316
472
  const hangupCurrent = useCallback(() => {
317
473
  if (call.direction === 'incoming' && call.phase === 'ringing-incoming') {
318
474
  declineActiveCall();
@@ -367,12 +523,18 @@ const VideoCallOverlayInner = () => {
367
523
  return null;
368
524
  }
369
525
  const showIncomingDecision = call.direction === 'incoming' && call.phase === 'ringing-incoming';
370
- const session = /*#__PURE__*/_jsx(VideoCallSession, {
526
+
527
+ // The system's incoming-call banner is up (iOS CallKit); answering or
528
+ // declining it drives the call from there.
529
+ if (showIncomingDecision && systemRinging) {
530
+ return null;
531
+ }
532
+ const renderSession = collapse => /*#__PURE__*/_jsx(VideoCallSession, {
371
533
  kind: call.kind,
372
534
  peerName: call.roomName,
373
535
  primaryColor: primaryColor,
374
536
  icons: videoCallsConfig?.icons,
375
- onToggleMinimize: () => setCallMinimized(!minimized),
537
+ onToggleMinimize: collapse,
376
538
  onHangup: () => terminateActiveCall('ended')
377
539
  });
378
540
 
@@ -385,7 +547,7 @@ const VideoCallOverlayInner = () => {
385
547
  return /*#__PURE__*/_jsx(Modal, {
386
548
  visible: true,
387
549
  transparent: true,
388
- animationType: "fade",
550
+ animationType: enterFromTop ? 'none' : 'fade',
389
551
  statusBarTranslucent: true,
390
552
  supportedOrientations: ['portrait', 'landscape'],
391
553
  onRequestClose: hangupCurrent,
@@ -393,9 +555,11 @@ const VideoCallOverlayInner = () => {
393
555
  /*#__PURE__*/
394
556
  // Full-bleed: on a phone the call owns the screen, like the native
395
557
  // dialer. The audio call keeps the same dark canvas as video.
396
- _jsx(View, {
397
- style: styles.sessionFull,
398
- children: session
558
+ _jsx(CollapsibleCallSurface, {
559
+ enterFromTop: enterFromTop,
560
+ barColor: theme.success,
561
+ onCollapsed: () => setCallMinimized(true),
562
+ children: renderSession
399
563
  }) : /*#__PURE__*/_jsx(View, {
400
564
  style: [styles.backdrop, {
401
565
  backgroundColor: theme.overlay
@@ -453,6 +617,16 @@ const styles = StyleSheet.create({
453
617
  flex: 1,
454
618
  backgroundColor: '#0B1220'
455
619
  },
620
+ // No flex here: `flex: 1` would override the fixed height and re-lay the
621
+ // call out on every frame of the morph.
622
+ sessionFixed: {
623
+ backgroundColor: '#0B1220'
624
+ },
625
+ collapsible: {
626
+ position: 'absolute',
627
+ overflow: 'hidden',
628
+ backgroundColor: '#0B1220'
629
+ },
456
630
  ringingCard: {
457
631
  width: '100%',
458
632
  maxWidth: 420,