@ethora/chat-component-rn 26.10.5 → 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 (365) 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/styled/MediaFilePreview.js +60 -47
  35. package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
  36. package/lib/commonjs/components/styled/MessageImage.js +16 -6
  37. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  38. package/lib/commonjs/components/styled/SendInput.js +99 -68
  39. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  40. package/lib/commonjs/components/styled/VideoMessage.js +24 -10
  41. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  42. package/lib/commonjs/context/xmppProvider.js +46 -0
  43. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  44. package/lib/commonjs/e2ee/fileEnvelope.js +6 -0
  45. package/lib/commonjs/e2ee/fileEnvelope.js.map +1 -1
  46. package/lib/commonjs/e2ee/sealedBody.js +32 -2
  47. package/lib/commonjs/e2ee/sealedBody.js.map +1 -1
  48. package/lib/commonjs/helpers/albumLayout.js +150 -0
  49. package/lib/commonjs/helpers/albumLayout.js.map +1 -0
  50. package/lib/commonjs/helpers/attachments.js +255 -0
  51. package/lib/commonjs/helpers/attachments.js.map +1 -0
  52. package/lib/commonjs/helpers/caption.js +214 -0
  53. package/lib/commonjs/helpers/caption.js.map +1 -0
  54. package/lib/commonjs/helpers/createMainMessageForThread.js +5 -1
  55. package/lib/commonjs/helpers/createMainMessageForThread.js.map +1 -1
  56. package/lib/commonjs/helpers/createMessageFromXml.js +19 -5
  57. package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
  58. package/lib/commonjs/helpers/fileKind.js +40 -0
  59. package/lib/commonjs/helpers/fileKind.js.map +1 -0
  60. package/lib/commonjs/helpers/getDataFromXml.js +6 -1
  61. package/lib/commonjs/helpers/getDataFromXml.js.map +1 -1
  62. package/lib/commonjs/helpers/mapWithConcurrency.js +41 -0
  63. package/lib/commonjs/helpers/mapWithConcurrency.js.map +1 -0
  64. package/lib/commonjs/helpers/mediaLimits.js +33 -0
  65. package/lib/commonjs/helpers/mediaLimits.js.map +1 -0
  66. package/lib/commonjs/helpers/mediaSendRetry.js +64 -0
  67. package/lib/commonjs/helpers/mediaSendRetry.js.map +1 -0
  68. package/lib/commonjs/helpers/mediaWireData.js +62 -0
  69. package/lib/commonjs/helpers/mediaWireData.js.map +1 -0
  70. package/lib/commonjs/helpers/mentionSpans.js +19 -0
  71. package/lib/commonjs/helpers/mentionSpans.js.map +1 -0
  72. package/lib/commonjs/helpers/mimeToExtension.js +45 -0
  73. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  74. package/lib/commonjs/helpers/readReceipts.js +173 -0
  75. package/lib/commonjs/helpers/readReceipts.js.map +1 -0
  76. package/lib/commonjs/helpers/repairFilenameEncoding.js +79 -0
  77. package/lib/commonjs/helpers/repairFilenameEncoding.js.map +1 -0
  78. package/lib/commonjs/helpers/safeJson.js +18 -0
  79. package/lib/commonjs/helpers/safeJson.js.map +1 -0
  80. package/lib/commonjs/hooks/useSendMessage.js +384 -193
  81. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  82. package/lib/commonjs/i18n/strings.js +96 -0
  83. package/lib/commonjs/i18n/strings.js.map +1 -1
  84. package/lib/commonjs/networking/api-requests/auth.api.js +62 -3
  85. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  86. package/lib/commonjs/networking/stanzaHandlers.js +100 -3
  87. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  88. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +4 -2
  89. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  90. package/lib/commonjs/networking/xmpp/sendDisplayedMarker.xmpp.js +28 -0
  91. package/lib/commonjs/networking/xmpp/sendDisplayedMarker.xmpp.js.map +1 -0
  92. package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js +53 -2
  93. package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
  94. package/lib/commonjs/networking/xmpp/sendReceivedReceipt.xmpp.js +28 -0
  95. package/lib/commonjs/networking/xmpp/sendReceivedReceipt.xmpp.js.map +1 -0
  96. package/lib/commonjs/networking/xmppClient.js +64 -0
  97. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  98. package/lib/commonjs/roomStore/persistence.js +78 -5
  99. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  100. package/lib/commonjs/roomStore/roomHeapSlice.js +4 -0
  101. package/lib/commonjs/roomStore/roomHeapSlice.js.map +1 -1
  102. package/lib/commonjs/roomStore/roomsSlice.js +114 -1
  103. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  104. package/lib/commonjs/types/models/attachment.model.js +2 -0
  105. package/lib/commonjs/types/models/attachment.model.js.map +1 -0
  106. package/lib/commonjs/version.js +1 -1
  107. package/lib/module/assets/icons.js +1 -1
  108. package/lib/module/assets/icons.js.map +1 -1
  109. package/lib/module/components/MainComponents/AlbumGrid.js +146 -0
  110. package/lib/module/components/MainComponents/AlbumGrid.js.map +1 -0
  111. package/lib/module/components/MainComponents/ChatRoom.js +2 -2
  112. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  113. package/lib/module/components/MainComponents/MediaMessage.js +200 -124
  114. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  115. package/lib/module/components/MainComponents/MediaUploadOverlay.js +104 -0
  116. package/lib/module/components/MainComponents/MediaUploadOverlay.js.map +1 -0
  117. package/lib/module/components/MessageBubble/MediaCaption.js +46 -0
  118. package/lib/module/components/MessageBubble/MediaCaption.js.map +1 -0
  119. package/lib/module/components/MessageBubble/Message.js +44 -5
  120. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  121. package/lib/module/components/MessageBubble/MessageInteractions.js +2 -1
  122. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  123. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +75 -0
  124. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  125. package/lib/module/components/RoomComponents/LastMessageItem.js +20 -4
  126. package/lib/module/components/RoomComponents/LastMessageItem.js.map +1 -1
  127. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +3 -2
  128. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  129. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +3 -2
  130. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  131. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +3 -2
  132. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  133. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +3 -2
  134. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  135. package/lib/module/components/Thread/ThreadWrapper.js +3 -2
  136. package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
  137. package/lib/module/components/styled/MediaFilePreview.js +61 -48
  138. package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
  139. package/lib/module/components/styled/MessageImage.js +16 -6
  140. package/lib/module/components/styled/MessageImage.js.map +1 -1
  141. package/lib/module/components/styled/SendInput.js +99 -68
  142. package/lib/module/components/styled/SendInput.js.map +1 -1
  143. package/lib/module/components/styled/VideoMessage.js +24 -10
  144. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  145. package/lib/module/context/xmppProvider.js +46 -0
  146. package/lib/module/context/xmppProvider.js.map +1 -1
  147. package/lib/module/e2ee/fileEnvelope.js +1 -1
  148. package/lib/module/e2ee/fileEnvelope.js.map +1 -1
  149. package/lib/module/e2ee/sealedBody.js +32 -2
  150. package/lib/module/e2ee/sealedBody.js.map +1 -1
  151. package/lib/module/helpers/albumLayout.js +143 -0
  152. package/lib/module/helpers/albumLayout.js.map +1 -0
  153. package/lib/module/helpers/attachments.js +245 -0
  154. package/lib/module/helpers/attachments.js.map +1 -0
  155. package/lib/module/helpers/caption.js +207 -0
  156. package/lib/module/helpers/caption.js.map +1 -0
  157. package/lib/module/helpers/createMainMessageForThread.js +5 -1
  158. package/lib/module/helpers/createMainMessageForThread.js.map +1 -1
  159. package/lib/module/helpers/createMessageFromXml.js +20 -6
  160. package/lib/module/helpers/createMessageFromXml.js.map +1 -1
  161. package/lib/module/helpers/fileKind.js +34 -0
  162. package/lib/module/helpers/fileKind.js.map +1 -0
  163. package/lib/module/helpers/getDataFromXml.js +6 -1
  164. package/lib/module/helpers/getDataFromXml.js.map +1 -1
  165. package/lib/module/helpers/mapWithConcurrency.js +37 -0
  166. package/lib/module/helpers/mapWithConcurrency.js.map +1 -0
  167. package/lib/module/helpers/mediaLimits.js +27 -0
  168. package/lib/module/helpers/mediaLimits.js.map +1 -0
  169. package/lib/module/helpers/mediaSendRetry.js +55 -0
  170. package/lib/module/helpers/mediaSendRetry.js.map +1 -0
  171. package/lib/module/helpers/mediaWireData.js +58 -0
  172. package/lib/module/helpers/mediaWireData.js.map +1 -0
  173. package/lib/module/helpers/mentionSpans.js +14 -0
  174. package/lib/module/helpers/mentionSpans.js.map +1 -0
  175. package/lib/module/helpers/mimeToExtension.js +43 -0
  176. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  177. package/lib/module/helpers/readReceipts.js +160 -0
  178. package/lib/module/helpers/readReceipts.js.map +1 -0
  179. package/lib/module/helpers/repairFilenameEncoding.js +74 -0
  180. package/lib/module/helpers/repairFilenameEncoding.js.map +1 -0
  181. package/lib/module/helpers/safeJson.js +13 -0
  182. package/lib/module/helpers/safeJson.js.map +1 -0
  183. package/lib/module/hooks/useSendMessage.js +387 -195
  184. package/lib/module/hooks/useSendMessage.js.map +1 -1
  185. package/lib/module/i18n/strings.js +96 -0
  186. package/lib/module/i18n/strings.js.map +1 -1
  187. package/lib/module/networking/api-requests/auth.api.js +62 -3
  188. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  189. package/lib/module/networking/stanzaHandlers.js +97 -4
  190. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  191. package/lib/module/networking/xmpp/handleStanzas.xmpp.js +5 -3
  192. package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  193. package/lib/module/networking/xmpp/sendDisplayedMarker.xmpp.js +25 -0
  194. package/lib/module/networking/xmpp/sendDisplayedMarker.xmpp.js.map +1 -0
  195. package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js +53 -2
  196. package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
  197. package/lib/module/networking/xmpp/sendReceivedReceipt.xmpp.js +25 -0
  198. package/lib/module/networking/xmpp/sendReceivedReceipt.xmpp.js.map +1 -0
  199. package/lib/module/networking/xmppClient.js +64 -0
  200. package/lib/module/networking/xmppClient.js.map +1 -1
  201. package/lib/module/roomStore/persistence.js +78 -5
  202. package/lib/module/roomStore/persistence.js.map +1 -1
  203. package/lib/module/roomStore/roomHeapSlice.js +4 -0
  204. package/lib/module/roomStore/roomHeapSlice.js.map +1 -1
  205. package/lib/module/roomStore/roomsSlice.js +109 -0
  206. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  207. package/lib/module/types/models/attachment.model.js +2 -0
  208. package/lib/module/types/models/attachment.model.js.map +1 -0
  209. package/lib/module/version.js +1 -1
  210. package/lib/typescript/assets/icons.d.ts +6 -1
  211. package/lib/typescript/assets/icons.d.ts.map +1 -1
  212. package/lib/typescript/components/MainComponents/AlbumGrid.d.ts +21 -0
  213. package/lib/typescript/components/MainComponents/AlbumGrid.d.ts.map +1 -0
  214. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  215. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  216. package/lib/typescript/components/MainComponents/MediaUploadOverlay.d.ts +17 -0
  217. package/lib/typescript/components/MainComponents/MediaUploadOverlay.d.ts.map +1 -0
  218. package/lib/typescript/components/MessageBubble/MediaCaption.d.ts +12 -0
  219. package/lib/typescript/components/MessageBubble/MediaCaption.d.ts.map +1 -0
  220. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  221. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  222. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  223. package/lib/typescript/components/RoomComponents/LastMessageItem.d.ts.map +1 -1
  224. package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts +2 -0
  225. package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts.map +1 -1
  226. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +2 -0
  227. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
  228. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +2 -0
  229. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
  230. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +2 -0
  231. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
  232. package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
  233. package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
  234. package/lib/typescript/components/styled/MessageImage.d.ts +10 -0
  235. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  236. package/lib/typescript/components/styled/SendInput.d.ts +7 -1
  237. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  238. package/lib/typescript/components/styled/VideoMessage.d.ts +7 -0
  239. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  240. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  241. package/lib/typescript/e2ee/fileEnvelope.d.ts +1 -1
  242. package/lib/typescript/e2ee/fileEnvelope.d.ts.map +1 -1
  243. package/lib/typescript/e2ee/sealedBody.d.ts +16 -0
  244. package/lib/typescript/e2ee/sealedBody.d.ts.map +1 -1
  245. package/lib/typescript/helpers/albumLayout.d.ts +66 -0
  246. package/lib/typescript/helpers/albumLayout.d.ts.map +1 -0
  247. package/lib/typescript/helpers/attachments.d.ts +55 -0
  248. package/lib/typescript/helpers/attachments.d.ts.map +1 -0
  249. package/lib/typescript/helpers/caption.d.ts +64 -0
  250. package/lib/typescript/helpers/caption.d.ts.map +1 -0
  251. package/lib/typescript/helpers/createMainMessageForThread.d.ts.map +1 -1
  252. package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
  253. package/lib/typescript/helpers/fileKind.d.ts +20 -0
  254. package/lib/typescript/helpers/fileKind.d.ts.map +1 -0
  255. package/lib/typescript/helpers/getDataFromXml.d.ts.map +1 -1
  256. package/lib/typescript/helpers/mapWithConcurrency.d.ts +9 -0
  257. package/lib/typescript/helpers/mapWithConcurrency.d.ts.map +1 -0
  258. package/lib/typescript/helpers/mediaLimits.d.ts +13 -0
  259. package/lib/typescript/helpers/mediaLimits.d.ts.map +1 -0
  260. package/lib/typescript/helpers/mediaSendRetry.d.ts +26 -0
  261. package/lib/typescript/helpers/mediaSendRetry.d.ts.map +1 -0
  262. package/lib/typescript/helpers/mediaWireData.d.ts +16 -0
  263. package/lib/typescript/helpers/mediaWireData.d.ts.map +1 -0
  264. package/lib/typescript/helpers/mentionSpans.d.ts +8 -0
  265. package/lib/typescript/helpers/mentionSpans.d.ts.map +1 -0
  266. package/lib/typescript/helpers/mimeToExtension.d.ts +7 -0
  267. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  268. package/lib/typescript/helpers/readReceipts.d.ts +82 -0
  269. package/lib/typescript/helpers/readReceipts.d.ts.map +1 -0
  270. package/lib/typescript/helpers/repairFilenameEncoding.d.ts +12 -0
  271. package/lib/typescript/helpers/repairFilenameEncoding.d.ts.map +1 -0
  272. package/lib/typescript/helpers/safeJson.d.ts +2 -0
  273. package/lib/typescript/helpers/safeJson.d.ts.map +1 -0
  274. package/lib/typescript/hooks/useSendMessage.d.ts +2 -1
  275. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  276. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  277. package/lib/typescript/networking/api-requests/auth.api.d.ts +2 -0
  278. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  279. package/lib/typescript/networking/stanzaHandlers.d.ts +7 -3
  280. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  281. package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts.map +1 -1
  282. package/lib/typescript/networking/xmpp/sendDisplayedMarker.xmpp.d.ts +3 -0
  283. package/lib/typescript/networking/xmpp/sendDisplayedMarker.xmpp.d.ts.map +1 -0
  284. package/lib/typescript/networking/xmpp/sendMediaMessage.xmpp.d.ts +12 -0
  285. package/lib/typescript/networking/xmpp/sendMediaMessage.xmpp.d.ts.map +1 -1
  286. package/lib/typescript/networking/xmpp/sendReceivedReceipt.xmpp.d.ts +3 -0
  287. package/lib/typescript/networking/xmpp/sendReceivedReceipt.xmpp.d.ts.map +1 -0
  288. package/lib/typescript/networking/xmppClient.d.ts +15 -0
  289. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  290. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  291. package/lib/typescript/roomStore/roomHeapSlice.d.ts +22 -1
  292. package/lib/typescript/roomStore/roomHeapSlice.d.ts.map +1 -1
  293. package/lib/typescript/roomStore/roomsSlice.d.ts +67 -3
  294. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  295. package/lib/typescript/types/models/attachment.model.d.ts +52 -0
  296. package/lib/typescript/types/models/attachment.model.d.ts.map +1 -0
  297. package/lib/typescript/types/models/message.model.d.ts +26 -0
  298. package/lib/typescript/types/models/message.model.d.ts.map +1 -1
  299. package/lib/typescript/types/models/modal.model.d.ts +7 -0
  300. package/lib/typescript/types/models/modal.model.d.ts.map +1 -1
  301. package/lib/typescript/types/models/room.model.d.ts +2 -0
  302. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  303. package/lib/typescript/types/types.d.ts +29 -1
  304. package/lib/typescript/types/types.d.ts.map +1 -1
  305. package/lib/typescript/version.d.ts +1 -1
  306. package/package.json +4 -1
  307. package/plugins/notification-service/Info.plist +31 -0
  308. package/plugins/notification-service/NotificationService.swift +82 -0
  309. package/plugins/withNotificationServiceExtension.js +137 -0
  310. package/src/assets/icons.tsx +20 -2
  311. package/src/components/MainComponents/AlbumGrid.tsx +183 -0
  312. package/src/components/MainComponents/ChatRoom.tsx +4 -2
  313. package/src/components/MainComponents/MediaMessage.tsx +246 -130
  314. package/src/components/MainComponents/MediaUploadOverlay.tsx +102 -0
  315. package/src/components/MessageBubble/MediaCaption.tsx +45 -0
  316. package/src/components/MessageBubble/Message.tsx +71 -3
  317. package/src/components/MessageBubble/MessageInteractions.tsx +2 -1
  318. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +64 -0
  319. package/src/components/RoomComponents/LastMessageItem.tsx +15 -4
  320. package/src/components/RoomComponents/styled/LastAudioMessage.tsx +6 -3
  321. package/src/components/RoomComponents/styled/LastMessageFile.tsx +6 -2
  322. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +6 -2
  323. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +6 -2
  324. package/src/components/Thread/ThreadWrapper.tsx +5 -9
  325. package/src/components/styled/MediaFilePreview.tsx +49 -34
  326. package/src/components/styled/MessageImage.tsx +21 -5
  327. package/src/components/styled/SendInput.tsx +101 -87
  328. package/src/components/styled/VideoMessage.tsx +34 -9
  329. package/src/context/xmppProvider.tsx +32 -0
  330. package/src/e2ee/fileEnvelope.ts +1 -1
  331. package/src/e2ee/sealedBody.ts +44 -5
  332. package/src/helpers/albumLayout.ts +207 -0
  333. package/src/helpers/attachments.ts +316 -0
  334. package/src/helpers/caption.ts +283 -0
  335. package/src/helpers/createMainMessageForThread.ts +6 -1
  336. package/src/helpers/createMessageFromXml.ts +21 -5
  337. package/src/helpers/fileKind.ts +38 -0
  338. package/src/helpers/getDataFromXml.ts +5 -1
  339. package/src/helpers/mapWithConcurrency.ts +32 -0
  340. package/src/helpers/mediaLimits.ts +27 -0
  341. package/src/helpers/mediaSendRetry.ts +59 -0
  342. package/src/helpers/mediaWireData.ts +57 -0
  343. package/src/helpers/mentionSpans.ts +17 -0
  344. package/src/helpers/mimeToExtension.ts +51 -0
  345. package/src/helpers/readReceipts.ts +219 -0
  346. package/src/helpers/repairFilenameEncoding.ts +82 -0
  347. package/src/helpers/safeJson.ts +11 -0
  348. package/src/hooks/useSendMessage.tsx +448 -249
  349. package/src/i18n/strings.ts +96 -0
  350. package/src/networking/api-requests/auth.api.ts +60 -3
  351. package/src/networking/stanzaHandlers.ts +91 -2
  352. package/src/networking/xmpp/handleStanzas.xmpp.ts +6 -2
  353. package/src/networking/xmpp/sendDisplayedMarker.xmpp.ts +31 -0
  354. package/src/networking/xmpp/sendMediaMessage.xmpp.ts +60 -3
  355. package/src/networking/xmpp/sendReceivedReceipt.xmpp.ts +31 -0
  356. package/src/networking/xmppClient.ts +48 -0
  357. package/src/roomStore/persistence.ts +94 -3
  358. package/src/roomStore/roomHeapSlice.ts +23 -1
  359. package/src/roomStore/roomsSlice.ts +112 -1
  360. package/src/types/models/attachment.model.ts +51 -0
  361. package/src/types/models/message.model.ts +29 -0
  362. package/src/types/models/modal.model.ts +7 -0
  363. package/src/types/models/room.model.ts +2 -0
  364. package/src/types/types.ts +35 -1
  365. package/src/version.ts +1 -1
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
- import { View, Text, StyleSheet, Modal, TouchableOpacity, SafeAreaView } from 'react-native';
3
+ import { View, Text, StyleSheet, Modal, TouchableOpacity, SafeAreaView, ScrollView } from 'react-native';
4
4
  import { MediaContainer, MediaImage } from './StyledInputComponents/StyledInputComponents';
5
5
  import { FileIcon } from '../../assets/icons';
6
6
  import { RemoveButton, RemoveButtonText } from './StyledComponents';
7
7
  import { useState } from 'react';
8
8
  import { useVideoPlayer, VideoView } from 'expo-video';
9
+ import { useT } from '../../i18n/useT';
9
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
11
  const VideoThumb = ({
11
12
  uri,
@@ -53,53 +54,65 @@ export const MediaFilePreview = ({
53
54
  handleRemoveImage
54
55
  }) => {
55
56
  const [previewUri, setPreviewUri] = useState(null);
56
- return /*#__PURE__*/_jsxs(MediaContainer, {
57
- children: [filePreviews.map((file, index) => {
58
- const isImage = file.type?.startsWith('image');
59
- const isVideo = file.type?.startsWith('video');
60
- return /*#__PURE__*/_jsxs(View, {
61
- children: [isImage ? /*#__PURE__*/_jsx(MediaImage, {
62
- source: {
63
- uri: file.uri
64
- }
65
- }) : isVideo ? /*#__PURE__*/_jsx(VideoThumb, {
66
- uri: file.uri,
67
- onPress: () => setPreviewUri(file.uri)
68
- }) : /*#__PURE__*/_jsx(View, {
69
- style: {
70
- width: 70,
71
- height: 70,
72
- borderRadius: 8
73
- },
74
- children: /*#__PURE__*/_jsx(FileIcon, {
75
- width: 70,
76
- height: 70
77
- })
78
- }), /*#__PURE__*/_jsx(RemoveButton, {
79
- onPress: () => handleRemoveImage(index),
80
- children: /*#__PURE__*/_jsx(RemoveButtonText, {
81
- children: "\xD7"
82
- })
83
- })]
84
- }, `${file.name}_${index}`);
85
- }), /*#__PURE__*/_jsx(Modal, {
86
- visible: !!previewUri,
87
- animationType: "fade",
88
- transparent: true,
89
- children: /*#__PURE__*/_jsxs(SafeAreaView, {
90
- style: styles.modalContainer,
91
- children: [/*#__PURE__*/_jsx(TouchableOpacity, {
92
- style: styles.closeButton,
93
- onPress: () => setPreviewUri(null),
94
- children: /*#__PURE__*/_jsx(Text, {
95
- style: styles.closeText,
96
- children: "\u2715"
97
- })
98
- }), previewUri && /*#__PURE__*/_jsx(FullscreenPreviewVideo, {
99
- uri: previewUri
100
- })]
101
- })
102
- })]
57
+ const t = useT();
58
+
59
+ // The tray holds up to ten files, so it scrolls sideways rather than wrap.
60
+ return /*#__PURE__*/_jsx(ScrollView, {
61
+ horizontal: true,
62
+ showsHorizontalScrollIndicator: false,
63
+ keyboardShouldPersistTaps: "handled",
64
+ testID: "media-tray",
65
+ children: /*#__PURE__*/_jsxs(MediaContainer, {
66
+ children: [filePreviews.map((file, index) => {
67
+ const isImage = file.type?.startsWith('image');
68
+ const isVideo = file.type?.startsWith('video');
69
+ return /*#__PURE__*/_jsxs(View, {
70
+ children: [isImage ? /*#__PURE__*/_jsx(MediaImage, {
71
+ source: {
72
+ uri: file.uri
73
+ }
74
+ }) : isVideo ? /*#__PURE__*/_jsx(VideoThumb, {
75
+ uri: file.uri,
76
+ onPress: () => setPreviewUri(file.uri)
77
+ }) : /*#__PURE__*/_jsx(View, {
78
+ style: {
79
+ width: 70,
80
+ height: 70,
81
+ borderRadius: 8
82
+ },
83
+ children: /*#__PURE__*/_jsx(FileIcon, {
84
+ width: 70,
85
+ height: 70
86
+ })
87
+ }), /*#__PURE__*/_jsx(RemoveButton, {
88
+ testID: `media-tray-remove-${index}`,
89
+ accessibilityRole: "button",
90
+ accessibilityLabel: t('attachment.remove'),
91
+ onPress: () => handleRemoveImage(index),
92
+ children: /*#__PURE__*/_jsx(RemoveButtonText, {
93
+ children: "\xD7"
94
+ })
95
+ })]
96
+ }, `${file.name}_${index}`);
97
+ }), /*#__PURE__*/_jsx(Modal, {
98
+ visible: !!previewUri,
99
+ animationType: "fade",
100
+ transparent: true,
101
+ children: /*#__PURE__*/_jsxs(SafeAreaView, {
102
+ style: styles.modalContainer,
103
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
104
+ style: styles.closeButton,
105
+ onPress: () => setPreviewUri(null),
106
+ children: /*#__PURE__*/_jsx(Text, {
107
+ style: styles.closeText,
108
+ children: "\u2715"
109
+ })
110
+ }), previewUri && /*#__PURE__*/_jsx(FullscreenPreviewVideo, {
111
+ uri: previewUri
112
+ })]
113
+ })
114
+ })]
115
+ })
103
116
  });
104
117
  };
105
118
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"names":["View","Text","StyleSheet","Modal","TouchableOpacity","SafeAreaView","MediaContainer","MediaImage","FileIcon","RemoveButton","RemoveButtonText","useState","useVideoPlayer","VideoView","jsx","_jsx","jsxs","_jsxs","VideoThumb","uri","onPress","player","p","muted","activeOpacity","style","styles","videoThumb","children","absoluteFill","contentFit","nativeControls","surfaceType","pointerEvents","playOverlay","playIcon","FullscreenPreviewVideo","play","fullVideo","MediaFilePreview","filePreviews","handleRemoveImage","previewUri","setPreviewUri","map","file","index","isImage","type","startsWith","isVideo","source","width","height","borderRadius","name","visible","animationType","transparent","modalContainer","closeButton","closeText","create","overflow","backgroundColor","justifyContent","alignItems","fontSize","color","flex","position","top","right","zIndex","fontWeight"],"sourceRoot":"../../../../src","sources":["components/styled/MediaFilePreview.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["View","Text","StyleSheet","Modal","TouchableOpacity","SafeAreaView","ScrollView","MediaContainer","MediaImage","FileIcon","RemoveButton","RemoveButtonText","useState","useVideoPlayer","VideoView","useT","jsx","_jsx","jsxs","_jsxs","VideoThumb","uri","onPress","player","p","muted","activeOpacity","style","styles","videoThumb","children","absoluteFill","contentFit","nativeControls","surfaceType","pointerEvents","playOverlay","playIcon","FullscreenPreviewVideo","play","fullVideo","MediaFilePreview","filePreviews","handleRemoveImage","previewUri","setPreviewUri","t","horizontal","showsHorizontalScrollIndicator","keyboardShouldPersistTaps","testID","map","file","index","isImage","type","startsWith","isVideo","source","width","height","borderRadius","accessibilityRole","accessibilityLabel","name","visible","animationType","transparent","modalContainer","closeButton","closeText","create","overflow","backgroundColor","justifyContent","alignItems","fontSize","color","flex","position","top","right","zIndex","fontWeight"],"sourceRoot":"../../../../src","sources":["components/styled/MediaFilePreview.tsx"],"mappings":"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","ignoreList":[]}
@@ -18,7 +18,9 @@ const CustomMessageImage = ({
18
18
  fileName,
19
19
  originalName,
20
20
  mimetype,
21
- locationPreview
21
+ locationPreview,
22
+ tile,
23
+ onOpen
22
24
  }) => {
23
25
  // Preview first, original only as a fallback — mirrors the web client,
24
26
  // where the <img> src is the preview and `fileURL` is reserved for the
@@ -27,10 +29,11 @@ const CustomMessageImage = ({
27
29
  const [loading, setLoading] = useState(true);
28
30
  // Start with a neutral box; swap to the real aspect ratio once the
29
31
  // image's natural dimensions are known so it's shown scaled, not cropped.
30
- const [dims, setDims] = useState(defaultMediaDims());
32
+ const [measured, setDims] = useState(defaultMediaDims());
33
+ const dims = tile ?? measured;
31
34
  const dispatch = useDispatch();
32
35
  useEffect(() => {
33
- if (!displayURL) {
36
+ if (!displayURL || tile) {
34
37
  return;
35
38
  }
36
39
  let active = true;
@@ -50,8 +53,12 @@ const CustomMessageImage = ({
50
53
  return () => {
51
54
  active = false;
52
55
  };
53
- }, [displayURL]);
56
+ }, [displayURL, tile]);
54
57
  const handleOpen = () => {
58
+ if (onOpen) {
59
+ onOpen();
60
+ return;
61
+ }
55
62
  dispatch(setActiveFile({
56
63
  fileName,
57
64
  fileURL,
@@ -61,7 +68,10 @@ const CustomMessageImage = ({
61
68
  dispatch(setActiveModal(MODAL_TYPES.FILE_PREVIEW));
62
69
  };
63
70
  return /*#__PURE__*/_jsx(Container, {
64
- style: {
71
+ style: tile ? {
72
+ width: dims.width,
73
+ borderRadius: 0
74
+ } : {
65
75
  width: dims.width
66
76
  },
67
77
  children: /*#__PURE__*/_jsxs(TouchableOpacity, {
@@ -87,7 +97,7 @@ const CustomMessageImage = ({
87
97
  style: {
88
98
  width: dims.width,
89
99
  height: dims.height,
90
- borderRadius: 10,
100
+ borderRadius: tile ? 0 : 10,
91
101
  backgroundColor: 'rgba(0, 0, 0, 0)'
92
102
  },
93
103
  onLoadEnd: () => setLoading(false),
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","isSecureFileUrl","requestFileTokenRecovery","pushLog","Container","useDispatch","setActiveFile","setActiveModal","MODAL_TYPES","ActivityIndicator","Image","TouchableOpacity","View","defaultMediaDims","fitMediaDimensions","jsx","_jsx","jsxs","_jsxs","maskToken","url","replace","FALLBACK_IMAGE","CustomMessageImage","fileURL","fileName","originalName","mimetype","locationPreview","displayURL","loading","setLoading","dims","setDims","dispatch","active","getSize","w","h","error","message","String","handleOpen","FILE_PREVIEW","style","width","children","onPress","activeOpacity","position","height","alignItems","justifyContent","zIndex","size","color","source","uri","borderRadius","backgroundColor","onLoadEnd","onError","event","usingPreview","nativeEvent","resizeMode"],"sourceRoot":"../../../../src","sources":["components/styled/MessageImage.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SACEC,eAAe,EACfC,wBAAwB,QACnB,6BAA6B;AACpC,SAASC,OAAO,QAAQ,uBAAuB;AAC/C,SAASC,SAAS,QAAQ,yCAAyC;AACnE,SAASC,WAAW,QAAQ,aAAa;AACzC,SACEC,aAAa,EACbC,cAAc,QACT,mCAAmC;AAC1C,SAASC,WAAW,QAAQ,qCAAqC;AACjE,SAASC,iBAAiB,EAAEC,KAAK,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,cAAc;AAC/E,SACEC,gBAAgB,EAChBC,kBAAkB,QAEb,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAsBvC;AACA,MAAMC,SAAS,GAAIC,GAAY,IAC7B,CAACA,GAAG,IAAI,EAAE,EAAEC,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC;AAExD,MAAMC,cAAc,GAClB,gGAAgG;AAElG,MAAMC,kBAAqD,GAAGA,CAAC;EAC7DC,OAAO;EACPC,QAAQ;EACRC,YAAY;EACZC,QAAQ;EACRC;AACF,CAAC,KAAK;EACJ;EACA;EACA;EACA,MAAMC,UAAU,GAAGD,eAAe,IAAIJ,OAAO;EAC7C,MAAM,CAACM,OAAO,EAAEC,UAAU,CAAC,GAAG/B,QAAQ,CAAC,IAAI,CAAC;EAC5C;EACA;EACA,MAAM,CAACgC,IAAI,EAAEC,OAAO,CAAC,GAAGjC,QAAQ,CAAYa,gBAAgB,CAAC,CAAC,CAAC;EAE/D,MAAMqB,QAAQ,GAAG7B,WAAW,CAAC,CAAC;EAE9BN,SAAS,CAAC,MAAM;IACd,IAAI,CAAC8B,UAAU,EAAE;MACf;IACF;IACA,IAAIM,MAAM,GAAG,IAAI;IACjBzB,KAAK,CAAC0B,OAAO,CACXP,UAAU,EACV,CAACQ,CAAC,EAAEC,CAAC,KAAK;MACR,IAAIH,MAAM,EAAE;QACVF,OAAO,CAACnB,kBAAkB,CAACuB,CAAC,EAAEC,CAAC,CAAC,CAAC;MACnC;IACF,CAAC,EACAC,KAAK,IAAK;MACT;MACA;MACA;MACApC,OAAO,CAAC,MAAM,EAAE,uBAAuB,EAAE;QACvCiB,GAAG,EAAED,SAAS,CAACU,UAAU,CAAC;QAC1BU,KAAK,EAAGA,KAAK,EAAUC,OAAO,IAAIC,MAAM,CAACF,KAAK;MAChD,CAAC,CAAC;IACJ,CACF,CAAC;IACD,OAAO,MAAM;MACXJ,MAAM,GAAG,KAAK;IAChB,CAAC;EACH,CAAC,EAAE,CAACN,UAAU,CAAC,CAAC;EAEhB,MAAMa,UAAU,GAAGA,CAAA,KAAM;IACvBR,QAAQ,CAAC5B,aAAa,CAAC;MAAEmB,QAAQ;MAAED,OAAO;MAAEG,QAAQ;MAAED;IAAa,CAAC,CAAC,CAAC;IACtEQ,QAAQ,CAAC3B,cAAc,CAACC,WAAW,CAACmC,YAAY,CAAC,CAAC;EACpD,CAAC;EAED,oBACE3B,IAAA,CAACZ,SAAS;IAACwC,KAAK,EAAE;MAAEC,KAAK,EAAEb,IAAI,CAACa;IAAM,CAAE;IAAAC,QAAA,eACtC5B,KAAA,CAACP,gBAAgB;MAACoC,OAAO,EAAEL,UAAW;MAACM,aAAa,EAAE,GAAI;MAAAF,QAAA,GACvDhB,OAAO,iBACNd,IAAA,CAACJ,IAAI;QACHgC,KAAK,EAAE;UACLK,QAAQ,EAAE,UAAU;UACpBJ,KAAK,EAAEb,IAAI,CAACa,KAAK;UACjBK,MAAM,EAAElB,IAAI,CAACkB,MAAM;UACnBC,UAAU,EAAE,QAAQ;UACpBC,cAAc,EAAE,QAAQ;UACxBC,MAAM,EAAE;QACV,CAAE;QAAAP,QAAA,eAEF9B,IAAA,CAACP,iBAAiB;UAAC6C,IAAI,EAAC,OAAO;UAACC,KAAK,EAAC;QAAS,CAAE;MAAC,CAC9C,CACP,eACDvC,IAAA,CAACN,KAAK;QACJ8C,MAAM,EAAE;UAAEC,GAAG,EAAE5B,UAAU,IAAIP;QAAe,CAAE;QAC9CsB,KAAK,EAAE;UACLC,KAAK,EAAEb,IAAI,CAACa,KAAK;UACjBK,MAAM,EAAElB,IAAI,CAACkB,MAAM;UACnBQ,YAAY,EAAE,EAAE;UAChBC,eAAe,EAAE;QACnB,CAAE;QACFC,SAAS,EAAEA,CAAA,KAAM7B,UAAU,CAAC,KAAK,CAAE;QACnC8B,OAAO,EAAGC,KAAK,IAAK;UAClB/B,UAAU,CAAC,KAAK,CAAC;UACjB5B,OAAO,CAAC,MAAM,EAAE,oBAAoB,EAAE;YACpCiB,GAAG,EAAED,SAAS,CAACU,UAAU,CAAC;YAC1BkC,YAAY,EAAE,CAAC,CAACnC,eAAe;YAC/BW,KAAK,EAAGuB,KAAK,EAAUE,WAAW,EAAEzB;UACtC,CAAC,CAAC;UACF,IAAItC,eAAe,CAAC4B,UAAU,CAAC,EAAE;YAC/B3B,wBAAwB,CAAC,CAAC;UAC5B;QACF;QACA;QACA;QAAA;QACA+D,UAAU,EAAC;MAAO,CACnB,CAAC;IAAA,CACc;EAAC,CACV,CAAC;AAEhB,CAAC;AAED,eAAe1C,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","isSecureFileUrl","requestFileTokenRecovery","pushLog","Container","useDispatch","setActiveFile","setActiveModal","MODAL_TYPES","ActivityIndicator","Image","TouchableOpacity","View","defaultMediaDims","fitMediaDimensions","jsx","_jsx","jsxs","_jsxs","maskToken","url","replace","FALLBACK_IMAGE","CustomMessageImage","fileURL","fileName","originalName","mimetype","locationPreview","tile","onOpen","displayURL","loading","setLoading","measured","setDims","dims","dispatch","active","getSize","w","h","error","message","String","handleOpen","FILE_PREVIEW","style","width","borderRadius","children","onPress","activeOpacity","position","height","alignItems","justifyContent","zIndex","size","color","source","uri","backgroundColor","onLoadEnd","onError","event","usingPreview","nativeEvent","resizeMode"],"sourceRoot":"../../../../src","sources":["components/styled/MessageImage.tsx"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,7 @@ import { getElementFont } from '../../helpers/getElementFont';
14
14
  import { useTheme } from '../../hooks/useTheme';
15
15
  import { useT } from '../../i18n/useT';
16
16
  import { getMediaLibrary } from '../../helpers/mediaLibraryRuntime';
17
+ import { mediaFileCap, mediaSizeLimit } from '../../helpers/mediaLimits';
17
18
  import * as ImagePicker from 'expo-image-picker';
18
19
  import * as DocumentPicker from 'expo-document-picker';
19
20
  import * as ImageManipulator from 'expo-image-manipulator';
@@ -33,14 +34,6 @@ const VOICE_PRESET = {
33
34
  ...RecordingPresets.HIGH_QUALITY,
34
35
  isMeteringEnabled: true
35
36
  };
36
-
37
- // iOS photos default to HEIC; many web backends (incl. ours) 500 on
38
- // HEIC uploads because they can't decode it. Convert to JPEG before
39
- // upload — JPEG is universally supported. JPEGs pass through.
40
- // Server rejects uploads over its body-size cap with HTTP 413 (Request
41
- // Entity Too Large). Guard client-side so the user gets a clear message
42
- // instead of a silent failed bubble. 50 MB matches the backend limit.
43
- const MAX_MEDIA_BYTES = 50 * 1024 * 1024;
44
37
  const formatBytes = bytes => {
45
38
  if (bytes >= 1024 * 1024) {
46
39
  return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
@@ -132,18 +125,68 @@ const SendInput = ({
132
125
  // (iOS, bug #4). A double-fire happens on a fast double-tap of the
133
126
  // "Document" row or a dev-mode double-run of the sheet's close callback.
134
127
  const pickingDocRef = useRef(false);
135
- const handleFileSelect = files => {
136
- // Enforce the upload size cap before anything reaches the network.
137
- // The backend rejects oversized bodies with HTTP 413; catching it
138
- // here gives a clear message instead of a silent failed bubble.
139
- const limit = maxMediaBytes ?? MAX_MEDIA_BYTES;
140
- const oversize = files.find(f => typeof f.size === 'number' && f.size > limit);
141
- if (oversize) {
142
- Alert.alert('File too large', `"${oversize.name}" is ${formatBytes(oversize.size)}. The maximum allowed size is ${Math.round(limit / (1024 * 1024))} MB.`);
128
+
129
+ /**
130
+ * Adds picked files to the tray. The tray is a list, not a slot: a second
131
+ * pick or a camera shot appends. Enforces the per-message file cap and the
132
+ * per-file size cap before anything reaches the network; the size cap is
133
+ * the upload limit (50 MB, or the sealed-file limit in an e2ee room),
134
+ * lowered by `config.attachments.maxSizeMB`. The backend rejects oversized
135
+ * bodies with HTTP 413, so catching them here gives a clear message.
136
+ */
137
+ const handleFileSelect = incoming => {
138
+ if (incoming.length === 0) {
143
139
  return;
144
140
  }
145
- filePreviewsRef.current = files;
146
- setFilePreviews([...files]);
141
+ const limit = mediaSizeLimit(config, maxMediaBytes);
142
+ const fitting = incoming.filter(file => {
143
+ if (typeof file.size === 'number' && file.size > limit) {
144
+ Alert.alert(t('attachment.tooLarge', {
145
+ name: file.name,
146
+ max: formatBytes(limit)
147
+ }));
148
+ return false;
149
+ }
150
+ return true;
151
+ });
152
+ const cap = mediaFileCap(config);
153
+ const room = cap - filePreviewsRef.current.length;
154
+ if (fitting.length === 0) {
155
+ return;
156
+ }
157
+ if (room <= 0 || fitting.length > room) {
158
+ Alert.alert(t('attachment.limit', {
159
+ count: cap
160
+ }));
161
+ }
162
+ const accepted = fitting.slice(0, Math.max(0, room));
163
+ if (accepted.length === 0) {
164
+ return;
165
+ }
166
+ const next = [...filePreviewsRef.current, ...accepted];
167
+ filePreviewsRef.current = next;
168
+ setFilePreviews(next);
169
+ };
170
+
171
+ /** One picked image or video as the file the tray and the upload carry. */
172
+ const assetToFile = async (asset, fallbackPrefix) => {
173
+ if (asset.type === 'video') {
174
+ return {
175
+ uri: asset.uri,
176
+ type: asset.mimeType || 'video/mp4',
177
+ name: asset.fileName || asset.uri.split('/').pop() || `${fallbackPrefix}_${Date.now()}.mp4`,
178
+ size: asset.fileSize
179
+ };
180
+ }
181
+ // Videos pass through unchanged; only images get the HEIC→JPEG
182
+ // normalization (manipulator is image-only).
183
+ const normalized = await normalizeImageAsset(asset);
184
+ return {
185
+ uri: normalized.uri,
186
+ type: normalized.mime,
187
+ name: normalized.name,
188
+ size: asset.fileSize
189
+ };
147
190
  };
148
191
 
149
192
  // Both pickers use expo-image-picker / expo-document-picker. They
@@ -167,6 +210,7 @@ const SendInput = ({
167
210
  return;
168
211
  }
169
212
  try {
213
+ // Camera is a single shot per tap; the shot joins the tray.
170
214
  const result = await ImagePicker.launchCameraAsync({
171
215
  mediaTypes: ['images', 'videos'],
172
216
  quality: 0.9,
@@ -175,23 +219,7 @@ const SendInput = ({
175
219
  if (result.canceled || !result.assets?.[0]) {
176
220
  return;
177
221
  }
178
- const asset = result.assets[0];
179
- if (asset.type === 'video') {
180
- handleFileSelect([{
181
- uri: asset.uri,
182
- type: asset.mimeType || 'video/mp4',
183
- name: asset.fileName || asset.uri.split('/').pop() || `camera_${Date.now()}.mp4`,
184
- size: asset.fileSize
185
- }]);
186
- return;
187
- }
188
- const normalized = await normalizeImageAsset(asset);
189
- handleFileSelect([{
190
- uri: normalized.uri,
191
- type: normalized.mime,
192
- name: normalized.name,
193
- size: asset.fileSize
194
- }]);
222
+ handleFileSelect([await assetToFile(result.assets[0], 'camera')]);
195
223
  } catch (error) {
196
224
  console.error('Camera error:', error);
197
225
  }
@@ -202,35 +230,32 @@ const SendInput = ({
202
230
  promptOpenSettings(t('permission.gallery'));
203
231
  return;
204
232
  }
233
+
234
+ // The library takes as many as the tray has room for (at least one).
235
+ const remaining = mediaFileCap(config) - filePreviewsRef.current.length;
236
+ if (remaining <= 0) {
237
+ Alert.alert(t('attachment.limit', {
238
+ count: mediaFileCap(config)
239
+ }));
240
+ return;
241
+ }
205
242
  try {
206
243
  const result = await ImagePicker.launchImageLibraryAsync({
207
244
  mediaTypes: ['images', 'videos'],
208
245
  allowsEditing: false,
209
246
  quality: 0.9,
247
+ allowsMultipleSelection: true,
248
+ selectionLimit: remaining,
210
249
  preferredAssetRepresentationMode: ImagePicker.UIImagePickerPreferredAssetRepresentationMode.Compatible
211
250
  });
212
- if (result.canceled || !result.assets?.[0]) {
251
+ if (result.canceled || !result.assets?.length) {
213
252
  return;
214
253
  }
215
- const asset = result.assets[0];
216
- // Videos pass through unchanged; only images get the HEIC→JPEG
217
- // normalization (manipulator is image-only).
218
- if (asset.type === 'video') {
219
- handleFileSelect([{
220
- uri: asset.uri,
221
- type: asset.mimeType || 'video/mp4',
222
- name: asset.fileName || asset.uri.split('/').pop() || `gallery_${Date.now()}.mp4`,
223
- size: asset.fileSize
224
- }]);
225
- return;
254
+ const picked = [];
255
+ for (const asset of result.assets) {
256
+ picked.push(await assetToFile(asset, 'gallery'));
226
257
  }
227
- const normalized = await normalizeImageAsset(asset);
228
- handleFileSelect([{
229
- uri: normalized.uri,
230
- type: normalized.mime,
231
- name: normalized.name,
232
- size: asset.fileSize
233
- }]);
258
+ handleFileSelect(picked);
234
259
  } catch (error) {
235
260
  console.error('Gallery error:', error);
236
261
  }
@@ -286,19 +311,18 @@ const SendInput = ({
286
311
  try {
287
312
  const result = await DocumentPicker.getDocumentAsync({
288
313
  type: '*/*',
289
- multiple: false,
314
+ multiple: true,
290
315
  copyToCacheDirectory: true
291
316
  });
292
- if (result.canceled || !result.assets?.[0]) {
317
+ if (result.canceled || !result.assets?.length) {
293
318
  return;
294
319
  }
295
- const asset = result.assets[0];
296
- handleFileSelect([{
320
+ handleFileSelect(result.assets.map(asset => ({
297
321
  uri: asset.uri,
298
322
  type: asset.mimeType || 'application/octet-stream',
299
323
  name: asset.name || `file_${Date.now()}`,
300
324
  size: asset.size ?? undefined
301
- }]);
325
+ })));
302
326
  } catch (err) {
303
327
  console.error('DocumentPicker error:', err);
304
328
  } finally {
@@ -336,6 +360,13 @@ const SendInput = ({
336
360
  // check; afterwards the sheet opens with zero added latency.
337
361
  const libraryPermissionCheckedRef = useRef(false);
338
362
  const handleAttachPress = () => {
363
+ const cap = mediaFileCap(config);
364
+ if (filePreviewsRef.current.length >= cap) {
365
+ Alert.alert(t('attachment.limit', {
366
+ count: cap
367
+ }));
368
+ return;
369
+ }
339
370
  if (libraryPermissionCheckedRef.current) {
340
371
  setShowMediaMenu(true);
341
372
  return;
@@ -540,17 +571,17 @@ const SendInput = ({
540
571
  setMessage('');
541
572
  setFilePreviews([]);
542
573
  try {
543
- for (const file of filesToSend) {
544
- try {
545
- await sendMedia(file, file.type);
546
- } catch (err) {
547
- console.error(err);
548
- return;
549
- }
550
- }
551
- if (messageToSend) {
574
+ if (filesToSend.length > 0) {
575
+ // The files go as ONE message. The text typed with them is its
576
+ // caption, never a separate text message.
577
+ await sendMedia(filesToSend, filesToSend[0].type, messageToSend ? {
578
+ text: messageToSend
579
+ } : undefined);
580
+ } else if (messageToSend) {
552
581
  sendMessage(messageToSend);
553
582
  }
583
+ } catch (err) {
584
+ console.error(err);
554
585
  } finally {
555
586
  sendingRef.current = false;
556
587
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useCallback","useEffect","useRef","MessageInputContainer","InputContainer","MessageInput","Button","SendIcon","AttachIcon","RecordIcon","View","Text","TouchableOpacity","Alert","Linking","AttachSheet","MediaFilePreview","getIconColor","getElementFont","useTheme","useT","getMediaLibrary","ImagePicker","DocumentPicker","ImageManipulator","FileSystem","useAudioRecorder","setAudioModeAsync","requestRecordingPermissionsAsync","RecordingPresets","WAVEFORM_RESOLUTION","encodeWaveForm","meteringToLevel","resamplePeaks","scaleLevels","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","VOICE_PRESET","HIGH_QUALITY","isMeteringEnabled","MAX_MEDIA_BYTES","formatBytes","bytes","toFixed","normalizeImageAsset","asset","mime","mimeType","toLowerCase","looksLikeHeic","includes","uri","endsWith","name","fileName","split","pop","Date","now","result","manipulateAsync","compress","format","SaveFormat","JPEG","baseName","replace","SendInput","sendMessage","sendMedia","config","maxMediaBytes","onFocus","onBlur","editMessage","isLoading","isMessageProcessing","t","theme","message","setMessage","isRecording","setIsRecording","recordingDuration","setRecordingDuration","isFocused","setIsFocused","filePreviews","setFilePreviews","showMediaMenu","setShowMediaMenu","audioRecorder","isRecordingRef","recordingTimerRef","recordingLevelsRef","recordingStartedAtRef","messageRef","filePreviewsRef","sendingRef","pickingDocRef","handleFileSelect","files","limit","oversize","find","f","size","alert","Math","round","current","promptOpenSettings","text","style","onPress","openSettings","handleCameraSelection","perm","requestCameraPermissionsAsync","granted","launchCameraAsync","mediaTypes","quality","videoQuality","UIImagePickerControllerQualityType","Medium","canceled","assets","type","fileSize","normalized","error","console","handleGallerySelection","requestMediaLibraryPermissionsAsync","launchImageLibraryAsync","allowsEditing","preferredAssetRepresentationMode","UIImagePickerPreferredAssetRepresentationMode","Compatible","handleRecentMediaSelection","media","info","getInfoAsync","exists","isVideo","handleFileSelection","getDocumentAsync","multiple","copyToCacheDirectory","undefined","err","ensureLibraryPermission","MediaLibrary","getPermissionsAsync","canAskAgain","requestPermissionsAsync","warn","libraryPermissionCheckedRef","handleAttachPress","finally","stopRecordingTimer","clearInterval","restoreAudioMode","allowsRecording","playsInSilentMode","handleStartRecording","prepareToRecordAsync","record","startedAt","setInterval","push","getStatus","metering","floor","handleCancelRecording","wasRecording","stop","handleStopAndSendRecording","seconds","ts","levels","file","duration","max","waveForm","some","level","catch","handleRemoveImage","index","next","filter","_","i","handleSendClick","messageToSend","filesToSend","length","inputFontSize","typography","input","fontSize","elements","inputText","inputMinHeight","minHeight","estimatedLineHeight","inputVerticalPadding","isText","children","disableMedia","width","height","justifyContent","alignItems","backgroundColor","activeOpacity","color","testID","accessibilityLabel","colors","primary","fontWeight","placeholder","placeholderTextColor","textMuted","keyboardAppearance","dark","value","onChangeText","editable","multiline","maxHeight","paddingTop","paddingBottom","flex","borderRadius","surfaceSecondary","danger","flexDirection","gap","paddingHorizontal","toString","padStart","textSecondary","hasContent","showMic","enableAudio","disabled","filled","EndIcon","textOnPrimary","sendButtonSize","marginLeft","marginRight","opacity","visible","onClose","onCamera","onGallery","onDocument","onPickMedia","primaryColor"],"sourceRoot":"../../../../src","sources":["components/styled/SendInput.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useCallback","useEffect","useRef","MessageInputContainer","InputContainer","MessageInput","Button","SendIcon","AttachIcon","RecordIcon","View","Text","TouchableOpacity","Alert","Linking","AttachSheet","MediaFilePreview","getIconColor","getElementFont","useTheme","useT","getMediaLibrary","mediaFileCap","mediaSizeLimit","ImagePicker","DocumentPicker","ImageManipulator","FileSystem","useAudioRecorder","setAudioModeAsync","requestRecordingPermissionsAsync","RecordingPresets","WAVEFORM_RESOLUTION","encodeWaveForm","meteringToLevel","resamplePeaks","scaleLevels","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","VOICE_PRESET","HIGH_QUALITY","isMeteringEnabled","formatBytes","bytes","toFixed","normalizeImageAsset","asset","mime","mimeType","toLowerCase","looksLikeHeic","includes","uri","endsWith","name","fileName","split","pop","Date","now","result","manipulateAsync","compress","format","SaveFormat","JPEG","baseName","replace","SendInput","sendMessage","sendMedia","config","maxMediaBytes","onFocus","onBlur","editMessage","isLoading","isMessageProcessing","t","theme","message","setMessage","isRecording","setIsRecording","recordingDuration","setRecordingDuration","isFocused","setIsFocused","filePreviews","setFilePreviews","showMediaMenu","setShowMediaMenu","audioRecorder","isRecordingRef","recordingTimerRef","recordingLevelsRef","recordingStartedAtRef","messageRef","filePreviewsRef","sendingRef","pickingDocRef","handleFileSelect","incoming","length","limit","fitting","filter","file","size","alert","max","cap","room","current","count","accepted","slice","Math","next","assetToFile","fallbackPrefix","type","fileSize","normalized","promptOpenSettings","text","style","onPress","openSettings","handleCameraSelection","perm","requestCameraPermissionsAsync","granted","launchCameraAsync","mediaTypes","quality","videoQuality","UIImagePickerControllerQualityType","Medium","canceled","assets","error","console","handleGallerySelection","requestMediaLibraryPermissionsAsync","remaining","launchImageLibraryAsync","allowsEditing","allowsMultipleSelection","selectionLimit","preferredAssetRepresentationMode","UIImagePickerPreferredAssetRepresentationMode","Compatible","picked","push","handleRecentMediaSelection","media","info","getInfoAsync","exists","isVideo","handleFileSelection","getDocumentAsync","multiple","copyToCacheDirectory","map","undefined","err","ensureLibraryPermission","MediaLibrary","getPermissionsAsync","canAskAgain","requestPermissionsAsync","warn","libraryPermissionCheckedRef","handleAttachPress","finally","stopRecordingTimer","clearInterval","restoreAudioMode","allowsRecording","playsInSilentMode","handleStartRecording","prepareToRecordAsync","record","startedAt","setInterval","getStatus","metering","floor","handleCancelRecording","wasRecording","stop","handleStopAndSendRecording","seconds","ts","levels","duration","round","waveForm","some","level","catch","handleRemoveImage","index","_","i","handleSendClick","messageToSend","filesToSend","inputFontSize","typography","input","fontSize","elements","inputText","inputMinHeight","minHeight","estimatedLineHeight","inputVerticalPadding","isText","children","disableMedia","width","height","justifyContent","alignItems","backgroundColor","activeOpacity","color","testID","accessibilityLabel","colors","primary","fontWeight","placeholder","placeholderTextColor","textMuted","keyboardAppearance","dark","value","onChangeText","editable","multiline","maxHeight","paddingTop","paddingBottom","flex","borderRadius","surfaceSecondary","danger","flexDirection","gap","paddingHorizontal","toString","padStart","textSecondary","hasContent","showMic","enableAudio","disabled","filled","EndIcon","textOnPrimary","sendButtonSize","marginLeft","marginRight","opacity","visible","onClose","onCamera","onGallery","onDocument","onPickMedia","primaryColor"],"sourceRoot":"../../../../src","sources":["components/styled/SendInput.tsx"],"mappings":"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","ignoreList":[]}