@ethora/chat-component-rn 26.8.5 → 26.8.7

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 (690) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +95 -0
  3. package/lib/commonjs/assets/emojiData.js +40 -0
  4. package/lib/commonjs/assets/emojiData.js.map +1 -0
  5. package/lib/commonjs/assets/icons.js +5 -3
  6. package/lib/commonjs/assets/icons.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/ChatHeader.js +35 -15
  8. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/ChatRoom.js +33 -24
  10. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  11. package/lib/commonjs/components/MainComponents/ChatWrapper.js +22 -16
  12. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  13. package/lib/commonjs/components/MainComponents/EncryptedSendNotice.js +47 -0
  14. package/lib/commonjs/components/MainComponents/EncryptedSendNotice.js.map +1 -0
  15. package/lib/commonjs/components/MainComponents/EncryptionCard.js +286 -0
  16. package/lib/commonjs/components/MainComponents/EncryptionCard.js.map +1 -0
  17. package/lib/commonjs/components/MainComponents/MediaMessage.js +7 -0
  18. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  19. package/lib/commonjs/components/MainComponents/MessageContainer.js +4 -12
  20. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  21. package/lib/commonjs/components/MainComponents/MessageList.js +110 -35
  22. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  23. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +5 -0
  24. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  25. package/lib/commonjs/components/MainComponents/RoomList.js +32 -29
  26. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  27. package/lib/commonjs/components/MainComponents/RoomStack.js +133 -65
  28. package/lib/commonjs/components/MainComponents/RoomStack.js.map +1 -1
  29. package/lib/commonjs/components/MainComponents/SealedAttachment.js +231 -0
  30. package/lib/commonjs/components/MainComponents/SealedAttachment.js.map +1 -0
  31. package/lib/commonjs/components/MainComponents/SystemMessage.js +6 -2
  32. package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
  33. package/lib/commonjs/components/MessageBubble/Avatar.js +5 -1
  34. package/lib/commonjs/components/MessageBubble/Avatar.js.map +1 -1
  35. package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js +18 -21
  36. package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  37. package/lib/commonjs/components/MessageBubble/EmojiPickerSheet.js +447 -0
  38. package/lib/commonjs/components/MessageBubble/EmojiPickerSheet.js.map +1 -0
  39. package/lib/commonjs/components/MessageBubble/Message.js +264 -136
  40. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  41. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +215 -13
  42. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  43. package/lib/commonjs/components/MessageBubble/MessageReaction.js +113 -94
  44. package/lib/commonjs/components/MessageBubble/MessageReaction.js.map +1 -1
  45. package/lib/commonjs/components/MessageBubble/MessageReply.js +66 -24
  46. package/lib/commonjs/components/MessageBubble/MessageReply.js.map +1 -1
  47. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +7 -4
  48. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  49. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +159 -16
  50. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  51. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +4 -0
  52. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  53. package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js +76 -44
  54. package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js.map +1 -1
  55. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +29 -6
  56. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  57. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +5 -1
  58. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  59. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +37 -13
  60. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  61. package/lib/commonjs/components/RoomComponents/LastMessageItem.js +6 -0
  62. package/lib/commonjs/components/RoomComponents/LastMessageItem.js.map +1 -1
  63. package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js +2 -2
  64. package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  65. package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js +8 -9
  66. package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
  67. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +4 -6
  68. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  69. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +2 -2
  70. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  71. package/lib/commonjs/components/RoomComponents/styled/LastMessageSealed.js +41 -0
  72. package/lib/commonjs/components/RoomComponents/styled/LastMessageSealed.js.map +1 -0
  73. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +2 -2
  74. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  75. package/lib/commonjs/components/Thread/ThreadWrapper.js +273 -152
  76. package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
  77. package/lib/commonjs/components/UsersList/UsersList.js +2 -1
  78. package/lib/commonjs/components/UsersList/UsersList.js.map +1 -1
  79. package/lib/commonjs/components/styled/DateLabel.js +6 -3
  80. package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
  81. package/lib/commonjs/components/styled/SendInput.js +4 -2
  82. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  83. package/lib/commonjs/context/MessageNotificationContext.js +188 -9
  84. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  85. package/lib/commonjs/context/xmppProvider.js +22 -7
  86. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  87. package/lib/commonjs/e2ee/crypto.js +207 -0
  88. package/lib/commonjs/e2ee/crypto.js.map +1 -0
  89. package/lib/commonjs/e2ee/deviceStore.js +84 -0
  90. package/lib/commonjs/e2ee/deviceStore.js.map +1 -0
  91. package/lib/commonjs/e2ee/fileCipher.js +95 -0
  92. package/lib/commonjs/e2ee/fileCipher.js.map +1 -0
  93. package/lib/commonjs/e2ee/fileEnvelope.js +79 -0
  94. package/lib/commonjs/e2ee/fileEnvelope.js.map +1 -0
  95. package/lib/commonjs/e2ee/index.js +210 -0
  96. package/lib/commonjs/e2ee/index.js.map +1 -0
  97. package/lib/commonjs/e2ee/limits.js +9 -0
  98. package/lib/commonjs/e2ee/limits.js.map +1 -0
  99. package/lib/commonjs/e2ee/ns.js +8 -0
  100. package/lib/commonjs/e2ee/ns.js.map +1 -0
  101. package/lib/commonjs/e2ee/omemo.js +622 -0
  102. package/lib/commonjs/e2ee/omemo.js.map +1 -0
  103. package/lib/commonjs/e2ee/protobuf.js +149 -0
  104. package/lib/commonjs/e2ee/protobuf.js.map +1 -0
  105. package/lib/commonjs/e2ee/ratchet.js +238 -0
  106. package/lib/commonjs/e2ee/ratchet.js.map +1 -0
  107. package/lib/commonjs/e2ee/sealedBody.js +23 -0
  108. package/lib/commonjs/e2ee/sealedBody.js.map +1 -0
  109. package/lib/commonjs/e2ee/sealedFiles.js +174 -0
  110. package/lib/commonjs/e2ee/sealedFiles.js.map +1 -0
  111. package/lib/commonjs/e2ee/send.js +54 -0
  112. package/lib/commonjs/e2ee/send.js.map +1 -0
  113. package/lib/commonjs/e2ee/stanza.js +114 -0
  114. package/lib/commonjs/e2ee/stanza.js.map +1 -0
  115. package/lib/commonjs/e2ee/store.js +43 -0
  116. package/lib/commonjs/e2ee/store.js.map +1 -0
  117. package/lib/commonjs/helpers/accountName.js +23 -0
  118. package/lib/commonjs/helpers/accountName.js.map +1 -0
  119. package/lib/commonjs/helpers/createMessageFromXml.js +19 -4
  120. package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
  121. package/lib/commonjs/helpers/createRoomFromApi.js +36 -2
  122. package/lib/commonjs/helpers/createRoomFromApi.js.map +1 -1
  123. package/lib/commonjs/helpers/createUserNameFromSetUser.js +2 -1
  124. package/lib/commonjs/helpers/createUserNameFromSetUser.js.map +1 -1
  125. package/lib/commonjs/helpers/displayName.js +16 -0
  126. package/lib/commonjs/helpers/displayName.js.map +1 -0
  127. package/lib/commonjs/helpers/emoji.js +51 -0
  128. package/lib/commonjs/helpers/emoji.js.map +1 -0
  129. package/lib/commonjs/helpers/haptics.js +29 -0
  130. package/lib/commonjs/helpers/haptics.js.map +1 -0
  131. package/lib/commonjs/helpers/historyPreloadScheduler.js +32 -66
  132. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  133. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +21 -12
  134. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  135. package/lib/commonjs/helpers/mamReactions.js +57 -0
  136. package/lib/commonjs/helpers/mamReactions.js.map +1 -0
  137. package/lib/commonjs/helpers/parseMessageReference.js +42 -0
  138. package/lib/commonjs/helpers/parseMessageReference.js.map +1 -0
  139. package/lib/commonjs/helpers/persistCrypto.js +5 -0
  140. package/lib/commonjs/helpers/persistCrypto.js.map +1 -1
  141. package/lib/commonjs/helpers/reactionsConfig.js +17 -0
  142. package/lib/commonjs/helpers/reactionsConfig.js.map +1 -0
  143. package/lib/commonjs/helpers/secureKeyValue.js +20 -0
  144. package/lib/commonjs/helpers/secureKeyValue.js.map +1 -1
  145. package/lib/commonjs/helpers/updateMessagesTillLast.js +17 -2
  146. package/lib/commonjs/helpers/updateMessagesTillLast.js.map +1 -1
  147. package/lib/commonjs/helpers/videoCache.js +136 -0
  148. package/lib/commonjs/helpers/videoCache.js.map +1 -0
  149. package/lib/commonjs/hooks/useHeapSender.js +3 -1
  150. package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
  151. package/lib/commonjs/hooks/useLogout.js +8 -0
  152. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  153. package/lib/commonjs/hooks/useMessageHeapState.js +3 -2
  154. package/lib/commonjs/hooks/useMessageHeapState.js.map +1 -1
  155. package/lib/commonjs/hooks/useRoomInitialization.js +16 -7
  156. package/lib/commonjs/hooks/useRoomInitialization.js.map +1 -1
  157. package/lib/commonjs/hooks/useSendMessage.js +85 -15
  158. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  159. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +1 -1
  160. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  161. package/lib/commonjs/i18n/strings.js +180 -0
  162. package/lib/commonjs/i18n/strings.js.map +1 -1
  163. package/lib/commonjs/main.js +13 -0
  164. package/lib/commonjs/main.js.map +1 -1
  165. package/lib/commonjs/networking/api-requests/auth.api.js +4 -1
  166. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  167. package/lib/commonjs/networking/api-requests/rooms.api.js +111 -17
  168. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  169. package/lib/commonjs/networking/stanzaHandlers.js +106 -50
  170. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  171. package/lib/commonjs/networking/xmpp/getHistory.xmpp.js +29 -74
  172. package/lib/commonjs/networking/xmpp/getHistory.xmpp.js.map +1 -1
  173. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +44 -0
  174. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  175. package/lib/commonjs/networking/xmpp/mamRouter.js +186 -0
  176. package/lib/commonjs/networking/xmpp/mamRouter.js.map +1 -0
  177. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +41 -4
  178. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  179. package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js +16 -3
  180. package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
  181. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +13 -6
  182. package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  183. package/lib/commonjs/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js +14 -6
  184. package/lib/commonjs/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js.map +1 -1
  185. package/lib/commonjs/networking/xmppClient.js +104 -23
  186. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  187. package/lib/commonjs/roomStore/Middleware/newMessageMidlleware.js +29 -34
  188. package/lib/commonjs/roomStore/Middleware/newMessageMidlleware.js.map +1 -1
  189. package/lib/commonjs/roomStore/Middleware/perfMiddleware.js +51 -0
  190. package/lib/commonjs/roomStore/Middleware/perfMiddleware.js.map +1 -0
  191. package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js +66 -43
  192. package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
  193. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +88 -68
  194. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  195. package/lib/commonjs/roomStore/index.js +18 -14
  196. package/lib/commonjs/roomStore/index.js.map +1 -1
  197. package/lib/commonjs/roomStore/persistBackend.js +93 -0
  198. package/lib/commonjs/roomStore/persistBackend.js.map +1 -0
  199. package/lib/commonjs/roomStore/persistence.js +253 -51
  200. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  201. package/lib/commonjs/roomStore/roomsSlice.js +282 -136
  202. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  203. package/lib/commonjs/theme/theme.js +3 -0
  204. package/lib/commonjs/theme/theme.js.map +1 -1
  205. package/lib/commonjs/utils/devLogger.js +14 -0
  206. package/lib/commonjs/utils/devLogger.js.map +1 -1
  207. package/lib/commonjs/version.js +1 -1
  208. package/lib/module/assets/emojiData.js +36 -0
  209. package/lib/module/assets/emojiData.js.map +1 -0
  210. package/lib/module/assets/icons.js +4 -2
  211. package/lib/module/assets/icons.js.map +1 -1
  212. package/lib/module/components/MainComponents/ChatHeader.js +37 -17
  213. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  214. package/lib/module/components/MainComponents/ChatRoom.js +34 -25
  215. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  216. package/lib/module/components/MainComponents/ChatWrapper.js +23 -17
  217. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  218. package/lib/module/components/MainComponents/EncryptedSendNotice.js +42 -0
  219. package/lib/module/components/MainComponents/EncryptedSendNotice.js.map +1 -0
  220. package/lib/module/components/MainComponents/EncryptionCard.js +281 -0
  221. package/lib/module/components/MainComponents/EncryptionCard.js.map +1 -0
  222. package/lib/module/components/MainComponents/MediaMessage.js +7 -0
  223. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  224. package/lib/module/components/MainComponents/MessageContainer.js +7 -14
  225. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  226. package/lib/module/components/MainComponents/MessageList.js +110 -35
  227. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  228. package/lib/module/components/MainComponents/ReduxWrapper.js +5 -0
  229. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  230. package/lib/module/components/MainComponents/RoomList.js +32 -29
  231. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  232. package/lib/module/components/MainComponents/RoomStack.js +131 -63
  233. package/lib/module/components/MainComponents/RoomStack.js.map +1 -1
  234. package/lib/module/components/MainComponents/SealedAttachment.js +224 -0
  235. package/lib/module/components/MainComponents/SealedAttachment.js.map +1 -0
  236. package/lib/module/components/MainComponents/SystemMessage.js +6 -2
  237. package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
  238. package/lib/module/components/MessageBubble/Avatar.js +5 -1
  239. package/lib/module/components/MessageBubble/Avatar.js.map +1 -1
  240. package/lib/module/components/MessageBubble/BottomReplyContainer.js +19 -22
  241. package/lib/module/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  242. package/lib/module/components/MessageBubble/EmojiPickerSheet.js +438 -0
  243. package/lib/module/components/MessageBubble/EmojiPickerSheet.js.map +1 -0
  244. package/lib/module/components/MessageBubble/Message.js +269 -140
  245. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  246. package/lib/module/components/MessageBubble/MessageInteractions.js +217 -15
  247. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  248. package/lib/module/components/MessageBubble/MessageReaction.js +115 -94
  249. package/lib/module/components/MessageBubble/MessageReaction.js.map +1 -1
  250. package/lib/module/components/MessageBubble/MessageReply.js +65 -24
  251. package/lib/module/components/MessageBubble/MessageReply.js.map +1 -1
  252. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +7 -4
  253. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  254. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +161 -18
  255. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  256. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +4 -0
  257. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  258. package/lib/module/components/Modals/Modal/SwipeBackLayer.js +76 -44
  259. package/lib/module/components/Modals/Modal/SwipeBackLayer.js.map +1 -1
  260. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +32 -8
  261. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  262. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +4 -0
  263. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  264. package/lib/module/components/RoomComponents/ChatRoomItem.js +37 -13
  265. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  266. package/lib/module/components/RoomComponents/LastMessageItem.js +6 -0
  267. package/lib/module/components/RoomComponents/LastMessageItem.js.map +1 -1
  268. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +2 -2
  269. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  270. package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js +8 -9
  271. package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
  272. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +4 -6
  273. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  274. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +2 -2
  275. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  276. package/lib/module/components/RoomComponents/styled/LastMessageSealed.js +36 -0
  277. package/lib/module/components/RoomComponents/styled/LastMessageSealed.js.map +1 -0
  278. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +2 -2
  279. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  280. package/lib/module/components/Thread/ThreadWrapper.js +273 -153
  281. package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
  282. package/lib/module/components/UsersList/UsersList.js +2 -1
  283. package/lib/module/components/UsersList/UsersList.js.map +1 -1
  284. package/lib/module/components/styled/DateLabel.js +6 -3
  285. package/lib/module/components/styled/DateLabel.js.map +1 -1
  286. package/lib/module/components/styled/SendInput.js +4 -2
  287. package/lib/module/components/styled/SendInput.js.map +1 -1
  288. package/lib/module/context/MessageNotificationContext.js +190 -11
  289. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  290. package/lib/module/context/xmppProvider.js +22 -7
  291. package/lib/module/context/xmppProvider.js.map +1 -1
  292. package/lib/module/e2ee/crypto.js +170 -0
  293. package/lib/module/e2ee/crypto.js.map +1 -0
  294. package/lib/module/e2ee/deviceStore.js +77 -0
  295. package/lib/module/e2ee/deviceStore.js.map +1 -0
  296. package/lib/module/e2ee/fileCipher.js +90 -0
  297. package/lib/module/e2ee/fileCipher.js.map +1 -0
  298. package/lib/module/e2ee/fileEnvelope.js +66 -0
  299. package/lib/module/e2ee/fileEnvelope.js.map +1 -0
  300. package/lib/module/e2ee/index.js +185 -0
  301. package/lib/module/e2ee/index.js.map +1 -0
  302. package/lib/module/e2ee/limits.js +5 -0
  303. package/lib/module/e2ee/limits.js.map +1 -0
  304. package/lib/module/e2ee/ns.js +4 -0
  305. package/lib/module/e2ee/ns.js.map +1 -0
  306. package/lib/module/e2ee/omemo.js +610 -0
  307. package/lib/module/e2ee/omemo.js.map +1 -0
  308. package/lib/module/e2ee/protobuf.js +140 -0
  309. package/lib/module/e2ee/protobuf.js.map +1 -0
  310. package/lib/module/e2ee/ratchet.js +228 -0
  311. package/lib/module/e2ee/ratchet.js.map +1 -0
  312. package/lib/module/e2ee/sealedBody.js +19 -0
  313. package/lib/module/e2ee/sealedBody.js.map +1 -0
  314. package/lib/module/e2ee/sealedFiles.js +154 -0
  315. package/lib/module/e2ee/sealedFiles.js.map +1 -0
  316. package/lib/module/e2ee/send.js +48 -0
  317. package/lib/module/e2ee/send.js.map +1 -0
  318. package/lib/module/e2ee/stanza.js +107 -0
  319. package/lib/module/e2ee/stanza.js.map +1 -0
  320. package/lib/module/e2ee/store.js +35 -0
  321. package/lib/module/e2ee/store.js.map +1 -0
  322. package/lib/module/helpers/accountName.js +18 -0
  323. package/lib/module/helpers/accountName.js.map +1 -0
  324. package/lib/module/helpers/createMessageFromXml.js +19 -4
  325. package/lib/module/helpers/createMessageFromXml.js.map +1 -1
  326. package/lib/module/helpers/createRoomFromApi.js +36 -2
  327. package/lib/module/helpers/createRoomFromApi.js.map +1 -1
  328. package/lib/module/helpers/createUserNameFromSetUser.js +3 -1
  329. package/lib/module/helpers/createUserNameFromSetUser.js.map +1 -1
  330. package/lib/module/helpers/displayName.js +11 -0
  331. package/lib/module/helpers/displayName.js.map +1 -0
  332. package/lib/module/helpers/emoji.js +44 -0
  333. package/lib/module/helpers/emoji.js.map +1 -0
  334. package/lib/module/helpers/haptics.js +24 -0
  335. package/lib/module/helpers/haptics.js.map +1 -0
  336. package/lib/module/helpers/historyPreloadScheduler.js +32 -66
  337. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  338. package/lib/module/helpers/insertMessageWithDelimiter.js +21 -12
  339. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  340. package/lib/module/helpers/mamReactions.js +51 -0
  341. package/lib/module/helpers/mamReactions.js.map +1 -0
  342. package/lib/module/helpers/parseMessageReference.js +37 -0
  343. package/lib/module/helpers/parseMessageReference.js.map +1 -0
  344. package/lib/module/helpers/persistCrypto.js +4 -0
  345. package/lib/module/helpers/persistCrypto.js.map +1 -1
  346. package/lib/module/helpers/reactionsConfig.js +10 -0
  347. package/lib/module/helpers/reactionsConfig.js.map +1 -0
  348. package/lib/module/helpers/secureKeyValue.js +19 -0
  349. package/lib/module/helpers/secureKeyValue.js.map +1 -1
  350. package/lib/module/helpers/updateMessagesTillLast.js +17 -2
  351. package/lib/module/helpers/updateMessagesTillLast.js.map +1 -1
  352. package/lib/module/helpers/videoCache.js +125 -0
  353. package/lib/module/helpers/videoCache.js.map +1 -0
  354. package/lib/module/hooks/useHeapSender.js +3 -1
  355. package/lib/module/hooks/useHeapSender.js.map +1 -1
  356. package/lib/module/hooks/useLogout.js +8 -0
  357. package/lib/module/hooks/useLogout.js.map +1 -1
  358. package/lib/module/hooks/useMessageHeapState.js +3 -2
  359. package/lib/module/hooks/useMessageHeapState.js.map +1 -1
  360. package/lib/module/hooks/useRoomInitialization.js +17 -8
  361. package/lib/module/hooks/useRoomInitialization.js.map +1 -1
  362. package/lib/module/hooks/useSendMessage.js +85 -15
  363. package/lib/module/hooks/useSendMessage.js.map +1 -1
  364. package/lib/module/hooks/useUnreadMessagesCounter.js +1 -1
  365. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  366. package/lib/module/i18n/strings.js +180 -0
  367. package/lib/module/i18n/strings.js.map +1 -1
  368. package/lib/module/main.js +1 -0
  369. package/lib/module/main.js.map +1 -1
  370. package/lib/module/networking/api-requests/auth.api.js +4 -1
  371. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  372. package/lib/module/networking/api-requests/rooms.api.js +109 -18
  373. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  374. package/lib/module/networking/stanzaHandlers.js +107 -51
  375. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  376. package/lib/module/networking/xmpp/getHistory.xmpp.js +29 -74
  377. package/lib/module/networking/xmpp/getHistory.xmpp.js.map +1 -1
  378. package/lib/module/networking/xmpp/handleStanzas.xmpp.js +42 -0
  379. package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  380. package/lib/module/networking/xmpp/mamRouter.js +175 -0
  381. package/lib/module/networking/xmpp/mamRouter.js.map +1 -0
  382. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +38 -2
  383. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  384. package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js +16 -3
  385. package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
  386. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +13 -6
  387. package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
  388. package/lib/module/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js +14 -6
  389. package/lib/module/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js.map +1 -1
  390. package/lib/module/networking/xmppClient.js +105 -24
  391. package/lib/module/networking/xmppClient.js.map +1 -1
  392. package/lib/module/roomStore/Middleware/newMessageMidlleware.js +29 -34
  393. package/lib/module/roomStore/Middleware/newMessageMidlleware.js.map +1 -1
  394. package/lib/module/roomStore/Middleware/perfMiddleware.js +45 -0
  395. package/lib/module/roomStore/Middleware/perfMiddleware.js.map +1 -0
  396. package/lib/module/roomStore/Middleware/reactionsMiddleware.js +66 -43
  397. package/lib/module/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
  398. package/lib/module/roomStore/Middleware/unreadMidlleware.js +89 -69
  399. package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  400. package/lib/module/roomStore/index.js +19 -15
  401. package/lib/module/roomStore/index.js.map +1 -1
  402. package/lib/module/roomStore/persistBackend.js +86 -0
  403. package/lib/module/roomStore/persistBackend.js.map +1 -0
  404. package/lib/module/roomStore/persistence.js +253 -49
  405. package/lib/module/roomStore/persistence.js.map +1 -1
  406. package/lib/module/roomStore/roomsSlice.js +275 -134
  407. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  408. package/lib/module/theme/theme.js +3 -0
  409. package/lib/module/theme/theme.js.map +1 -1
  410. package/lib/module/utils/devLogger.js +13 -0
  411. package/lib/module/utils/devLogger.js.map +1 -1
  412. package/lib/module/version.js +1 -1
  413. package/lib/typescript/assets/emojiData.d.ts +8 -0
  414. package/lib/typescript/assets/emojiData.d.ts.map +1 -0
  415. package/lib/typescript/assets/icons.d.ts +8 -0
  416. package/lib/typescript/assets/icons.d.ts.map +1 -1
  417. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  418. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  419. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  420. package/lib/typescript/components/MainComponents/EncryptedSendNotice.d.ts +4 -0
  421. package/lib/typescript/components/MainComponents/EncryptedSendNotice.d.ts.map +1 -0
  422. package/lib/typescript/components/MainComponents/EncryptionCard.d.ts +10 -0
  423. package/lib/typescript/components/MainComponents/EncryptionCard.d.ts.map +1 -0
  424. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  425. package/lib/typescript/components/MainComponents/MessageContainer.d.ts +2 -2
  426. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  427. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  428. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  429. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  430. package/lib/typescript/components/MainComponents/RoomStack.d.ts +7 -2
  431. package/lib/typescript/components/MainComponents/RoomStack.d.ts.map +1 -1
  432. package/lib/typescript/components/MainComponents/SealedAttachment.d.ts +13 -0
  433. package/lib/typescript/components/MainComponents/SealedAttachment.d.ts.map +1 -0
  434. package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
  435. package/lib/typescript/components/MessageBubble/Avatar.d.ts +2 -0
  436. package/lib/typescript/components/MessageBubble/Avatar.d.ts.map +1 -1
  437. package/lib/typescript/components/MessageBubble/BottomReplyContainer.d.ts.map +1 -1
  438. package/lib/typescript/components/MessageBubble/EmojiPickerSheet.d.ts +11 -0
  439. package/lib/typescript/components/MessageBubble/EmojiPickerSheet.d.ts.map +1 -0
  440. package/lib/typescript/components/MessageBubble/Message.d.ts +2 -2
  441. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  442. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +2 -0
  443. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  444. package/lib/typescript/components/MessageBubble/MessageReaction.d.ts +1 -0
  445. package/lib/typescript/components/MessageBubble/MessageReaction.d.ts.map +1 -1
  446. package/lib/typescript/components/MessageBubble/MessageReply.d.ts +7 -7
  447. package/lib/typescript/components/MessageBubble/MessageReply.d.ts.map +1 -1
  448. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  449. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  450. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  451. package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts +2 -1
  452. package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts.map +1 -1
  453. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  454. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  455. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts +2 -2
  456. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  457. package/lib/typescript/components/RoomComponents/LastMessageItem.d.ts.map +1 -1
  458. package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts.map +1 -1
  459. package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts +3 -6
  460. package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts.map +1 -1
  461. package/lib/typescript/components/RoomComponents/styled/LastMessageSealed.d.ts +7 -0
  462. package/lib/typescript/components/RoomComponents/styled/LastMessageSealed.d.ts.map +1 -0
  463. package/lib/typescript/components/Thread/ThreadWrapper.d.ts +7 -1
  464. package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
  465. package/lib/typescript/components/UsersList/UsersList.d.ts.map +1 -1
  466. package/lib/typescript/components/styled/DateLabel.d.ts +1 -0
  467. package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
  468. package/lib/typescript/components/styled/SendInput.d.ts +1 -0
  469. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  470. package/lib/typescript/context/MessageNotificationContext.d.ts.map +1 -1
  471. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  472. package/lib/typescript/e2ee/crypto.d.ts +28 -0
  473. package/lib/typescript/e2ee/crypto.d.ts.map +1 -0
  474. package/lib/typescript/e2ee/deviceStore.d.ts +4 -0
  475. package/lib/typescript/e2ee/deviceStore.d.ts.map +1 -0
  476. package/lib/typescript/e2ee/fileCipher.d.ts +7 -0
  477. package/lib/typescript/e2ee/fileCipher.d.ts.map +1 -0
  478. package/lib/typescript/e2ee/fileEnvelope.d.ts +27 -0
  479. package/lib/typescript/e2ee/fileEnvelope.d.ts.map +1 -0
  480. package/lib/typescript/e2ee/index.d.ts +23 -0
  481. package/lib/typescript/e2ee/index.d.ts.map +1 -0
  482. package/lib/typescript/e2ee/limits.d.ts +3 -0
  483. package/lib/typescript/e2ee/limits.d.ts.map +1 -0
  484. package/lib/typescript/e2ee/ns.d.ts +2 -0
  485. package/lib/typescript/e2ee/ns.d.ts.map +1 -0
  486. package/lib/typescript/e2ee/omemo.d.ts +64 -0
  487. package/lib/typescript/e2ee/omemo.d.ts.map +1 -0
  488. package/lib/typescript/e2ee/protobuf.d.ts +25 -0
  489. package/lib/typescript/e2ee/protobuf.d.ts.map +1 -0
  490. package/lib/typescript/e2ee/ratchet.d.ts +39 -0
  491. package/lib/typescript/e2ee/ratchet.d.ts.map +1 -0
  492. package/lib/typescript/e2ee/sealedBody.d.ts +2 -0
  493. package/lib/typescript/e2ee/sealedBody.d.ts.map +1 -0
  494. package/lib/typescript/e2ee/sealedFiles.d.ts +31 -0
  495. package/lib/typescript/e2ee/sealedFiles.d.ts.map +1 -0
  496. package/lib/typescript/e2ee/send.d.ts +6 -0
  497. package/lib/typescript/e2ee/send.d.ts.map +1 -0
  498. package/lib/typescript/e2ee/stanza.d.ts +8 -0
  499. package/lib/typescript/e2ee/stanza.d.ts.map +1 -0
  500. package/lib/typescript/e2ee/store.d.ts +16 -0
  501. package/lib/typescript/e2ee/store.d.ts.map +1 -0
  502. package/lib/typescript/helpers/accountName.d.ts +7 -0
  503. package/lib/typescript/helpers/accountName.d.ts.map +1 -0
  504. package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
  505. package/lib/typescript/helpers/createRoomFromApi.d.ts.map +1 -1
  506. package/lib/typescript/helpers/createUserNameFromSetUser.d.ts.map +1 -1
  507. package/lib/typescript/helpers/displayName.d.ts +2 -0
  508. package/lib/typescript/helpers/displayName.d.ts.map +1 -0
  509. package/lib/typescript/helpers/emoji.d.ts +6 -0
  510. package/lib/typescript/helpers/emoji.d.ts.map +1 -0
  511. package/lib/typescript/helpers/haptics.d.ts +3 -0
  512. package/lib/typescript/helpers/haptics.d.ts.map +1 -0
  513. package/lib/typescript/helpers/historyPreloadScheduler.d.ts +1 -0
  514. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  515. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  516. package/lib/typescript/helpers/mamReactions.d.ts +13 -0
  517. package/lib/typescript/helpers/mamReactions.d.ts.map +1 -0
  518. package/lib/typescript/helpers/parseMessageReference.d.ts +16 -0
  519. package/lib/typescript/helpers/parseMessageReference.d.ts.map +1 -0
  520. package/lib/typescript/helpers/persistCrypto.d.ts +1 -0
  521. package/lib/typescript/helpers/persistCrypto.d.ts.map +1 -1
  522. package/lib/typescript/helpers/reactionsConfig.d.ts +5 -0
  523. package/lib/typescript/helpers/reactionsConfig.d.ts.map +1 -0
  524. package/lib/typescript/helpers/secureKeyValue.d.ts +4 -0
  525. package/lib/typescript/helpers/secureKeyValue.d.ts.map +1 -1
  526. package/lib/typescript/helpers/updateMessagesTillLast.d.ts.map +1 -1
  527. package/lib/typescript/helpers/videoCache.d.ts +19 -0
  528. package/lib/typescript/helpers/videoCache.d.ts.map +1 -0
  529. package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
  530. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  531. package/lib/typescript/hooks/useMessageHeapState.d.ts.map +1 -1
  532. package/lib/typescript/hooks/useRoomInitialization.d.ts +2 -2
  533. package/lib/typescript/hooks/useRoomInitialization.d.ts.map +1 -1
  534. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  535. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  536. package/lib/typescript/main.d.ts +2 -0
  537. package/lib/typescript/main.d.ts.map +1 -1
  538. package/lib/typescript/networking/api-requests/auth.api.d.ts +4 -1
  539. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  540. package/lib/typescript/networking/api-requests/rooms.api.d.ts +22 -1
  541. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  542. package/lib/typescript/networking/stanzaHandlers.d.ts +4 -2
  543. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  544. package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts +3 -1
  545. package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts.map +1 -1
  546. package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts +1 -0
  547. package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts.map +1 -1
  548. package/lib/typescript/networking/xmpp/mamRouter.d.ts +23 -0
  549. package/lib/typescript/networking/xmpp/mamRouter.d.ts.map +1 -0
  550. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts +1 -0
  551. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  552. package/lib/typescript/networking/xmpp/sendMediaMessage.xmpp.d.ts.map +1 -1
  553. package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
  554. package/lib/typescript/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.d.ts.map +1 -1
  555. package/lib/typescript/networking/xmppClient.d.ts +22 -1
  556. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  557. package/lib/typescript/roomStore/Middleware/newMessageMidlleware.d.ts.map +1 -1
  558. package/lib/typescript/roomStore/Middleware/perfMiddleware.d.ts +4 -0
  559. package/lib/typescript/roomStore/Middleware/perfMiddleware.d.ts.map +1 -0
  560. package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts +9 -0
  561. package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts.map +1 -1
  562. package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
  563. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  564. package/lib/typescript/roomStore/persistBackend.d.ts +11 -0
  565. package/lib/typescript/roomStore/persistBackend.d.ts.map +1 -0
  566. package/lib/typescript/roomStore/persistence.d.ts +5 -6
  567. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  568. package/lib/typescript/roomStore/roomsSlice.d.ts +41 -1
  569. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  570. package/lib/typescript/theme/theme.d.ts +4 -1
  571. package/lib/typescript/theme/theme.d.ts.map +1 -1
  572. package/lib/typescript/types/models/message.model.d.ts +9 -0
  573. package/lib/typescript/types/models/message.model.d.ts.map +1 -1
  574. package/lib/typescript/types/models/room.model.d.ts +21 -0
  575. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  576. package/lib/typescript/types/models/xmpp.model.d.ts +6 -1
  577. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  578. package/lib/typescript/types/types.d.ts +19 -3
  579. package/lib/typescript/types/types.d.ts.map +1 -1
  580. package/lib/typescript/utils/devLogger.d.ts +8 -0
  581. package/lib/typescript/utils/devLogger.d.ts.map +1 -1
  582. package/lib/typescript/version.d.ts +1 -1
  583. package/package.json +14 -1
  584. package/src/assets/emojiData.ts +2146 -0
  585. package/src/assets/icons.tsx +32 -5
  586. package/src/components/MainComponents/ChatHeader.tsx +46 -16
  587. package/src/components/MainComponents/ChatRoom.tsx +46 -30
  588. package/src/components/MainComponents/ChatWrapper.tsx +28 -10
  589. package/src/components/MainComponents/EncryptedSendNotice.tsx +35 -0
  590. package/src/components/MainComponents/EncryptionCard.tsx +287 -0
  591. package/src/components/MainComponents/MediaMessage.tsx +5 -0
  592. package/src/components/MainComponents/MessageContainer.tsx +7 -15
  593. package/src/components/MainComponents/MessageList.tsx +96 -43
  594. package/src/components/MainComponents/ReduxWrapper.tsx +5 -0
  595. package/src/components/MainComponents/RoomList.tsx +28 -29
  596. package/src/components/MainComponents/RoomStack.tsx +156 -83
  597. package/src/components/MainComponents/SealedAttachment.tsx +251 -0
  598. package/src/components/MainComponents/SystemMessage.tsx +6 -2
  599. package/src/components/MessageBubble/Avatar.tsx +7 -1
  600. package/src/components/MessageBubble/BottomReplyContainer.tsx +20 -21
  601. package/src/components/MessageBubble/EmojiPickerSheet.tsx +468 -0
  602. package/src/components/MessageBubble/Message.tsx +242 -93
  603. package/src/components/MessageBubble/MessageInteractions.tsx +215 -15
  604. package/src/components/MessageBubble/MessageReaction.tsx +120 -96
  605. package/src/components/MessageBubble/MessageReply.tsx +65 -32
  606. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +7 -4
  607. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +181 -35
  608. package/src/components/Modals/FilePreviewModal/PdfView.tsx +4 -0
  609. package/src/components/Modals/Modal/SwipeBackLayer.tsx +114 -63
  610. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +53 -8
  611. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +5 -0
  612. package/src/components/RoomComponents/ChatRoomItem.tsx +34 -15
  613. package/src/components/RoomComponents/LastMessageItem.tsx +5 -0
  614. package/src/components/RoomComponents/styled/LastAudioMessage.tsx +3 -1
  615. package/src/components/RoomComponents/styled/LastMessageEmoji.tsx +7 -8
  616. package/src/components/RoomComponents/styled/LastMessageFile.tsx +2 -2
  617. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +1 -1
  618. package/src/components/RoomComponents/styled/LastMessageSealed.tsx +31 -0
  619. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +1 -1
  620. package/src/components/Thread/ThreadWrapper.tsx +287 -198
  621. package/src/components/UsersList/UsersList.tsx +2 -1
  622. package/src/components/styled/DateLabel.tsx +7 -3
  623. package/src/components/styled/SendInput.tsx +5 -2
  624. package/src/context/MessageNotificationContext.tsx +205 -7
  625. package/src/context/xmppProvider.tsx +29 -9
  626. package/src/e2ee/crypto.ts +194 -0
  627. package/src/e2ee/deviceStore.ts +80 -0
  628. package/src/e2ee/fileCipher.ts +86 -0
  629. package/src/e2ee/fileEnvelope.ts +115 -0
  630. package/src/e2ee/index.ts +192 -0
  631. package/src/e2ee/limits.ts +2 -0
  632. package/src/e2ee/ns.ts +1 -0
  633. package/src/e2ee/omemo.ts +802 -0
  634. package/src/e2ee/protobuf.ts +188 -0
  635. package/src/e2ee/ratchet.ts +271 -0
  636. package/src/e2ee/sealedBody.ts +17 -0
  637. package/src/e2ee/sealedFiles.ts +181 -0
  638. package/src/e2ee/send.ts +70 -0
  639. package/src/e2ee/stanza.ts +133 -0
  640. package/src/e2ee/store.ts +54 -0
  641. package/src/helpers/accountName.ts +15 -0
  642. package/src/helpers/createMessageFromXml.ts +31 -6
  643. package/src/helpers/createRoomFromApi.tsx +37 -1
  644. package/src/helpers/createUserNameFromSetUser.ts +2 -1
  645. package/src/helpers/displayName.ts +9 -0
  646. package/src/helpers/emoji.ts +39 -0
  647. package/src/helpers/haptics.ts +19 -0
  648. package/src/helpers/historyPreloadScheduler.ts +37 -69
  649. package/src/helpers/insertMessageWithDelimiter.ts +23 -16
  650. package/src/helpers/mamReactions.ts +59 -0
  651. package/src/helpers/parseMessageReference.ts +38 -0
  652. package/src/helpers/persistCrypto.ts +5 -0
  653. package/src/helpers/reactionsConfig.ts +13 -0
  654. package/src/helpers/secureKeyValue.ts +15 -0
  655. package/src/helpers/updateMessagesTillLast.tsx +14 -2
  656. package/src/helpers/videoCache.ts +138 -0
  657. package/src/hooks/useHeapSender.tsx +3 -2
  658. package/src/hooks/useLogout.tsx +9 -0
  659. package/src/hooks/useMessageHeapState.tsx +6 -2
  660. package/src/hooks/useRoomInitialization.tsx +32 -15
  661. package/src/hooks/useSendMessage.tsx +89 -16
  662. package/src/hooks/useUnreadMessagesCounter.ts +1 -1
  663. package/src/i18n/strings.ts +180 -0
  664. package/src/main.ts +2 -0
  665. package/src/networking/api-requests/auth.api.ts +9 -1
  666. package/src/networking/api-requests/rooms.api.ts +121 -18
  667. package/src/networking/stanzaHandlers.ts +116 -60
  668. package/src/networking/xmpp/getHistory.xmpp.ts +44 -106
  669. package/src/networking/xmpp/handleStanzas.xmpp.ts +51 -0
  670. package/src/networking/xmpp/mamRouter.ts +176 -0
  671. package/src/networking/xmpp/presenceInRoom.xmpp.ts +46 -3
  672. package/src/networking/xmpp/sendMediaMessage.xmpp.ts +19 -1
  673. package/src/networking/xmpp/sendTextMessage.xmpp.ts +17 -10
  674. package/src/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.ts +23 -10
  675. package/src/networking/xmppClient.ts +111 -20
  676. package/src/roomStore/Middleware/newMessageMidlleware.tsx +35 -38
  677. package/src/roomStore/Middleware/perfMiddleware.ts +50 -0
  678. package/src/roomStore/Middleware/reactionsMiddleware.tsx +53 -52
  679. package/src/roomStore/Middleware/unreadMidlleware.tsx +92 -80
  680. package/src/roomStore/index.ts +28 -27
  681. package/src/roomStore/persistBackend.ts +93 -0
  682. package/src/roomStore/persistence.ts +295 -73
  683. package/src/roomStore/roomsSlice.ts +304 -155
  684. package/src/theme/theme.ts +10 -1
  685. package/src/types/models/message.model.ts +9 -0
  686. package/src/types/models/room.model.ts +22 -0
  687. package/src/types/models/xmpp.model.ts +4 -2
  688. package/src/types/types.ts +19 -3
  689. package/src/utils/devLogger.ts +16 -0
  690. package/src/version.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import React, { useEffect, useRef, useState } from 'react';
3
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
4
4
  import { withFileToken } from '../../../helpers/secureFileUrl';
5
5
  import { CenterContainer, ModalContainerFullScreen } from '../styledModalComponents';
6
6
  import { SaveIcon } from '../../../assets/icons';
@@ -12,7 +12,7 @@ import { useDispatch, useSelector } from 'react-redux';
12
12
  import Button from '../../styled/Button';
13
13
  import { FullScreenImage } from '../../styled/StyledInputComponents/MediaComponents';
14
14
  import { setActiveFile } from '../../../roomStore/chatSettingsSlice';
15
- import { Alert, Text, View, Platform, TouchableOpacity, StyleSheet, Share } from 'react-native';
15
+ import { ActivityIndicator, Alert, Text, View, Platform, TouchableOpacity, StyleSheet, Share } from 'react-native';
16
16
  import { useVideoPlayer, VideoView } from 'expo-video';
17
17
  import { PlayIcon } from '../../../assets/icons';
18
18
  import * as FileSystem from 'expo-file-system/legacy';
@@ -22,12 +22,18 @@ import PdfViewer from './PdfView';
22
22
  import DocumentViewer from './DocumentViewer';
23
23
  import AudioMessage from '../../styled/AudioMessage';
24
24
  import { isLikelyAudio } from '../../../helpers/mimeToExtension';
25
+ import { downloadVideoToCache, findCachedVideo, isRemoteUrl, isStreamingUnsupported, markStreamingUnsupported } from '../../../helpers/videoCache';
25
26
  import { getDisplayFileName, getUniqueFileName, sanitizeFileNameForPath } from '../../../helpers/getDisplayFileName';
26
27
 
27
28
  // MIME types Google's gview embed renders reliably. Everything else
28
29
  // falls through to the info-card so the user can still download.
29
30
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
30
31
  const GVIEW_PREVIEWABLE = new Set(['application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'text/plain', 'text/csv', 'application/rtf']);
32
+ const isLocalFile = url => /^file:\/\//i.test(url || '');
33
+ const fetchToCache = async (url, cachePath) => isLocalFile(url) ? {
34
+ status: 200,
35
+ uri: url
36
+ } : FileSystem.downloadAsync(withFileToken(url), cachePath);
31
37
  const isGviewPreviewable = mime => {
32
38
  if (!mime) {
33
39
  return false;
@@ -40,33 +46,139 @@ const isGviewPreviewable = mime => {
40
46
  // the area with the surrounding letterbox painted as the view's own
41
47
  // (transparent → theme) background, NOT black. `textureView` so the play
42
48
  // overlay composites on top and nothing is clipped on Android.
49
+ //
50
+ // The clip is streamed when the server allows it. AVPlayer does not play
51
+ // from a server that ignores byte-range requests (it answers 200 instead of
52
+ // 206 and the player stops with "server is not correctly configured"), so
53
+ // a failed stream falls back to a downloaded copy in the cache — which is
54
+ // also what a reopened video plays from.
43
55
  const ModalVideo = ({
44
- uri
56
+ uri,
57
+ mimetype
45
58
  }) => {
59
+ const theme = useTheme();
60
+ const remote = isRemoteUrl(uri);
61
+ // What the player is given; null until we know where to play from.
62
+ const [source, setSource] = useState(remote ? null : uri);
46
63
  const [showPlay, setShowPlay] = useState(true);
47
- const player = useVideoPlayer(uri, p => {
64
+ // null = not downloading, otherwise 0..1 (0 while the size is unknown).
65
+ const [progress, setProgress] = useState(null);
66
+ const [failed, setFailed] = useState(false);
67
+ const wantsPlay = useRef(false);
68
+ const downloadStarted = useRef(false);
69
+ const mounted = useRef(true);
70
+ useEffect(() => () => {
71
+ mounted.current = false;
72
+ }, []);
73
+ const download = useCallback(() => {
74
+ if (downloadStarted.current) {
75
+ return;
76
+ }
77
+ downloadStarted.current = true;
78
+ setProgress(0);
79
+ downloadVideoToCache(uri, mimetype, fraction => {
80
+ if (mounted.current) {
81
+ setProgress(fraction);
82
+ }
83
+ }).then(localUri => {
84
+ if (!mounted.current) {
85
+ return;
86
+ }
87
+ setProgress(null);
88
+ setSource(localUri);
89
+ }).catch(err => {
90
+ console.warn('video download failed', err);
91
+ if (!mounted.current) {
92
+ return;
93
+ }
94
+ setProgress(null);
95
+ setFailed(true);
96
+ });
97
+ }, [mimetype, uri]);
98
+ useEffect(() => {
99
+ if (!remote) {
100
+ return;
101
+ }
102
+ let active = true;
103
+ findCachedVideo(uri, mimetype).then(cached => {
104
+ if (!active) {
105
+ return;
106
+ }
107
+ if (cached) {
108
+ setSource(cached);
109
+ } else if (isStreamingUnsupported(uri)) {
110
+ download();
111
+ } else {
112
+ setSource(uri);
113
+ }
114
+ });
115
+ return () => {
116
+ active = false;
117
+ };
118
+ }, [download, mimetype, remote, uri]);
119
+ const player = useVideoPlayer(source, p => {
48
120
  p.muted = false;
121
+ // A player made for the downloaded copy picks up a play the user
122
+ // already asked for.
123
+ if (wantsPlay.current) {
124
+ p.play();
125
+ }
49
126
  });
50
127
  useEffect(() => {
51
- const sub = player.addListener('playingChange', ({
128
+ const playing = player.addListener('playingChange', ({
52
129
  isPlaying
53
130
  }) => {
54
131
  if (isPlaying) {
55
132
  setShowPlay(false);
56
133
  }
57
134
  });
58
- return () => sub.remove();
59
- }, [player]);
135
+ const status = player.addListener('statusChange', event => {
136
+ if (event.status !== 'error') {
137
+ return;
138
+ }
139
+ if (source === uri && remote) {
140
+ markStreamingUnsupported(uri);
141
+ download();
142
+ } else {
143
+ setFailed(true);
144
+ }
145
+ });
146
+ return () => {
147
+ playing.remove();
148
+ status.remove();
149
+ };
150
+ }, [download, player, remote, source, uri]);
60
151
  const handlePlay = () => {
152
+ wantsPlay.current = true;
61
153
  setShowPlay(false);
62
154
  player.play();
63
155
  };
156
+ if (failed) {
157
+ return /*#__PURE__*/_jsxs(View, {
158
+ style: styles.videoMessage,
159
+ children: [/*#__PURE__*/_jsx(Text, {
160
+ style: {
161
+ fontSize: 16,
162
+ fontWeight: '600',
163
+ color: theme.text
164
+ },
165
+ children: "This video can't be played"
166
+ }), /*#__PURE__*/_jsx(Text, {
167
+ style: {
168
+ color: theme.textSecondary,
169
+ textAlign: 'center'
170
+ },
171
+ children: "Tap the save icon above to download it."
172
+ })]
173
+ });
174
+ }
175
+ const loading = progress !== null || source === null;
64
176
  return /*#__PURE__*/_jsxs(View, {
65
177
  style: {
66
178
  flex: 1,
67
179
  width: '100%'
68
180
  },
69
- children: [/*#__PURE__*/_jsx(VideoView, {
181
+ children: [!loading && /*#__PURE__*/_jsx(VideoView, {
70
182
  player: player,
71
183
  style: {
72
184
  flex: 1,
@@ -77,9 +189,27 @@ const ModalVideo = ({
77
189
  surfaceType: "textureView"
78
190
  // Fullscreen stays available by default on both expo-video lines:
79
191
  // `allowsFullscreen` (SDK 54, default true) was replaced by
80
- // `fullscreenOptions.enable` (SDK 57, default true). Passing neither
81
- // keeps this file compiling against both.
82
- }), showPlay && /*#__PURE__*/_jsx(TouchableOpacity, {
192
+ // `fullscreenOptions.enable` (SDK 57, default true). Passing
193
+ // neither keeps this file compiling against both.
194
+ }), loading ? /*#__PURE__*/_jsxs(View, {
195
+ style: styles.playOverlay,
196
+ pointerEvents: "none",
197
+ children: [/*#__PURE__*/_jsx(View, {
198
+ style: styles.playButton,
199
+ children: /*#__PURE__*/_jsx(ActivityIndicator, {
200
+ color: "#FFFFFF"
201
+ })
202
+ }), !!progress && /*#__PURE__*/_jsxs(Text, {
203
+ style: [styles.progress, {
204
+ color: theme.textSecondary
205
+ }],
206
+ children: [Math.round(progress * 100), "%"]
207
+ })]
208
+ }) : showPlay &&
209
+ /*#__PURE__*/
210
+ // Play affordance shown immediately on open; tapping starts
211
+ // playback and the native controls take over.
212
+ _jsx(TouchableOpacity, {
83
213
  activeOpacity: 0.8,
84
214
  onPress: handlePlay,
85
215
  style: StyleSheet.absoluteFill,
@@ -154,7 +284,7 @@ const FilePreviewModal = ({
154
284
  }
155
285
  try {
156
286
  const filePath = FileSystem.cacheDirectory + displayFileName;
157
- const download = await FileSystem.downloadAsync(withFileToken(activeFile.fileURL), filePath);
287
+ const download = await fetchToCache(activeFile.fileURL, filePath);
158
288
  if (download.status === 200) {
159
289
  await getMediaLibrary()?.saveToLibraryAsync(download.uri);
160
290
  showToast({
@@ -196,7 +326,7 @@ const FilePreviewModal = ({
196
326
  const saveFileToDownloads = async () => {
197
327
  try {
198
328
  const filePath = FileSystem.cacheDirectory + displayFileName;
199
- const download = await FileSystem.downloadAsync(withFileToken(activeFile.fileURL), filePath);
329
+ const download = await fetchToCache(activeFile.fileURL, filePath);
200
330
  if (download.status !== 200) {
201
331
  Alert.alert('Error', 'Failed to save the file.');
202
332
  return;
@@ -286,9 +416,12 @@ const FilePreviewModal = ({
286
416
  accessibilityLabel: displayFileName
287
417
  });
288
418
  case activeFile.mimetype.startsWith('video/'):
289
- return /*#__PURE__*/_jsx(ModalVideo, {
290
- uri: withFileToken(activeFile.fileURL)
291
- });
419
+ return /*#__PURE__*/_jsx(ModalVideo
420
+ // Remount per file: the player state belongs to one clip.
421
+ , {
422
+ uri: withFileToken(activeFile.fileURL),
423
+ mimetype: activeFile.mimetype
424
+ }, activeFile.fileURL);
292
425
  case activeFile.mimetype.includes('application/octet-stream'):
293
426
  return /*#__PURE__*/_jsxs(View, {
294
427
  style: {
@@ -347,7 +480,7 @@ const FilePreviewModal = ({
347
480
  waveForm: activeFile.waveForm
348
481
  })]
349
482
  });
350
- case activeFile.mimetype === 'application/pdf':
483
+ case activeFile.mimetype === 'application/pdf' && !(Platform.OS === 'android' && isLocalFile(activeFile.fileURL)):
351
484
  return /*#__PURE__*/_jsx(PdfViewer, {
352
485
  pdfUrl: withFileToken(activeFile.fileURL)
353
486
  });
@@ -356,7 +489,7 @@ const FilePreviewModal = ({
356
489
  // Office docs (.docx / .xlsx / .pptx / .doc / .xls / .ppt /
357
490
  // .txt / .csv / .rtf) → render inline via Google's gview embed
358
491
  // — fixes the "blank preview" complaint for docs (bug #9).
359
- if (isGviewPreviewable(activeFile.mimetype)) {
492
+ if (isGviewPreviewable(activeFile.mimetype) && !isLocalFile(activeFile.fileURL)) {
360
493
  return /*#__PURE__*/_jsx(DocumentViewer, {
361
494
  url: activeFile.fileURL,
362
495
  fileName: displayFileName
@@ -438,6 +571,16 @@ const styles = StyleSheet.create({
438
571
  backgroundColor: 'rgba(0, 0, 0, 0.55)',
439
572
  justifyContent: 'center',
440
573
  alignItems: 'center'
574
+ },
575
+ progress: {
576
+ marginTop: 10,
577
+ fontSize: 13,
578
+ fontWeight: '600'
579
+ },
580
+ videoMessage: {
581
+ alignItems: 'center',
582
+ gap: 8,
583
+ padding: 20
441
584
  }
442
585
  });
443
586
  export default FilePreviewModal;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","useState","withFileToken","CenterContainer","ModalContainerFullScreen","SaveIcon","ModalHeaderComponent","useChatSettingState","useTheme","chatTextStyle","useDispatch","useSelector","Button","FullScreenImage","setActiveFile","Alert","Text","View","Platform","TouchableOpacity","StyleSheet","Share","useVideoPlayer","VideoView","PlayIcon","FileSystem","getMediaLibrary","useToast","PdfViewer","DocumentViewer","AudioMessage","isLikelyAudio","getDisplayFileName","getUniqueFileName","sanitizeFileNameForPath","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GVIEW_PREVIEWABLE","Set","isGviewPreviewable","mime","has","toLowerCase","split","trim","ModalVideo","uri","showPlay","setShowPlay","player","p","muted","sub","addListener","isPlaying","remove","handlePlay","play","style","flex","width","children","backgroundColor","contentFit","nativeControls","surfaceType","activeOpacity","onPress","absoluteFill","styles","playOverlay","playButton","height","FilePreviewModal","handleCloseModal","dispatch","showToast","config","theme","cardBackground","dark","surfaceSecondary","safDirUriRef","activeFile","state","chatSettingStore","displayFileName","originalName","fileName","location","fileURL","mimetype","requestStoragePermission","MediaLibrary","requestPermissionsAsync","status","error","console","saveToGallery","hasPermission","alert","filePath","cacheDirectory","download","downloadAsync","saveToLibraryAsync","id","Date","now","toString","title","message","type","err","listSafDirectoryNames","saf","dirUri","uris","readDirectoryAsync","names","map","decoded","decodeURIComponent","last","pop","includes","filter","Boolean","saveFileToDownloads","OS","StorageAccessFramework","current","perm","requestDirectoryPermissionsAsync","granted","directoryUri","existingNames","uniqueName","candidate","baseName","replace","base64","readAsStringAsync","encoding","EncodingType","Base64","destUri","createFileAsync","writeAsStringAsync","share","url","saveClick","startsWith","closeModal","getMediaComponent","source","resizeMode","accessibilityLabel","padding","gap","borderRadius","fontSize","fontWeight","color","text","src","mimeType","duration","waveForm","pdfUrl","textSecondary","marginTop","headerTitle","titleStyle","typography","profile","screenTitle","rightMenu","display","justifyContent","overflow","paddingBottom","create","alignItems"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC1D,SAASC,aAAa,QAAQ,gCAAgC;AAE9D,SACEC,eAAe,EACfC,wBAAwB,QACnB,0BAA0B;AACjC,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,OAAOC,oBAAoB,MAAM,yBAAyB;AAC1D,SAASC,mBAAmB,QAAQ,oCAAoC;AACxE,SAASC,QAAQ,QAAQ,yBAAyB;AAClD,SAASC,aAAa,QAAQ,6BAA6B;AAC3D,SAASC,WAAW,EAAEC,WAAW,QAAQ,aAAa;AACtD,OAAOC,MAAM,MAAM,qBAAqB;AAExC,SAASC,eAAe,QAAQ,oDAAoD;AACpF,SAASC,aAAa,QAAQ,sCAAsC;AACpE,SACEC,KAAK,EACLC,IAAI,EACJC,IAAI,EACJC,QAAQ,EACRC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,QACA,cAAc;AACrB,SAASC,cAAc,EAAEC,SAAS,QAAQ,YAAY;AACtD,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,OAAO,KAAKC,UAAU,MAAM,yBAAyB;AACrD,SAASC,eAAe,QAAQ,sCAAsC;AACtE,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,OAAOC,SAAS,MAAM,WAAW;AACjC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,YAAY,MAAM,2BAA2B;AACpD,SAASC,aAAa,QAAQ,kCAAkC;AAChE,SACEC,kBAAkB,EAClBC,iBAAiB,EACjBC,uBAAuB,QAClB,qCAAqC;;AAE5C;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AACA,MAAMC,iBAAiB,GAAG,IAAIC,GAAG,CAAS,CACxC,oBAAoB,EACpB,yEAAyE,EACzE,0BAA0B,EAC1B,mEAAmE,EACnE,+BAA+B,EAC/B,2EAA2E,EAC3E,YAAY,EACZ,UAAU,EACV,iBAAiB,CAClB,CAAC;AACF,MAAMC,kBAAkB,GAAIC,IAA+B,IAAK;EAC9D,IAAI,CAACA,IAAI,EAAE;IAAC,OAAO,KAAK;EAAC;EACzB,OAAOH,iBAAiB,CAACI,GAAG,CAACD,IAAI,CAACE,WAAW,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAEC,IAAI,CAAC,CAAC,CAAC;AACxE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMC,UAAqC,GAAGA,CAAC;EAAEC;AAAI,CAAC,KAAK;EACzD,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGnD,QAAQ,CAAC,IAAI,CAAC;EAE9C,MAAMoD,MAAM,GAAG/B,cAAc,CAAC4B,GAAG,EAAGI,CAAC,IAAK;IACxCA,CAAC,CAACC,KAAK,GAAG,KAAK;EACjB,CAAC,CAAC;EAEFxD,SAAS,CAAC,MAAM;IACd,MAAMyD,GAAG,GAAGH,MAAM,CAACI,WAAW,CAAC,eAAe,EAAE,CAAC;MAAEC;IAAU,CAAC,KAAK;MACjE,IAAIA,SAAS,EAAE;QAACN,WAAW,CAAC,KAAK,CAAC;MAAC;IACrC,CAAC,CAAC;IACF,OAAO,MAAMI,GAAG,CAACG,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACN,MAAM,CAAC,CAAC;EAEZ,MAAMO,UAAU,GAAGA,CAAA,KAAM;IACvBR,WAAW,CAAC,KAAK,CAAC;IAClBC,MAAM,CAACQ,IAAI,CAAC,CAAC;EACf,CAAC;EAED,oBACEvB,KAAA,CAACrB,IAAI;IAAC6C,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAO,CAAE;IAAAC,QAAA,gBACtC7B,IAAA,CAACb,SAAS;MACR8B,MAAM,EAAEA,MAAO;MACfS,KAAK,EAAE;QAAEC,IAAI,EAAE,CAAC;QAAEG,eAAe,EAAE;MAAc,CAAE;MACnDC,UAAU,EAAC,SAAS;MACpBC,cAAc;MACdC,WAAW,EAAC;MACZ;MACA;MACA;MACA;IAAA,CACD,CAAC,EAGDlB,QAAQ,iBACPf,IAAA,CAACjB,gBAAgB;MACfmD,aAAa,EAAE,GAAI;MACnBC,OAAO,EAAEX,UAAW;MACpBE,KAAK,EAAE1C,UAAU,CAACoD,YAAa;MAAAP,QAAA,eAE/B7B,IAAA,CAACnB,IAAI;QAAC6C,KAAK,EAAEW,MAAM,CAACC,WAAY;QAAAT,QAAA,eAC9B7B,IAAA,CAACnB,IAAI;UAAC6C,KAAK,EAAEW,MAAM,CAACE,UAAW;UAAAV,QAAA,eAC7B7B,IAAA,CAACZ,QAAQ;YAACwC,KAAK,EAAE,EAAG;YAACY,MAAM,EAAE;UAAG,CAAE;QAAC,CAC/B;MAAC,CACH;IAAC,CACS,CACnB;EAAA,CACG,CAAC;AAEX,CAAC;AAMD,MAAMC,gBAAiD,GAAGA,CAAC;EACzDC;AACF,CAAC,KAAK;EACJ,MAAMC,QAAQ,GAAGrE,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEsE;EAAU,CAAC,GAAGrD,QAAQ,CAAC,CAAC;EAChC,MAAM;IAAEsD;EAAO,CAAC,GAAG1E,mBAAmB,CAAC,CAAC;EACxC,MAAM2E,KAAK,GAAG1E,QAAQ,CAAC,CAAC;EACxB;EACA;EACA,MAAM2E,cAAc,GAAGD,KAAK,CAACE,IAAI,GAAGF,KAAK,CAACG,gBAAgB,GAAG,SAAS;;EAEtE;EACA;EACA,MAAMC,YAAY,GAAGtF,MAAM,CAAgB,IAAI,CAAC;EAEhD,MAAM;IAAEuF;EAAW,CAAC,GAAG5E,WAAW,CAC/B6E,KAAgB,IAAKA,KAAK,CAACC,gBAC9B,CAAC;EAED,IAAI,CAACF,UAAU,EAAE;IAAC,OAAO,IAAI;EAAC;;EAE9B;EACA;EACA;EACA;EACA,MAAMG,eAAe,GAAGxD,uBAAuB,CAC7CF,kBAAkB,CAAC;IACjB2D,YAAY,EAAEJ,UAAU,CAACI,YAAY;IACrCC,QAAQ,EAAEL,UAAU,CAACK,QAAQ;IAC7BC,QAAQ,EAAEN,UAAU,CAACO,OAAO;IAC5BC,QAAQ,EAAER,UAAU,CAACQ;EACvB,CAAC,CACH,CAAC;EAED,MAAMC,wBAAwB,GAAG,MAAAA,CAAA,KAAY;IAC3C,MAAMC,YAAY,GAAGvE,eAAe,CAAC,CAAC;IACtC,IAAI,CAACuE,YAAY,EAAEC,uBAAuB,EAAE;MAAC,OAAO,KAAK;IAAC;IAC1D,IAAI;MACF,MAAM;QAAEC;MAAO,CAAC,GAAG,MAAMF,YAAY,CAACC,uBAAuB,CAAC,CAAC;MAC/D,OAAOC,MAAM,KAAK,SAAS;IAC7B,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;MACpD,OAAO,KAAK;IACd;EACF,CAAC;EAED,MAAME,aAAa,GAAG,MAAAA,CAAA,KAAY;IAChC,MAAMC,aAAa,GAAG,MAAMP,wBAAwB,CAAC,CAAC;IACtD,IAAI,CAACO,aAAa,EAAE;MAClBxF,KAAK,CAACyF,KAAK,CACT,mBAAmB,EACnB,8DACF,CAAC;MACD;IACF;IAEA,IAAI;MACF,MAAMC,QAAQ,GAAGhF,UAAU,CAACiF,cAAc,GAAGhB,eAAe;MAC5D,MAAMiB,QAAQ,GAAG,MAAMlF,UAAU,CAACmF,aAAa,CAAC1G,aAAa,CAACqF,UAAU,CAACO,OAAO,CAAC,EAAEW,QAAQ,CAAC;MAE5F,IAAIE,QAAQ,CAACR,MAAM,KAAK,GAAG,EAAE;QAC3B,MAAMzE,eAAe,CAAC,CAAC,EAAEmF,kBAAkB,CAACF,QAAQ,CAACzD,GAAG,CAAC;QACzD8B,SAAS,CAAC;UACR8B,EAAE,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;UACzBC,KAAK,EAAE,SAAS;UAChBC,OAAO,EAAE,iBAAiB;UAC1BC,IAAI,EAAE;QACR,CAAC,CAAC;MACJ,CAAC,MAAM;QACLrG,KAAK,CAACyF,KAAK,CAAC,OAAO,EAAE,0BAA0B,CAAC;MAClD;IACF,CAAC,CAAC,OAAOa,GAAG,EAAE;MACZtG,KAAK,CAACyF,KAAK,CAAC,OAAO,EAAE,4BAA4Bd,eAAe,EAAE,CAAC;IACrE;EACF,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA,MAAM4B,qBAAqB,GAAG,MAAAA,CAC5BC,GAAQ,EACRC,MAAc,KACW;IACzB,IAAI;MACF,MAAMC,IAAc,GAAG,MAAMF,GAAG,CAACG,kBAAkB,CAACF,MAAM,CAAC;MAC3D,MAAMG,KAAK,GAAGF,IAAI,CAACG,GAAG,CAAE1E,GAAG,IAAK;QAC9B,IAAI;UACF,MAAM2E,OAAO,GAAGC,kBAAkB,CAAC5E,GAAG,CAAC;UACvC,MAAM6E,IAAI,GAAGF,OAAO,CAAC9E,KAAK,CAAC,GAAG,CAAC,CAACiF,GAAG,CAAC,CAAC,IAAI,EAAE;UAC3C,OAAOD,IAAI,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAGF,IAAI,CAAChF,KAAK,CAAC,GAAG,CAAC,CAACiF,GAAG,CAAC,CAAC,IAAI,EAAE,GAAGD,IAAI;QAChE,CAAC,CAAC,MAAM;UACN,OAAO,EAAE;QACX;MACF,CAAC,CAAC;MACF,OAAO,IAAIrF,GAAG,CAACiF,KAAK,CAACO,MAAM,CAACC,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,MAAM;MACN,OAAO,IAAIzF,GAAG,CAAS,CAAC;IAC1B;EACF,CAAC;EAED,MAAM0F,mBAAmB,GAAG,MAAAA,CAAA,KAAY;IACtC,IAAI;MACF,MAAM3B,QAAQ,GAAGhF,UAAU,CAACiF,cAAc,GAAGhB,eAAe;MAC5D,MAAMiB,QAAQ,GAAG,MAAMlF,UAAU,CAACmF,aAAa,CAAC1G,aAAa,CAACqF,UAAU,CAACO,OAAO,CAAC,EAAEW,QAAQ,CAAC;MAE5F,IAAIE,QAAQ,CAACR,MAAM,KAAK,GAAG,EAAE;QAC3BpF,KAAK,CAACyF,KAAK,CAAC,OAAO,EAAE,0BAA0B,CAAC;QAChD;MACF;MAEA,IAAItF,QAAQ,CAACmH,EAAE,KAAK,SAAS,EAAE;QAC7B,MAAMd,GAAG,GAAI9F,UAAU,CAAS6G,sBAAsB;QACtD,IAAId,MAAM,GAAGlC,YAAY,CAACiD,OAAO;QACjC,IAAI,CAACf,MAAM,EAAE;UACX,MAAMgB,IAAI,GAAG,MAAMjB,GAAG,CAACkB,gCAAgC,CAAC,CAAC;UACzD,IAAI,CAACD,IAAI,CAACE,OAAO,EAAE;YACjB3H,KAAK,CAACyF,KAAK,CACT,mBAAmB,EACnB,kDACF,CAAC;YACD;UACF;UACAgB,MAAM,GAAGgB,IAAI,CAACG,YAAY;UAC1BrD,YAAY,CAACiD,OAAO,GAAGf,MAAM;QAC/B;;QAEA;QACA;QACA;QACA;QACA,MAAMoB,aAAa,GAAG,MAAMtB,qBAAqB,CAACC,GAAG,EAAEC,MAAgB,CAAC;QACxE,MAAMqB,UAAU,GAAG,MAAM5G,iBAAiB,CACxCyD,eAAe,EACf,MAAOoD,SAAS,IAAKF,aAAa,CAAC/F,GAAG,CAACiG,SAAS,CAClD,CAAC;QACD,MAAMC,QAAQ,GAAGF,UAAU,CAACG,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACpD,MAAMpG,IAAI,GAAG2C,UAAU,CAACQ,QAAQ,IAAI,0BAA0B;QAC9D,MAAMkD,MAAM,GAAG,MAAMxH,UAAU,CAACyH,iBAAiB,CAACvC,QAAQ,CAACzD,GAAG,EAAE;UAC9DiG,QAAQ,EAAE1H,UAAU,CAAC2H,YAAY,CAACC;QACpC,CAAC,CAAC;QACF,MAAMC,OAAO,GAAG,MAAM/B,GAAG,CAACgC,eAAe,CAAC/B,MAAM,EAAEuB,QAAQ,EAAEnG,IAAI,CAAC;QACjE,MAAMnB,UAAU,CAAC+H,kBAAkB,CAACF,OAAO,EAAEL,MAAM,EAAE;UACnDE,QAAQ,EAAE1H,UAAU,CAAC2H,YAAY,CAACC;QACpC,CAAC,CAAC;QAEFrE,SAAS,CAAC;UACR8B,EAAE,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;UACzBC,KAAK,EAAE,SAAS;UAChBC,OAAO,EAAE,iBAAiB;UAC1BC,IAAI,EAAE;QACR,CAAC,CAAC;QACF;MACF;;MAEA;MACA;MACA;MACA;MACA;MACA;MACA,MAAM/F,KAAK,CAACoI,KAAK,CAAC;QAChBC,GAAG,EAAE/C,QAAQ,CAACzD,GAAG;QACjBgE,KAAK,EAAExB;MACT,CAAC,CAAC;IACJ,CAAC,CAAC,OAAO2B,GAAG,EAAE;MACZhB,OAAO,CAACD,KAAK,CAAC,oBAAoB,EAAEiB,GAAG,CAAC;MACxCtG,KAAK,CAACyF,KAAK,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAClD;EACF,CAAC;EAED,MAAMmD,SAAS,GAAG,MAAAA,CAAA,KAAY;IAC5B,IACEpE,UAAU,CAACQ,QAAQ,CAAC6D,UAAU,CAAC,QAAQ,CAAC,IACxCrE,UAAU,CAACQ,QAAQ,CAAC6D,UAAU,CAAC,QAAQ,CAAC,EACxC;MACA,MAAMtD,aAAa,CAAC,CAAC;IACvB,CAAC,MAAM;MACL,MAAM8B,mBAAmB,CAAC,CAAC;IAC7B;EACF,CAAC;EAED,MAAMyB,UAAU,GAAGA,CAAA,KAAM;IACvB9E,QAAQ,CACNjE,aAAa,CAAC;MACZ8E,QAAQ,EAAE,EAAE;MACZE,OAAO,EAAE,EAAE;MACXC,QAAQ,EAAE;IACZ,CAAC,CACH,CAAC;IACDjB,gBAAgB,GAAG,CAAC;EACtB,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA,MAAMgF,iBAAkC,GAAG,CAAC,MAAM;IAChD,QAAQ,IAAI;MACV,KAAKvE,UAAU,CAACQ,QAAQ,CAAC6D,UAAU,CAAC,QAAQ,CAAC;QAC3C,oBACExH,IAAA,CAACvB,eAAe;UACdkJ,MAAM,EAAE;YACN7G,GAAG,EACDhD,aAAa,CAACqF,UAAU,CAACO,OAAO,CAAC,IACjC;UACJ,CAAE;UACFkE,UAAU,EAAC,SAAS;UACpBC,kBAAkB,EAAEvE;QAAgB,CACrC,CAAC;MAEN,KAAKH,UAAU,CAACQ,QAAQ,CAAC6D,UAAU,CAAC,QAAQ,CAAC;QAC3C,oBAAOxH,IAAA,CAACa,UAAU;UAACC,GAAG,EAAEhD,aAAa,CAACqF,UAAU,CAACO,OAAO;QAAE,CAAE,CAAC;MAC/D,KAAKP,UAAU,CAACQ,QAAQ,CAACkC,QAAQ,CAAC,0BAA0B,CAAC;QAC3D,oBACE3F,KAAA,CAACrB,IAAI;UACH6C,KAAK,EAAE;YACLE,KAAK,EAAE,MAAM;YACbkG,OAAO,EAAE,EAAE;YACXC,GAAG,EAAE,EAAE;YACPjG,eAAe,EAAEiB,cAAc;YAC/BiF,YAAY,EAAE;UAChB,CAAE;UAAAnG,QAAA,gBAEF7B,IAAA,CAACpB,IAAI;YAAC8C,KAAK,EAAE;cAAEuG,QAAQ,EAAE,EAAE;cAAEC,UAAU,EAAE,KAAK;cAAEC,KAAK,EAAErF,KAAK,CAACsF;YAAK,CAAE;YAAAvG,QAAA,EAAC;UAErE,CAAM,CAAC,eACP7B,IAAA,CAACN,YAAY;YACX2I,GAAG,EAAEvK,aAAa,CAACqF,UAAU,CAACO,OAAO,CAAE;YACvC4E,QAAQ,EAAEnF,UAAU,CAACQ,QAAS;YAC9BH,QAAQ,EAAEL,UAAU,CAACK,QAAS;YAC9BD,YAAY,EAAEJ,UAAU,CAACI,YAAa;YACtCgF,QAAQ,EAAEpF,UAAU,CAACoF,QAAS;YAC9BC,QAAQ,EAAErF,UAAU,CAACqF;UAAS,CAC/B,CAAC;QAAA,CACE,CAAC;MAEX;MACA;MACA;MACA;MACA,KAAK7I,aAAa,CAChBwD,UAAU,CAACQ,QAAQ,EACnBR,UAAU,CAACK,QAAQ,EACnBL,UAAU,CAACO,OAAO,EAClB;QACE6E,QAAQ,EAAEpF,UAAU,CAACoF,QAAQ;QAC7BC,QAAQ,EAAErF,UAAU,CAACqF,QAAQ;QAC7BjF,YAAY,EAAEJ,UAAU,CAACI;MAC3B,CACF,CAAC;QACC,oBACErD,KAAA,CAACrB,IAAI;UACH6C,KAAK,EAAE;YACLE,KAAK,EAAE,MAAM;YACbkG,OAAO,EAAE,EAAE;YACXC,GAAG,EAAE,EAAE;YACPjG,eAAe,EAAEiB,cAAc;YAC/BiF,YAAY,EAAE;UAChB,CAAE;UAAAnG,QAAA,gBAEF7B,IAAA,CAACpB,IAAI;YAAC8C,KAAK,EAAE;cAAEuG,QAAQ,EAAE,EAAE;cAAEC,UAAU,EAAE,KAAK;cAAEC,KAAK,EAAErF,KAAK,CAACsF;YAAK,CAAE;YAAAvG,QAAA,EACjEyB;UAAe,CACZ,CAAC,eACPtD,IAAA,CAACN,YAAY;YACX2I,GAAG,EAAEvK,aAAa,CAACqF,UAAU,CAACO,OAAO,CAAE;YACvC4E,QAAQ,EAAEnF,UAAU,CAACQ,QAAS;YAC9BH,QAAQ,EAAEL,UAAU,CAACK,QAAS;YAC9BD,YAAY,EAAEJ,UAAU,CAACI,YAAa;YACtCgF,QAAQ,EAAEpF,UAAU,CAACoF,QAAS;YAC9BC,QAAQ,EAAErF,UAAU,CAACqF;UAAS,CAC/B,CAAC;QAAA,CACE,CAAC;MAEX,KAAKrF,UAAU,CAACQ,QAAQ,KAAK,iBAAiB;QAC5C,oBAAO3D,IAAA,CAACR,SAAS;UAACiJ,MAAM,EAAE3K,aAAa,CAACqF,UAAU,CAACO,OAAO;QAAE,CAAE,CAAC;MACjE;QAAS;UACP;UACA;UACA;UACA,IAAInD,kBAAkB,CAAC4C,UAAU,CAACQ,QAAQ,CAAC,EAAE;YAC3C,oBACE3D,IAAA,CAACP,cAAc;cACb6H,GAAG,EAAEnE,UAAU,CAACO,OAAQ;cACxBF,QAAQ,EAAEF;YAAgB,CAC3B,CAAC;UAEN;UACA;UACA;UACA;UACA,oBACEpD,KAAA,CAACrB,IAAI;YACH6C,KAAK,EAAE;cACLI,eAAe,EAAEiB,cAAc;cAC/BiF,YAAY,EAAE,EAAE;cAChBF,OAAO,EAAE,EAAE;cACXC,GAAG,EAAE;YACP,CAAE;YAAAlG,QAAA,gBAEF7B,IAAA,CAACpB,IAAI;cAAC8C,KAAK,EAAE;gBAAEuG,QAAQ,EAAE,EAAE;gBAAEC,UAAU,EAAE,KAAK;gBAAEC,KAAK,EAAErF,KAAK,CAACsF;cAAK,CAAE;cAAAvG,QAAA,EACjEyB;YAAe,CACZ,CAAC,eACPtD,IAAA,CAACpB,IAAI;cAAC8C,KAAK,EAAE;gBAAEyG,KAAK,EAAErF,KAAK,CAAC4F;cAAc,CAAE;cAAA7G,QAAA,EACzCsB,UAAU,CAACQ,QAAQ,IAAI;YAAc,CAClC,CAAC,eACP3D,IAAA,CAACpB,IAAI;cAAC8C,KAAK,EAAE;gBAAEiH,SAAS,EAAE,CAAC;gBAAER,KAAK,EAAErF,KAAK,CAACsF;cAAK,CAAE;cAAAvG,QAAA,EAAC;YAGlD,CAAM,CAAC;UAAA,CACH,CAAC;QAEX;IACF;EACF,CAAC,EAAE,CAAC;EAEJ,oBACE3B,KAAA,CAAClC,wBAAwB;IAAA6D,QAAA,gBACvB7B,IAAA,CAAC9B,oBAAoB;MACnBwE,gBAAgB,EAAE+E,UAAW;MAC7BmB,WAAW,EAAE,cAAe;MAC5BC,UAAU,EAAExK,aAAa,CAACwE,MAAM,EAAEiG,UAAU,EAAEC,OAAO,EAAEC,WAAW,CAAE;MACpEC,SAAS,eACPjJ,IAAA,CAAAI,SAAA;QAAAyB,QAAA,eACE7B,IAAA,CAACxB,MAAM;UAAC2D,OAAO,EAAEoF,SAAU;UAAA1F,QAAA,eACzB7B,IAAA,CAAC/B,QAAQ;YAACkK,KAAK,EAAErF,KAAK,CAAC4F;UAAc,CAAE;QAAC,CAClC;MAAC,CACT;IACH,CACF,CAAC,eAEF1I,IAAA,CAACjC,eAAe;MACd2D,KAAK,EAAE;QACLwH,OAAO,EAAE,MAAM;QACfvH,IAAI,EAAE,CAAC;QACPwH,cAAc,EAAE,QAAQ;QACxB;QACA;QACA;QACA;QACAC,QAAQ,EAAE,SAAS;QACnBtB,OAAO,EAAE,EAAE;QACXuB,aAAa,EAAE;MACjB,CAAE;MAAAxH,QAAA,EAED6F;IAAiB,CACH,CAAC;EAAA,CAEM,CAAC;AAE/B,CAAC;AAED,MAAMrF,MAAM,GAAGrD,UAAU,CAACsK,MAAM,CAAC;EAC/BhH,WAAW,EAAE;IACX,GAAGtD,UAAU,CAACoD,YAAY;IAC1B+G,cAAc,EAAE,QAAQ;IACxBI,UAAU,EAAE;EACd,CAAC;EACDhH,UAAU,EAAE;IACVX,KAAK,EAAE,EAAE;IACTY,MAAM,EAAE,EAAE;IACVwF,YAAY,EAAE,EAAE;IAChBlG,eAAe,EAAE,qBAAqB;IACtCqH,cAAc,EAAE,QAAQ;IACxBI,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,eAAe9G,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useRef","useState","withFileToken","CenterContainer","ModalContainerFullScreen","SaveIcon","ModalHeaderComponent","useChatSettingState","useTheme","chatTextStyle","useDispatch","useSelector","Button","FullScreenImage","setActiveFile","ActivityIndicator","Alert","Text","View","Platform","TouchableOpacity","StyleSheet","Share","useVideoPlayer","VideoView","PlayIcon","FileSystem","getMediaLibrary","useToast","PdfViewer","DocumentViewer","AudioMessage","isLikelyAudio","downloadVideoToCache","findCachedVideo","isRemoteUrl","isStreamingUnsupported","markStreamingUnsupported","getDisplayFileName","getUniqueFileName","sanitizeFileNameForPath","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GVIEW_PREVIEWABLE","Set","isLocalFile","url","test","fetchToCache","cachePath","status","uri","downloadAsync","isGviewPreviewable","mime","has","toLowerCase","split","trim","ModalVideo","mimetype","theme","remote","source","setSource","showPlay","setShowPlay","progress","setProgress","failed","setFailed","wantsPlay","downloadStarted","mounted","current","download","fraction","then","localUri","catch","err","console","warn","active","cached","player","p","muted","play","playing","addListener","isPlaying","event","remove","handlePlay","style","styles","videoMessage","children","fontSize","fontWeight","color","text","textSecondary","textAlign","loading","flex","width","backgroundColor","contentFit","nativeControls","surfaceType","playOverlay","pointerEvents","playButton","Math","round","activeOpacity","onPress","absoluteFill","height","FilePreviewModal","handleCloseModal","dispatch","showToast","config","cardBackground","dark","surfaceSecondary","safDirUriRef","activeFile","state","chatSettingStore","displayFileName","originalName","fileName","location","fileURL","requestStoragePermission","MediaLibrary","requestPermissionsAsync","error","saveToGallery","hasPermission","alert","filePath","cacheDirectory","saveToLibraryAsync","id","Date","now","toString","title","message","type","listSafDirectoryNames","saf","dirUri","uris","readDirectoryAsync","names","map","decoded","decodeURIComponent","last","pop","includes","filter","Boolean","saveFileToDownloads","OS","StorageAccessFramework","perm","requestDirectoryPermissionsAsync","granted","directoryUri","existingNames","uniqueName","candidate","baseName","replace","base64","readAsStringAsync","encoding","EncodingType","Base64","destUri","createFileAsync","writeAsStringAsync","share","saveClick","startsWith","closeModal","getMediaComponent","resizeMode","accessibilityLabel","padding","gap","borderRadius","src","mimeType","duration","waveForm","pdfUrl","marginTop","headerTitle","titleStyle","typography","profile","screenTitle","rightMenu","display","justifyContent","overflow","paddingBottom","create","alignItems"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -24,6 +24,10 @@ const PdfViewer = ({
24
24
  let cancelled = false;
25
25
  const run = async () => {
26
26
  try {
27
+ if (/^file:\/\//i.test(pdfUrl)) {
28
+ setLocalUri(pdfUrl);
29
+ return;
30
+ }
27
31
  const target = FileSystem.cacheDirectory + `pdf-${Date.now()}.pdf`;
28
32
  const result = await FileSystem.downloadAsync(withFileToken(pdfUrl), target);
29
33
  if (cancelled) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","withFileToken","ActivityIndicator","Platform","StyleSheet","Text","View","WebView","FileSystem","GViewWebView","jsx","_jsx","jsxs","_jsxs","PdfViewer","pdfUrl","localUri","setLocalUri","error","setError","isAndroid","OS","cancelled","run","target","cacheDirectory","Date","now","result","downloadAsync","uri","e","console","log","message","url","style","styles","center","children","size","container","source","webview","originWhitelist","allowFileAccess","allowFileAccessFromFileURLs","allowUniversalAccessFromFileURLs","create","flex","width","backgroundColor","alignItems","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/PdfView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","withFileToken","ActivityIndicator","Platform","StyleSheet","Text","View","WebView","FileSystem","GViewWebView","jsx","_jsx","jsxs","_jsxs","PdfViewer","pdfUrl","localUri","setLocalUri","error","setError","isAndroid","OS","cancelled","run","test","target","cacheDirectory","Date","now","result","downloadAsync","uri","e","console","log","message","url","style","styles","center","children","size","container","source","webview","originWhitelist","allowFileAccess","allowFileAccessFromFileURLs","allowUniversalAccessFromFileURLs","create","flex","width","backgroundColor","alignItems","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/PdfView.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
 
3
- import React, { useCallback, useEffect, useRef } from 'react';
4
- import { BackHandler, Keyboard, StyleSheet, useWindowDimensions, View } from 'react-native';
5
- import Animated, { interpolate, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
3
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
+ import { Animated, BackHandler, Keyboard, StyleSheet, useWindowDimensions, View } from 'react-native';
6
5
  import { Gesture, GestureDetector } from 'react-native-gesture-handler';
7
6
  import { COMPLETE_DISTANCE, COMPLETE_VELOCITY, EDGE_WIDTH, LIST_DIM, POP, PUSH } from '../../MainComponents/RoomStack';
8
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
8
  /**
10
9
  * Full-screen modal layer with the same navigation feel as RoomStack: it
11
10
  * slides in from the right, and a swipe from the left edge drags it back
12
- * out over whatever is underneath (the room or the list).
11
+ * out over whatever is underneath (the room or the list). Like RoomStack it
12
+ * runs on RN's own `Animated`, one value driving every layer.
13
13
  */
14
14
  export const SwipeBackLayer = ({
15
15
  onClose,
@@ -18,29 +18,60 @@ export const SwipeBackLayer = ({
18
18
  const {
19
19
  width: windowWidth
20
20
  } = useWindowDimensions();
21
- const width = useSharedValue(windowWidth);
22
- const x = useSharedValue(windowWidth);
23
- const closing = useSharedValue(false);
21
+ const [width, setWidth] = useState(windowWidth);
22
+ const widthRef = useRef(width);
23
+ widthRef.current = width;
24
+ const x = useRef(new Animated.Value(windowWidth)).current;
25
+ const closing = useRef(false);
26
+ const slideTo = useCallback((toValue, config, done) => {
27
+ Animated.timing(x, {
28
+ toValue,
29
+ ...config,
30
+ useNativeDriver: true
31
+ }).start(({
32
+ finished
33
+ }) => done?.(finished));
34
+ }, [x]);
24
35
  useEffect(() => {
25
- x.value = withTiming(0, PUSH);
36
+ slideTo(0, PUSH);
26
37
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
27
38
 
28
39
  const onCloseRef = useRef(onClose);
29
40
  onCloseRef.current = onClose;
30
- const finish = useCallback(() => onCloseRef.current(), []);
31
- const close = useCallback(() => {
32
- if (closing.value) {
41
+ const [closeCount, setCloseCount] = useState(0);
42
+ const finish = useCallback(() => {
43
+ onCloseRef.current();
44
+ setCloseCount(count => count + 1);
45
+ }, []);
46
+
47
+ // `onClose` normally unmounts this layer. If it is still here afterwards
48
+ // (the modal did not close), slide the screen back rather than leave it
49
+ // parked off-screen.
50
+ useEffect(() => {
51
+ if (closeCount === 0) {
33
52
  return;
34
53
  }
35
- closing.value = true;
36
- Keyboard.dismiss();
37
- x.value = withTiming(width.value, POP, finished => {
54
+ closing.current = false;
55
+ slideTo(0, POP);
56
+ }, [closeCount]); // eslint-disable-line react-hooks/exhaustive-deps
57
+
58
+ const slideOut = useCallback(() => {
59
+ closing.current = true;
60
+ slideTo(widthRef.current, POP, finished => {
38
61
  if (finished) {
39
- runOnJS(finish)();
62
+ finish();
63
+ } else {
64
+ closing.current = false;
40
65
  }
41
66
  });
42
- }, [finish]); // eslint-disable-line react-hooks/exhaustive-deps
43
-
67
+ }, [finish, slideTo]);
68
+ const close = useCallback(() => {
69
+ if (closing.current) {
70
+ return;
71
+ }
72
+ Keyboard.dismiss();
73
+ slideOut();
74
+ }, [slideOut]);
44
75
  useEffect(() => {
45
76
  const sub = BackHandler.addEventListener('hardwareBackPress', () => {
46
77
  close();
@@ -48,57 +79,58 @@ export const SwipeBackLayer = ({
48
79
  });
49
80
  return () => sub.remove();
50
81
  }, [close]);
51
- const dismissKeyboard = useCallback(() => Keyboard.dismiss(), []);
52
- const swipeBack = Gesture.Pan().hitSlop({
82
+ const swipeBack = useMemo(() => Gesture.Pan().runOnJS(true).hitSlop({
53
83
  left: 0,
54
84
  width: EDGE_WIDTH
55
85
  }).activeOffsetX(12).failOffsetY([-16, 16]).onStart(() => {
56
- runOnJS(dismissKeyboard)();
86
+ if (closing.current) {
87
+ return;
88
+ }
89
+ Keyboard.dismiss();
90
+ x.stopAnimation();
57
91
  }).onUpdate(e => {
58
- if (closing.value) {
92
+ if (closing.current) {
59
93
  return;
60
94
  }
61
- x.value = Math.min(Math.max(e.translationX, 0), width.value);
95
+ x.setValue(Math.min(Math.max(e.translationX, 0), widthRef.current));
62
96
  }).onEnd(e => {
63
- if (closing.value) {
97
+ if (closing.current) {
64
98
  return;
65
99
  }
66
- const complete = x.value > width.value * COMPLETE_DISTANCE || e.velocityX > COMPLETE_VELOCITY;
100
+ const complete = e.translationX > widthRef.current * COMPLETE_DISTANCE || e.velocityX > COMPLETE_VELOCITY;
67
101
  if (complete) {
68
- closing.value = true;
69
- x.value = withTiming(width.value, POP, finished => {
70
- if (finished) {
71
- runOnJS(finish)();
72
- }
73
- });
102
+ slideOut();
74
103
  } else {
75
- x.value = withTiming(0, POP);
104
+ slideTo(0, POP);
76
105
  }
77
- });
78
- const screenStyle = useAnimatedStyle(() => ({
79
- transform: [{
80
- translateX: x.value
81
- }]
82
- }));
83
- const dimStyle = useAnimatedStyle(() => ({
84
- opacity: interpolate(x.value, [0, width.value], [LIST_DIM, 0])
85
- }));
106
+ }), [slideOut, slideTo, x]);
107
+ const dimOpacity = useMemo(() => x.interpolate({
108
+ inputRange: [0, width],
109
+ outputRange: [LIST_DIM, 0],
110
+ extrapolate: 'clamp'
111
+ }), [x, width]);
86
112
  return /*#__PURE__*/_jsxs(View, {
87
113
  pointerEvents: "box-none",
88
114
  style: styles.host,
89
115
  onLayout: e => {
90
116
  const next = e.nativeEvent.layout.width;
91
- if (next > 0) {
92
- width.value = next;
117
+ if (next > 0 && next !== widthRef.current) {
118
+ setWidth(next);
93
119
  }
94
120
  },
95
121
  children: [/*#__PURE__*/_jsx(Animated.View, {
96
122
  pointerEvents: "none",
97
- style: [styles.fill, styles.dim, dimStyle]
123
+ style: [styles.fill, styles.dim, {
124
+ opacity: dimOpacity
125
+ }]
98
126
  }), /*#__PURE__*/_jsx(GestureDetector, {
99
127
  gesture: swipeBack,
100
128
  children: /*#__PURE__*/_jsx(Animated.View, {
101
- style: [styles.fill, styles.screen, screenStyle],
129
+ style: [styles.fill, styles.screen, {
130
+ transform: [{
131
+ translateX: x
132
+ }]
133
+ }],
102
134
  children: children(close)
103
135
  })
104
136
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useRef","BackHandler","Keyboard","StyleSheet","useWindowDimensions","View","Animated","interpolate","runOnJS","useAnimatedStyle","useSharedValue","withTiming","Gesture","GestureDetector","COMPLETE_DISTANCE","COMPLETE_VELOCITY","EDGE_WIDTH","LIST_DIM","POP","PUSH","jsx","_jsx","jsxs","_jsxs","SwipeBackLayer","onClose","children","width","windowWidth","x","closing","value","onCloseRef","current","finish","close","dismiss","finished","sub","addEventListener","remove","dismissKeyboard","swipeBack","Pan","hitSlop","left","activeOffsetX","failOffsetY","onStart","onUpdate","e","Math","min","max","translationX","onEnd","complete","velocityX","screenStyle","transform","translateX","dimStyle","opacity","pointerEvents","style","styles","host","onLayout","next","nativeEvent","layout","fill","dim","gesture","screen","create","position","top","right","bottom","zIndex","overflow","backgroundColor","justifyContent","alignItems","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius"],"sourceRoot":"../../../../../src","sources":["components/Modals/Modal/SwipeBackLayer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","Animated","BackHandler","Keyboard","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","COMPLETE_DISTANCE","COMPLETE_VELOCITY","EDGE_WIDTH","LIST_DIM","POP","PUSH","jsx","_jsx","jsxs","_jsxs","SwipeBackLayer","onClose","children","width","windowWidth","setWidth","widthRef","current","x","Value","closing","slideTo","toValue","config","done","timing","useNativeDriver","start","finished","onCloseRef","closeCount","setCloseCount","finish","count","slideOut","close","dismiss","sub","addEventListener","remove","swipeBack","Pan","runOnJS","hitSlop","left","activeOffsetX","failOffsetY","onStart","stopAnimation","onUpdate","e","setValue","Math","min","max","translationX","onEnd","complete","velocityX","dimOpacity","interpolate","inputRange","outputRange","extrapolate","pointerEvents","style","styles","host","onLayout","next","nativeEvent","layout","fill","dim","opacity","gesture","screen","transform","translateX","create","position","top","right","bottom","zIndex","overflow","backgroundColor","justifyContent","alignItems","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius"],"sourceRoot":"../../../../../src","sources":["components/Modals/Modal/SwipeBackLayer.tsx"],"mappings":"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","ignoreList":[]}