@ethora/chat-component-rn 26.8.4 → 26.8.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 (417) hide show
  1. package/README.md +55 -0
  2. package/lib/commonjs/assets/emojiData.js +40 -0
  3. package/lib/commonjs/assets/emojiData.js.map +1 -0
  4. package/lib/commonjs/assets/icons.js +1 -1
  5. package/lib/commonjs/assets/icons.js.map +1 -1
  6. package/lib/commonjs/components/Header/HeaderRoomList.js +12 -7
  7. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  8. package/lib/commonjs/components/MainComponents/ChatHeader.js +7 -9
  9. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  10. package/lib/commonjs/components/MainComponents/ChatRoom.js +47 -26
  11. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  12. package/lib/commonjs/components/MainComponents/ChatWrapper.js +58 -21
  13. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  14. package/lib/commonjs/components/MainComponents/KeyboardInputDock.js +40 -0
  15. package/lib/commonjs/components/MainComponents/KeyboardInputDock.js.map +1 -0
  16. package/lib/commonjs/components/MainComponents/MessageContainer.js +4 -12
  17. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  18. package/lib/commonjs/components/MainComponents/MessageList.js +110 -35
  19. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  20. package/lib/commonjs/components/MainComponents/RoomList.js +32 -29
  21. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  22. package/lib/commonjs/components/MainComponents/RoomStack.js +270 -0
  23. package/lib/commonjs/components/MainComponents/RoomStack.js.map +1 -0
  24. package/lib/commonjs/components/MainComponents/SystemMessage.js +6 -2
  25. package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
  26. package/lib/commonjs/components/MessageBubble/Avatar.js +5 -1
  27. package/lib/commonjs/components/MessageBubble/Avatar.js.map +1 -1
  28. package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js +17 -21
  29. package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  30. package/lib/commonjs/components/MessageBubble/EmojiPickerSheet.js +447 -0
  31. package/lib/commonjs/components/MessageBubble/EmojiPickerSheet.js.map +1 -0
  32. package/lib/commonjs/components/MessageBubble/Message.js +200 -132
  33. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  34. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +213 -12
  35. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  36. package/lib/commonjs/components/MessageBubble/MessageReaction.js +113 -94
  37. package/lib/commonjs/components/MessageBubble/MessageReaction.js.map +1 -1
  38. package/lib/commonjs/components/MessageBubble/MessageReply.js +66 -24
  39. package/lib/commonjs/components/MessageBubble/MessageReply.js.map +1 -1
  40. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +6 -1
  41. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  42. package/lib/commonjs/components/Modals/Modal/Modal.js +24 -0
  43. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  44. package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js +178 -0
  45. package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js.map +1 -0
  46. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +28 -10
  47. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -1
  48. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +9 -3
  49. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  50. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +5 -4
  51. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  52. package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js +8 -9
  53. package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
  54. package/lib/commonjs/components/Thread/ThreadWrapper.js +265 -152
  55. package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
  56. package/lib/commonjs/components/styled/DateLabel.js +6 -3
  57. package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
  58. package/lib/commonjs/context/MessageNotificationContext.js +188 -9
  59. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  60. package/lib/commonjs/context/xmppProvider.js +22 -7
  61. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  62. package/lib/commonjs/helpers/createRoomFromApi.js +36 -2
  63. package/lib/commonjs/helpers/createRoomFromApi.js.map +1 -1
  64. package/lib/commonjs/helpers/emoji.js +51 -0
  65. package/lib/commonjs/helpers/emoji.js.map +1 -0
  66. package/lib/commonjs/helpers/haptics.js +29 -0
  67. package/lib/commonjs/helpers/haptics.js.map +1 -0
  68. package/lib/commonjs/helpers/historyPreloadScheduler.js +32 -66
  69. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  70. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +21 -12
  71. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  72. package/lib/commonjs/helpers/keyboardLayout.js +23 -1
  73. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
  74. package/lib/commonjs/helpers/mamReactions.js +57 -0
  75. package/lib/commonjs/helpers/mamReactions.js.map +1 -0
  76. package/lib/commonjs/helpers/parseMessageReference.js +42 -0
  77. package/lib/commonjs/helpers/parseMessageReference.js.map +1 -0
  78. package/lib/commonjs/helpers/reactionsConfig.js +17 -0
  79. package/lib/commonjs/helpers/reactionsConfig.js.map +1 -0
  80. package/lib/commonjs/helpers/updateMessagesTillLast.js +17 -2
  81. package/lib/commonjs/helpers/updateMessagesTillLast.js.map +1 -1
  82. package/lib/commonjs/hooks/useHeapSender.js +3 -1
  83. package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
  84. package/lib/commonjs/hooks/useMessageHeapState.js +3 -2
  85. package/lib/commonjs/hooks/useMessageHeapState.js.map +1 -1
  86. package/lib/commonjs/hooks/useRoomInitialization.js +16 -7
  87. package/lib/commonjs/hooks/useRoomInitialization.js.map +1 -1
  88. package/lib/commonjs/hooks/useSendMessage.js +14 -8
  89. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  90. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +1 -1
  91. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  92. package/lib/commonjs/networking/stanzaHandlers.js +106 -50
  93. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  94. package/lib/commonjs/networking/xmpp/getHistory.xmpp.js +29 -74
  95. package/lib/commonjs/networking/xmpp/getHistory.xmpp.js.map +1 -1
  96. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +4 -0
  97. package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  98. package/lib/commonjs/networking/xmpp/mamRouter.js +186 -0
  99. package/lib/commonjs/networking/xmpp/mamRouter.js.map +1 -0
  100. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +41 -4
  101. package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  102. package/lib/commonjs/networking/xmppClient.js +98 -23
  103. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  104. package/lib/commonjs/roomStore/Middleware/newMessageMidlleware.js +29 -34
  105. package/lib/commonjs/roomStore/Middleware/newMessageMidlleware.js.map +1 -1
  106. package/lib/commonjs/roomStore/Middleware/perfMiddleware.js +51 -0
  107. package/lib/commonjs/roomStore/Middleware/perfMiddleware.js.map +1 -0
  108. package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js +66 -43
  109. package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
  110. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +88 -68
  111. package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  112. package/lib/commonjs/roomStore/index.js +18 -14
  113. package/lib/commonjs/roomStore/index.js.map +1 -1
  114. package/lib/commonjs/roomStore/persistBackend.js +96 -0
  115. package/lib/commonjs/roomStore/persistBackend.js.map +1 -0
  116. package/lib/commonjs/roomStore/persistence.js +245 -50
  117. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  118. package/lib/commonjs/roomStore/roomsSlice.js +282 -136
  119. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  120. package/lib/commonjs/theme/theme.js +3 -0
  121. package/lib/commonjs/theme/theme.js.map +1 -1
  122. package/lib/commonjs/utils/devLogger.js +14 -0
  123. package/lib/commonjs/utils/devLogger.js.map +1 -1
  124. package/lib/commonjs/version.js +1 -1
  125. package/lib/module/assets/emojiData.js +36 -0
  126. package/lib/module/assets/emojiData.js.map +1 -0
  127. package/lib/module/assets/icons.js +1 -1
  128. package/lib/module/assets/icons.js.map +1 -1
  129. package/lib/module/components/Header/HeaderRoomList.js +12 -7
  130. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  131. package/lib/module/components/MainComponents/ChatHeader.js +8 -10
  132. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  133. package/lib/module/components/MainComponents/ChatRoom.js +49 -28
  134. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  135. package/lib/module/components/MainComponents/ChatWrapper.js +60 -23
  136. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  137. package/lib/module/components/MainComponents/KeyboardInputDock.js +33 -0
  138. package/lib/module/components/MainComponents/KeyboardInputDock.js.map +1 -0
  139. package/lib/module/components/MainComponents/MessageContainer.js +7 -14
  140. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  141. package/lib/module/components/MainComponents/MessageList.js +110 -35
  142. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  143. package/lib/module/components/MainComponents/RoomList.js +32 -29
  144. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  145. package/lib/module/components/MainComponents/RoomStack.js +266 -0
  146. package/lib/module/components/MainComponents/RoomStack.js.map +1 -0
  147. package/lib/module/components/MainComponents/SystemMessage.js +6 -2
  148. package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
  149. package/lib/module/components/MessageBubble/Avatar.js +5 -1
  150. package/lib/module/components/MessageBubble/Avatar.js.map +1 -1
  151. package/lib/module/components/MessageBubble/BottomReplyContainer.js +18 -22
  152. package/lib/module/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  153. package/lib/module/components/MessageBubble/EmojiPickerSheet.js +438 -0
  154. package/lib/module/components/MessageBubble/EmojiPickerSheet.js.map +1 -0
  155. package/lib/module/components/MessageBubble/Message.js +203 -134
  156. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  157. package/lib/module/components/MessageBubble/MessageInteractions.js +215 -14
  158. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  159. package/lib/module/components/MessageBubble/MessageReaction.js +115 -94
  160. package/lib/module/components/MessageBubble/MessageReaction.js.map +1 -1
  161. package/lib/module/components/MessageBubble/MessageReply.js +65 -24
  162. package/lib/module/components/MessageBubble/MessageReply.js.map +1 -1
  163. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +6 -1
  164. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  165. package/lib/module/components/Modals/Modal/Modal.js +25 -1
  166. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  167. package/lib/module/components/Modals/Modal/SwipeBackLayer.js +172 -0
  168. package/lib/module/components/Modals/Modal/SwipeBackLayer.js.map +1 -0
  169. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +29 -11
  170. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -1
  171. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +10 -4
  172. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  173. package/lib/module/components/RoomComponents/ChatRoomItem.js +5 -4
  174. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  175. package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js +8 -9
  176. package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
  177. package/lib/module/components/Thread/ThreadWrapper.js +264 -152
  178. package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
  179. package/lib/module/components/styled/DateLabel.js +6 -3
  180. package/lib/module/components/styled/DateLabel.js.map +1 -1
  181. package/lib/module/context/MessageNotificationContext.js +190 -11
  182. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  183. package/lib/module/context/xmppProvider.js +22 -7
  184. package/lib/module/context/xmppProvider.js.map +1 -1
  185. package/lib/module/helpers/createRoomFromApi.js +36 -2
  186. package/lib/module/helpers/createRoomFromApi.js.map +1 -1
  187. package/lib/module/helpers/emoji.js +44 -0
  188. package/lib/module/helpers/emoji.js.map +1 -0
  189. package/lib/module/helpers/haptics.js +24 -0
  190. package/lib/module/helpers/haptics.js.map +1 -0
  191. package/lib/module/helpers/historyPreloadScheduler.js +32 -66
  192. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  193. package/lib/module/helpers/insertMessageWithDelimiter.js +21 -12
  194. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  195. package/lib/module/helpers/keyboardLayout.js +20 -0
  196. package/lib/module/helpers/keyboardLayout.js.map +1 -1
  197. package/lib/module/helpers/mamReactions.js +51 -0
  198. package/lib/module/helpers/mamReactions.js.map +1 -0
  199. package/lib/module/helpers/parseMessageReference.js +37 -0
  200. package/lib/module/helpers/parseMessageReference.js.map +1 -0
  201. package/lib/module/helpers/reactionsConfig.js +10 -0
  202. package/lib/module/helpers/reactionsConfig.js.map +1 -0
  203. package/lib/module/helpers/updateMessagesTillLast.js +17 -2
  204. package/lib/module/helpers/updateMessagesTillLast.js.map +1 -1
  205. package/lib/module/hooks/useHeapSender.js +3 -1
  206. package/lib/module/hooks/useHeapSender.js.map +1 -1
  207. package/lib/module/hooks/useMessageHeapState.js +3 -2
  208. package/lib/module/hooks/useMessageHeapState.js.map +1 -1
  209. package/lib/module/hooks/useRoomInitialization.js +17 -8
  210. package/lib/module/hooks/useRoomInitialization.js.map +1 -1
  211. package/lib/module/hooks/useSendMessage.js +14 -8
  212. package/lib/module/hooks/useSendMessage.js.map +1 -1
  213. package/lib/module/hooks/useUnreadMessagesCounter.js +1 -1
  214. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  215. package/lib/module/networking/stanzaHandlers.js +107 -51
  216. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  217. package/lib/module/networking/xmpp/getHistory.xmpp.js +29 -74
  218. package/lib/module/networking/xmpp/getHistory.xmpp.js.map +1 -1
  219. package/lib/module/networking/xmpp/handleStanzas.xmpp.js +4 -0
  220. package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
  221. package/lib/module/networking/xmpp/mamRouter.js +175 -0
  222. package/lib/module/networking/xmpp/mamRouter.js.map +1 -0
  223. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +38 -2
  224. package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
  225. package/lib/module/networking/xmppClient.js +99 -24
  226. package/lib/module/networking/xmppClient.js.map +1 -1
  227. package/lib/module/roomStore/Middleware/newMessageMidlleware.js +29 -34
  228. package/lib/module/roomStore/Middleware/newMessageMidlleware.js.map +1 -1
  229. package/lib/module/roomStore/Middleware/perfMiddleware.js +45 -0
  230. package/lib/module/roomStore/Middleware/perfMiddleware.js.map +1 -0
  231. package/lib/module/roomStore/Middleware/reactionsMiddleware.js +66 -43
  232. package/lib/module/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
  233. package/lib/module/roomStore/Middleware/unreadMidlleware.js +89 -69
  234. package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
  235. package/lib/module/roomStore/index.js +19 -15
  236. package/lib/module/roomStore/index.js.map +1 -1
  237. package/lib/module/roomStore/persistBackend.js +89 -0
  238. package/lib/module/roomStore/persistBackend.js.map +1 -0
  239. package/lib/module/roomStore/persistence.js +245 -48
  240. package/lib/module/roomStore/persistence.js.map +1 -1
  241. package/lib/module/roomStore/roomsSlice.js +275 -134
  242. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  243. package/lib/module/theme/theme.js +3 -0
  244. package/lib/module/theme/theme.js.map +1 -1
  245. package/lib/module/utils/devLogger.js +13 -0
  246. package/lib/module/utils/devLogger.js.map +1 -1
  247. package/lib/module/version.js +1 -1
  248. package/lib/typescript/assets/emojiData.d.ts +8 -0
  249. package/lib/typescript/assets/emojiData.d.ts.map +1 -0
  250. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  251. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  252. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  253. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  254. package/lib/typescript/components/MainComponents/KeyboardInputDock.d.ts +16 -0
  255. package/lib/typescript/components/MainComponents/KeyboardInputDock.d.ts.map +1 -0
  256. package/lib/typescript/components/MainComponents/MessageContainer.d.ts +2 -2
  257. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  258. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  259. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  260. package/lib/typescript/components/MainComponents/RoomStack.d.ts +42 -0
  261. package/lib/typescript/components/MainComponents/RoomStack.d.ts.map +1 -0
  262. package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
  263. package/lib/typescript/components/MessageBubble/Avatar.d.ts +2 -0
  264. package/lib/typescript/components/MessageBubble/Avatar.d.ts.map +1 -1
  265. package/lib/typescript/components/MessageBubble/BottomReplyContainer.d.ts.map +1 -1
  266. package/lib/typescript/components/MessageBubble/EmojiPickerSheet.d.ts +11 -0
  267. package/lib/typescript/components/MessageBubble/EmojiPickerSheet.d.ts.map +1 -0
  268. package/lib/typescript/components/MessageBubble/Message.d.ts +2 -2
  269. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  270. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +2 -0
  271. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  272. package/lib/typescript/components/MessageBubble/MessageReaction.d.ts +1 -0
  273. package/lib/typescript/components/MessageBubble/MessageReaction.d.ts.map +1 -1
  274. package/lib/typescript/components/MessageBubble/MessageReply.d.ts +7 -7
  275. package/lib/typescript/components/MessageBubble/MessageReply.d.ts.map +1 -1
  276. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  277. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  278. package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts +16 -0
  279. package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts.map +1 -0
  280. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -1
  281. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  282. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts +2 -2
  283. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  284. package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts +3 -6
  285. package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts.map +1 -1
  286. package/lib/typescript/components/Thread/ThreadWrapper.d.ts +7 -1
  287. package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
  288. package/lib/typescript/components/styled/DateLabel.d.ts +1 -0
  289. package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
  290. package/lib/typescript/context/MessageNotificationContext.d.ts.map +1 -1
  291. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  292. package/lib/typescript/helpers/createRoomFromApi.d.ts.map +1 -1
  293. package/lib/typescript/helpers/emoji.d.ts +6 -0
  294. package/lib/typescript/helpers/emoji.d.ts.map +1 -0
  295. package/lib/typescript/helpers/haptics.d.ts +3 -0
  296. package/lib/typescript/helpers/haptics.d.ts.map +1 -0
  297. package/lib/typescript/helpers/historyPreloadScheduler.d.ts +1 -0
  298. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  299. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  300. package/lib/typescript/helpers/keyboardLayout.d.ts +6 -0
  301. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
  302. package/lib/typescript/helpers/mamReactions.d.ts +13 -0
  303. package/lib/typescript/helpers/mamReactions.d.ts.map +1 -0
  304. package/lib/typescript/helpers/parseMessageReference.d.ts +16 -0
  305. package/lib/typescript/helpers/parseMessageReference.d.ts.map +1 -0
  306. package/lib/typescript/helpers/reactionsConfig.d.ts +5 -0
  307. package/lib/typescript/helpers/reactionsConfig.d.ts.map +1 -0
  308. package/lib/typescript/helpers/updateMessagesTillLast.d.ts.map +1 -1
  309. package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
  310. package/lib/typescript/hooks/useMessageHeapState.d.ts.map +1 -1
  311. package/lib/typescript/hooks/useRoomInitialization.d.ts +2 -2
  312. package/lib/typescript/hooks/useRoomInitialization.d.ts.map +1 -1
  313. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  314. package/lib/typescript/networking/stanzaHandlers.d.ts +4 -2
  315. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  316. package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts +3 -1
  317. package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts.map +1 -1
  318. package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts.map +1 -1
  319. package/lib/typescript/networking/xmpp/mamRouter.d.ts +23 -0
  320. package/lib/typescript/networking/xmpp/mamRouter.d.ts.map +1 -0
  321. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts +1 -0
  322. package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
  323. package/lib/typescript/networking/xmppClient.d.ts +22 -1
  324. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  325. package/lib/typescript/roomStore/Middleware/newMessageMidlleware.d.ts.map +1 -1
  326. package/lib/typescript/roomStore/Middleware/perfMiddleware.d.ts +4 -0
  327. package/lib/typescript/roomStore/Middleware/perfMiddleware.d.ts.map +1 -0
  328. package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts +9 -0
  329. package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts.map +1 -1
  330. package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
  331. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  332. package/lib/typescript/roomStore/persistBackend.d.ts +11 -0
  333. package/lib/typescript/roomStore/persistBackend.d.ts.map +1 -0
  334. package/lib/typescript/roomStore/persistence.d.ts +5 -6
  335. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  336. package/lib/typescript/roomStore/roomsSlice.d.ts +41 -1
  337. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  338. package/lib/typescript/theme/theme.d.ts +4 -1
  339. package/lib/typescript/theme/theme.d.ts.map +1 -1
  340. package/lib/typescript/types/models/message.model.d.ts +4 -0
  341. package/lib/typescript/types/models/message.model.d.ts.map +1 -1
  342. package/lib/typescript/types/models/room.model.d.ts +16 -0
  343. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  344. package/lib/typescript/types/models/xmpp.model.d.ts +6 -1
  345. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  346. package/lib/typescript/types/types.d.ts +15 -3
  347. package/lib/typescript/types/types.d.ts.map +1 -1
  348. package/lib/typescript/utils/devLogger.d.ts +8 -0
  349. package/lib/typescript/utils/devLogger.d.ts.map +1 -1
  350. package/lib/typescript/version.d.ts +1 -1
  351. package/package.json +10 -1
  352. package/src/assets/emojiData.ts +2146 -0
  353. package/src/assets/icons.tsx +5 -5
  354. package/src/components/Header/HeaderRoomList.tsx +7 -5
  355. package/src/components/MainComponents/ChatHeader.tsx +16 -7
  356. package/src/components/MainComponents/ChatRoom.tsx +64 -32
  357. package/src/components/MainComponents/ChatWrapper.tsx +73 -21
  358. package/src/components/MainComponents/KeyboardInputDock.tsx +47 -0
  359. package/src/components/MainComponents/MessageContainer.tsx +7 -15
  360. package/src/components/MainComponents/MessageList.tsx +96 -43
  361. package/src/components/MainComponents/RoomList.tsx +28 -29
  362. package/src/components/MainComponents/RoomStack.tsx +309 -0
  363. package/src/components/MainComponents/SystemMessage.tsx +6 -2
  364. package/src/components/MessageBubble/Avatar.tsx +7 -1
  365. package/src/components/MessageBubble/BottomReplyContainer.tsx +19 -21
  366. package/src/components/MessageBubble/EmojiPickerSheet.tsx +468 -0
  367. package/src/components/MessageBubble/Message.tsx +146 -87
  368. package/src/components/MessageBubble/MessageInteractions.tsx +213 -12
  369. package/src/components/MessageBubble/MessageReaction.tsx +120 -96
  370. package/src/components/MessageBubble/MessageReply.tsx +65 -32
  371. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +4 -0
  372. package/src/components/Modals/Modal/Modal.tsx +32 -1
  373. package/src/components/Modals/Modal/SwipeBackLayer.tsx +221 -0
  374. package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +29 -8
  375. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +6 -3
  376. package/src/components/RoomComponents/ChatRoomItem.tsx +11 -4
  377. package/src/components/RoomComponents/styled/LastMessageEmoji.tsx +7 -8
  378. package/src/components/Thread/ThreadWrapper.tsx +274 -198
  379. package/src/components/styled/DateLabel.tsx +7 -3
  380. package/src/context/MessageNotificationContext.tsx +205 -7
  381. package/src/context/xmppProvider.tsx +29 -9
  382. package/src/helpers/createRoomFromApi.tsx +37 -1
  383. package/src/helpers/emoji.ts +39 -0
  384. package/src/helpers/haptics.ts +19 -0
  385. package/src/helpers/historyPreloadScheduler.ts +37 -69
  386. package/src/helpers/insertMessageWithDelimiter.ts +23 -16
  387. package/src/helpers/keyboardLayout.ts +26 -0
  388. package/src/helpers/mamReactions.ts +59 -0
  389. package/src/helpers/parseMessageReference.ts +38 -0
  390. package/src/helpers/reactionsConfig.ts +13 -0
  391. package/src/helpers/updateMessagesTillLast.tsx +14 -2
  392. package/src/hooks/useHeapSender.tsx +3 -2
  393. package/src/hooks/useMessageHeapState.tsx +6 -2
  394. package/src/hooks/useRoomInitialization.tsx +32 -15
  395. package/src/hooks/useSendMessage.tsx +18 -11
  396. package/src/hooks/useUnreadMessagesCounter.ts +1 -1
  397. package/src/networking/stanzaHandlers.ts +116 -60
  398. package/src/networking/xmpp/getHistory.xmpp.ts +44 -106
  399. package/src/networking/xmpp/handleStanzas.xmpp.ts +2 -0
  400. package/src/networking/xmpp/mamRouter.ts +176 -0
  401. package/src/networking/xmpp/presenceInRoom.xmpp.ts +46 -3
  402. package/src/networking/xmppClient.ts +105 -20
  403. package/src/roomStore/Middleware/newMessageMidlleware.tsx +35 -38
  404. package/src/roomStore/Middleware/perfMiddleware.ts +50 -0
  405. package/src/roomStore/Middleware/reactionsMiddleware.tsx +53 -52
  406. package/src/roomStore/Middleware/unreadMidlleware.tsx +92 -80
  407. package/src/roomStore/index.ts +28 -27
  408. package/src/roomStore/persistBackend.ts +96 -0
  409. package/src/roomStore/persistence.ts +280 -73
  410. package/src/roomStore/roomsSlice.ts +304 -155
  411. package/src/theme/theme.ts +10 -1
  412. package/src/types/models/message.model.ts +4 -0
  413. package/src/types/models/room.model.ts +17 -0
  414. package/src/types/models/xmpp.model.ts +4 -2
  415. package/src/types/types.ts +15 -3
  416. package/src/utils/devLogger.ts +16 -0
  417. package/src/version.ts +1 -1
@@ -11,6 +11,7 @@ var _Avatar = require("./Avatar");
11
11
  var _MessageInteractions = _interopRequireDefault(require("./MessageInteractions"));
12
12
  var _BottomReplyContainer = require("./BottomReplyContainer");
13
13
  var _MessageReply = require("./MessageReply");
14
+ var _parseMessageReference = require("../../helpers/parseMessageReference");
14
15
  var _DeletedMessage = require("./DeletedMessage");
15
16
  var _chatSettingsSlice = require("../../roomStore/chatSettingsSlice");
16
17
  var _MODAL_TYPES = require("../../helpers/constants/MODAL_TYPES");
@@ -30,7 +31,10 @@ var _icons = require("../../assets/icons");
30
31
  var _xmppProvider = require("../../context/xmppProvider");
31
32
  var _useSendMessage = require("../../hooks/useSendMessage");
32
33
  var _MessageReaction = require("./MessageReaction");
33
- var _StyledComponents = require("../styled/StyledComponents");
34
+ var _EmojiPickerSheet = require("./EmojiPickerSheet");
35
+ var _reactionsConfig = require("../../helpers/reactionsConfig");
36
+ var _reactNativeGestureHandler = require("react-native-gesture-handler");
37
+ var _haptics = require("../../helpers/haptics");
34
38
  var _useTheme = require("../../hooks/useTheme");
35
39
  var _jsxRuntime = require("react/jsx-runtime");
36
40
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -144,6 +148,21 @@ const CustomTimestampRow = _native.default.View`
144
148
  media
145
149
  }) => media ? '10px' : 0};
146
150
  `;
151
+ const clockCache = new Map();
152
+ const formatClock = date => {
153
+ const key = String(date);
154
+ const cached = clockCache.get(key);
155
+ if (cached !== undefined) {
156
+ return cached;
157
+ }
158
+ const d = new Date(date);
159
+ const label = Number.isNaN(d.getTime()) ? '' : `${String(d.getHours()).padStart(2, '0')}:${String(d.getMinutes()).padStart(2, '0')}`;
160
+ if (clockCache.size > 5000) {
161
+ clockCache.clear();
162
+ }
163
+ clockCache.set(key, label);
164
+ return label;
165
+ };
147
166
  const Message = ({
148
167
  message,
149
168
  isUser,
@@ -223,9 +242,7 @@ const Message = ({
223
242
  retryMessage
224
243
  } = (0, _useSendMessage.useSendMessage)();
225
244
  const [isPressed, setIsPressed] = (0, _react.useState)(false);
226
- if (__DEV__ && message.id && !globalThis.__loggedMsg?.[message.id]) {
227
- (globalThis.__loggedMsg ||= {})[message.id] = true;
228
- }
245
+ const [emojiPickerOpen, setEmojiPickerOpen] = (0, _react.useState)(false);
229
246
  const [contextMenuPosition, setContextMenuPosition] = (0, _react.useState)(null);
230
247
  const timerRef = (0, _react.useRef)(null);
231
248
  const messageRef = (0, _react.useRef)(null);
@@ -234,15 +251,18 @@ const Message = ({
234
251
  dispatch((0, _chatSettingsSlice.setActiveModal)(_MODAL_TYPES.MODAL_TYPES.PROFILE));
235
252
  dispatch((0, _chatSettingsSlice.setSelectedUser)(user));
236
253
  };
254
+ const replyRef = (0, _parseMessageReference.parseMessageReference)(message);
237
255
  const handleReplyMessage = () => {
238
256
  dispatch((0, _roomsSlice.setEditAction)({
239
257
  isEdit: false
240
258
  }));
241
- if (!isReply && message.mainMessage) {
242
- const messageCore = JSON.parse(message.mainMessage);
259
+
260
+ // An in-channel reply opens its PARENT's thread.
261
+ const parent = !isReply ? (0, _parseMessageReference.parseMessageReference)(message) : null;
262
+ if (parent) {
243
263
  dispatch((0, _roomsSlice.setActiveMessage)({
244
- id: messageCore.id,
245
- chatJID: messageCore.roomJid
264
+ id: parent.id,
265
+ chatJID: parent.roomJid || message.roomJid
246
266
  }));
247
267
  return setIsPressed(false);
248
268
  }
@@ -276,14 +296,16 @@ const Message = ({
276
296
  // };
277
297
 
278
298
  const handleReactionMessage = emoji => {
279
- if (!message.reaction) {
280
- return client?.sendMessageReactionStanza(message.id, message.roomJid, [emoji], `${user.firstName} ${user.lastName}`);
299
+ if (!(0, _reactionsConfig.reactionsEnabled)(config) || config?.disableInteractions) {
300
+ return;
281
301
  }
282
- if (message.reaction && message.reaction[user.xmppUsername || ''] && message.reaction[user.xmppUsername || '']?.emoji.includes(emoji)) {
283
- const filterEmoji = message.reaction[user.xmppUsername || '']?.emoji.filter(reaction => reaction !== emoji);
284
- return client?.sendMessageReactionStanza(message.id, message.roomJid, filterEmoji, `${user.firstName} ${user.lastName}`);
285
- }
286
- client?.sendMessageReactionStanza(message.id, message.roomJid, [...(message.reaction[user.xmppUsername || '']?.emoji || []), emoji], `${user.firstName} ${user.lastName}`);
302
+ const sender = {
303
+ firstName: user.firstName,
304
+ lastName: user.lastName
305
+ };
306
+ const own = message.reaction?.[user.xmppUsername || '']?.emoji || [];
307
+ const next = own.includes(emoji) ? own.filter(reaction => reaction !== emoji) : [...own, emoji];
308
+ client?.sendMessageReactionStanza(message.id, message.roomJid, next, sender);
287
309
  };
288
310
 
289
311
  // Long-press → capture the bubble's on-screen bounding box. The actual
@@ -324,6 +346,30 @@ const Message = ({
324
346
  setIsPressed(true);
325
347
  };
326
348
 
349
+ // Long-press is a NATIVE recognizer over the whole bubble column, not the
350
+ // Pressable's JS timer: the timer was lost whenever an inner responder
351
+ // (link text, media, reply quote, reactions) took the touch first, or the
352
+ // list stole it on the slightest drift — "works every other time". The
353
+ // recognizer fires wherever the finger lands, and once it does the touch
354
+ // is cancelled for everything underneath, so no tap handler fires on top.
355
+ const longPress = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.LongPress().runOnJS(true).minDuration(350).maxDistance(12).enabled(!config?.disableInteractions).onStart(() => {
356
+ (0, _haptics.hapticTap)();
357
+ handleLongPress();
358
+ }),
359
+ // eslint-disable-next-line react-hooks/exhaustive-deps
360
+ [config?.disableInteractions]);
361
+
362
+ // The bubble lifts a touch while its menu is open, and settles back.
363
+ const lift = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
364
+ (0, _react.useEffect)(() => {
365
+ _reactNative.Animated.spring(lift, {
366
+ toValue: isPressed ? 1.03 : 1,
367
+ useNativeDriver: true,
368
+ speed: 30,
369
+ bounciness: 6
370
+ }).start();
371
+ }, [isPressed, lift]);
372
+
327
373
  // Body text size/weight is set on the parser's leaf <Text>s — the markdown
328
374
  // wraps content in <View>s which break Text-style inheritance, so the bubble
329
375
  // wrapper's fontSize alone never reached the actual text.
@@ -338,7 +384,9 @@ const Message = ({
338
384
  // the reader's own messages (they wrote it; no point translating it back).
339
385
  const showInlineTranslation = isAutoTranslate && translationDisplay.hasTranslation && !isUser;
340
386
  const bodyToRender = showInlineTranslation ? translationDisplay.displayText : message.body;
341
- const messageText = config?.messageTextFilter?.enabled ? (0, _parseMessageBody.parseMessageBody)(config?.messageTextFilter.filterFunction(bodyToRender), bodyTextStyle, theme) : (0, _parseMessageBody.parseMessageBody)(bodyToRender, bodyTextStyle, theme);
387
+ const textFilter = config?.messageTextFilter;
388
+ const messageText = (0, _react.useMemo)(() => textFilter?.enabled ? (0, _parseMessageBody.parseMessageBody)(textFilter.filterFunction(bodyToRender), bodyTextStyle, theme) : (0, _parseMessageBody.parseMessageBody)(bodyToRender, bodyTextStyle, theme), [textFilter, bodyToRender, bodyTextStyle, theme]);
389
+ const timeLabel = (0, _react.useMemo)(() => formatClock(message.date), [message.date]);
342
390
  const isFailed = failedIdSet.has(message.id);
343
391
  const isPending = !isFailed && (idSet.has(message.id) || message?.pending || false);
344
392
  const onRetryPress = () => {
@@ -353,13 +401,8 @@ const Message = ({
353
401
  ref: messageRef,
354
402
  style: [styles.customMessageContainer, {
355
403
  justifyContent: isUser ? 'flex-end' : 'flex-start',
356
- marginBottom: !!message?.reply?.length || message?.reaction && !!Object.keys(message?.reaction)?.length ? 20 : 0
357
- }, isPressed ? {
358
- transform: [{
359
- scale: 1.05
360
- }],
361
- paddingRight: 16
362
- } : undefined
404
+ marginBottom: 0
405
+ }
363
406
  // justify-content: ${({ isUser }) => (isUser ? "flex-end" : "flex-start")},
364
407
  // margin-bottom: ${(props) => !!props.reply && "20px"},
365
408
  ],
@@ -381,116 +424,120 @@ const Message = ({
381
424
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
382
425
  username: senderDisplayName
383
426
  })
384
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable
385
- // The Pressable fills the row's content area, so the bubble
386
- // inside must be aligned to the sender's side — otherwise it
387
- // hugs the left and own media bubbles sit with a right-side
388
- // gap (text bubbles only looked right because they're narrow).
389
- // flex-end for own, flex-start for others.
390
- , {
391
- style: {
392
- flex: 1,
393
- alignItems: isUser ? 'flex-end' : 'flex-start'
394
- }
395
- // A plain tap anywhere on a message bubble dismisses the
396
- // keyboard. The FlatList's keyboardShouldPersistTaps="handled"
397
- // already dismisses taps on the empty GAPS between bubbles, but
398
- // the bubble Pressable itself is a touch responder, so taps that
399
- // landed on a message were "handled" and the keyboard stayed —
400
- // which is exactly the "closes only every other time" symptom
401
- // (hit a gap → close, hit a bubble → stay). Explicitly dismissing
402
- // here makes it reliable across the whole list. onPress does NOT
403
- // fire when onLongPress fires, so opening MessageInteractions via
404
- // long-press never triggers this dismiss.
405
- ,
406
- onPress: () => _reactNative.Keyboard.dismiss()
407
- // disableInteractions hides the long-press → context menu
408
- // (delete / edit / reply / react). Mirrors web's config gate.
409
- ,
410
- onLongPress: config?.disableInteractions ? undefined : handleLongPress,
411
- delayLongPress: 500,
412
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(CustomMessageBubble, {
413
- ref: bubbleRef,
414
- collapsable: false,
415
- isUser: isUser,
416
- deleted: message.isDeleted,
417
- isMedia: message?.isMediafile === 'true' && !message?.isDeleted,
418
- children: [!isUser && hasRealSenderName && /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomUserName
419
- // Historically `config.colors.primary` with a plain-text
420
- // fallback; theme.primary carries the same value in light
421
- // mode and the dark accent in dark mode.
422
- , {
423
- color: config?.colors?.primary ? theme.primary : undefined,
424
- media: message?.isMediafile === 'true',
425
- fontSize: config?.typography?.senderName?.fontSize,
426
- fontWeight: config?.typography?.senderName?.fontWeight,
427
- children: senderDisplayName
428
- }), !isReply && message.mainMessage && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageReply.MessageReply, {
429
- handleReplyMessage: handleReplyMessage,
430
- isUser: isUser,
431
- text: JSON.parse(message.mainMessage).text,
432
- color: theme.primary
433
- }), message?.isMediafile === 'true' && !message?.isDeleted ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_MediaMessage.default, {
434
- mimeType: message.mimetype,
435
- messageText: message.locationPreview,
436
- location: message?.location,
437
- message: message,
438
- isUser: isUser
439
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
440
- children: message.isDeleted && message.id !== 'delimiter-new' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_DeletedMessage.DeletedMessage, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomMessageText, {
427
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
428
+ gesture: longPress,
429
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable
430
+ // The Pressable fills the row's content area, so the bubble
431
+ // inside must be aligned to the sender's side — otherwise it
432
+ // hugs the left and own media bubbles sit with a right-side
433
+ // gap (text bubbles only looked right because they're narrow).
434
+ // flex-end for own, flex-start for others.
435
+ , {
436
+ style: {
437
+ flex: 1,
438
+ alignItems: isUser ? 'flex-end' : 'flex-start'
439
+ }
440
+ // A plain tap anywhere on a message bubble dismisses the
441
+ // keyboard. The FlatList's keyboardShouldPersistTaps="handled"
442
+ // already dismisses taps on the empty GAPS between bubbles, but
443
+ // the bubble Pressable itself is a touch responder, so taps that
444
+ // landed on a message were "handled" and the keyboard stayed —
445
+ // which is exactly the "closes only every other time" symptom
446
+ // (hit a gap → close, hit a bubble → stay). Explicitly dismissing
447
+ // here makes it reliable across the whole list. onPress does NOT
448
+ // fire when onLongPress fires, so opening MessageInteractions via
449
+ // long-press never triggers this dismiss.
450
+ ,
451
+ onPress: () => _reactNative.Keyboard.dismiss(),
452
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
453
+ style: {
454
+ transform: [{
455
+ scale: lift
456
+ }]
457
+ },
458
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(CustomMessageBubble, {
459
+ ref: bubbleRef,
460
+ collapsable: false,
441
461
  isUser: isUser,
442
- fontSize: config?.typography?.messageText?.fontSize,
443
- fontWeight: config?.typography?.messageText?.fontWeight,
444
- children: showInlineTranslation ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_TranslatedMessageBody.default, {
462
+ deleted: message.isDeleted,
463
+ isMedia: message?.isMediafile === 'true' && !message?.isDeleted,
464
+ children: [!isUser && hasRealSenderName && /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomUserName
465
+ // Historically `config.colors.primary` with a plain-text
466
+ // fallback; theme.primary carries the same value in light
467
+ // mode and the dark accent in dark mode.
468
+ , {
469
+ color: config?.colors?.primary ? theme.primary : undefined,
470
+ media: message?.isMediafile === 'true',
471
+ fontSize: config?.typography?.senderName?.fontSize,
472
+ fontWeight: config?.typography?.senderName?.fontWeight,
473
+ children: senderDisplayName
474
+ }), !isReply && !!replyRef?.text && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageReply.MessageReply, {
475
+ handleReplyMessage: handleReplyMessage,
445
476
  isUser: isUser,
446
- originalText: translationDisplay.originalText,
447
- accentColor: theme.primary,
448
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
449
- children: messageText
477
+ text: replyRef.text,
478
+ userName: replyRef.userName,
479
+ color: theme.primary
480
+ }), message?.isMediafile === 'true' && !message?.isDeleted ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_MediaMessage.default, {
481
+ mimeType: message.mimetype,
482
+ messageText: message.locationPreview,
483
+ location: message?.location,
484
+ message: message,
485
+ isUser: isUser
486
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
487
+ children: message.isDeleted && message.id !== 'delimiter-new' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_DeletedMessage.DeletedMessage, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomMessageText, {
488
+ isUser: isUser,
489
+ fontSize: config?.typography?.messageText?.fontSize,
490
+ fontWeight: config?.typography?.messageText?.fontWeight,
491
+ children: showInlineTranslation ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_TranslatedMessageBody.default, {
492
+ isUser: isUser,
493
+ originalText: translationDisplay.originalText,
494
+ accentColor: theme.primary,
495
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
496
+ children: messageText
497
+ })
498
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
499
+ children: messageText
500
+ })
450
501
  })
451
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
452
- children: messageText
453
- })
454
- })
455
- }), !isUser && isTranslatesEnabled && effectiveTranslateMode === 'manual' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageTranslate.default, {
456
- message: message,
457
- config: config,
458
- isUser: isUser,
459
- readerLocale: readerLocale
460
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(CustomTimestampRow, {
461
- media: message?.isMediafile === 'true',
462
- children: [!config?.disableSentLogic && isUser && isPending && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
463
- style: [styles.timestampText, themedStyles.muted],
464
- children: "sending..."
465
- }), !config?.disableSentLogic && isUser && isFailed && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
466
- onPress: onRetryPress,
467
- style: [styles.failedText, themedStyles.failed],
468
- accessibilityRole: "button",
469
- accessibilityLabel: "Retry sending message",
470
- children: "! Failed \u2014 tap to retry"
471
- }), message?.isEdited && !message?.isDeleted && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
472
- style: [styles.editedText, themedStyles.muted],
473
- children: "edited"
474
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
475
- style: [styles.timestampText, themedStyles.muted],
476
- children: new Date(message.date).toLocaleTimeString([], {
477
- hour: '2-digit',
478
- minute: '2-digit'
479
- })
480
- }), !config?.disableSentLogic && isUser && !isPending && !isFailed && /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.DoubleTick, {})]
481
- }), message?.reply?.length && message?.reply?.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_BottomReplyContainer.BottomReplyContainer, {
482
- isUser: isUser,
483
- onClick: handleReplyMessage,
484
- reply: message?.reply
485
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_StyledComponents.MessageFooter, {
486
- isUser: isUser,
487
- children: message.reaction && !config?.disableReactions && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageReaction.MessageReaction, {
488
- reaction: message.reaction,
489
- changeReaction: handleReactionMessage,
490
- color: theme.primary,
491
- userName: `${user.firstName} ${user.lastName}`
492
- })
493
- })]
502
+ }), !isUser && isTranslatesEnabled && effectiveTranslateMode === 'manual' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageTranslate.default, {
503
+ message: message,
504
+ config: config,
505
+ isUser: isUser,
506
+ readerLocale: readerLocale
507
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(CustomTimestampRow, {
508
+ media: message?.isMediafile === 'true',
509
+ children: [!config?.disableSentLogic && isUser && isPending && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
510
+ style: [styles.timestampText, themedStyles.muted],
511
+ children: "sending..."
512
+ }), !config?.disableSentLogic && isUser && isFailed && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
513
+ onPress: onRetryPress,
514
+ style: [styles.failedText, themedStyles.failed],
515
+ accessibilityRole: "button",
516
+ accessibilityLabel: "Retry sending message",
517
+ children: "! Failed \u2014 tap to retry"
518
+ }), message?.isEdited && !message?.isDeleted && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
519
+ style: [styles.editedText, themedStyles.muted],
520
+ children: "edited"
521
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
522
+ style: [styles.timestampText, themedStyles.muted],
523
+ children: timeLabel
524
+ }), !config?.disableSentLogic && isUser && !isPending && !isFailed && /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.DoubleTick, {})]
525
+ })]
526
+ }), (!isReply && (message?.reply?.length || 0) > 0 || !!message.reaction && (0, _reactionsConfig.reactionsEnabled)(config)) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
527
+ style: [styles.reactionRow, isUser ? styles.reactionRowUser : styles.reactionRowOther],
528
+ children: [!isReply && (message?.reply?.length || 0) > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_BottomReplyContainer.BottomReplyContainer, {
529
+ isUser: isUser,
530
+ onClick: handleReplyMessage,
531
+ reply: message.reply
532
+ }), message.reaction && (0, _reactionsConfig.reactionsEnabled)(config) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageReaction.MessageReaction, {
533
+ reaction: message.reaction,
534
+ changeReaction: handleReactionMessage,
535
+ color: theme.primary,
536
+ userName: `${user.firstName || ''} ${user.lastName || ''}`.trim(),
537
+ interactive: !config?.disableInteractions
538
+ })]
539
+ })]
540
+ })
494
541
  })
495
542
  })]
496
543
  }), !config?.disableInteractions && isPressed && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageInteractions.default, {
@@ -502,11 +549,16 @@ const Message = ({
502
549
  handleReplyMessage: handleReplyMessage,
503
550
  handleDeleteMessage: handleDeleteMessage,
504
551
  handleEditMessage: handleEditMessage,
505
- handleReactionMessage: handleReactionMessage
552
+ handleReactionMessage: handleReactionMessage,
553
+ onOpenEmojiPicker: () => setEmojiPickerOpen(true)
554
+ }), emojiPickerOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_EmojiPickerSheet.EmojiPickerSheet, {
555
+ visible: true,
556
+ onClose: () => setEmojiPickerOpen(false),
557
+ onPick: handleReactionMessage
506
558
  })]
507
559
  });
508
560
  };
509
- exports.Message = Message;
561
+ const MemoMessage = exports.Message = /*#__PURE__*/_react.default.memo(Message);
510
562
  const styles = _reactNative.StyleSheet.create({
511
563
  customMessageContainer: {
512
564
  flexDirection: 'row',
@@ -514,6 +566,22 @@ const styles = _reactNative.StyleSheet.create({
514
566
  alignItems: 'flex-end',
515
567
  position: 'relative'
516
568
  },
569
+ reactionRow: {
570
+ marginTop: -10,
571
+ zIndex: 1,
572
+ flexDirection: 'row',
573
+ flexWrap: 'wrap',
574
+ alignItems: 'center',
575
+ gap: 6
576
+ },
577
+ reactionRowUser: {
578
+ alignSelf: 'flex-end',
579
+ marginRight: 8
580
+ },
581
+ reactionRowOther: {
582
+ alignSelf: 'flex-start',
583
+ marginLeft: 8
584
+ },
517
585
  overlay: {
518
586
  ..._reactNative.StyleSheet.absoluteFill,
519
587
  position: 'absolute',
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactRedux","_Avatar","_MessageInteractions","_interopRequireDefault","_BottomReplyContainer","_MessageReply","_DeletedMessage","_chatSettingsSlice","_MODAL_TYPES","_roomsSlice","_native","_MediaMessage","_MessageTranslate","_isUnresolvedSenderId","_TranslatedMessageBody","_useMessageTranslation","_translateModePolicy","_useChatSettingState","_parseMessageBody","_typography","_useMessageHeapState","_icons","_xmppProvider","_useSendMessage","_MessageReaction","_StyledComponents","_useTheme","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CustomMessageContainer","styled","View","isUser","props","reply","CustomMessageBubble","isMedia","deleted","backgroundMessageUser","backgroundMessage","theme","systemMessageBackground","messageBackgroundUser","messageBackground","CustomMessageText","Text","fontSize","fontWeight","color","colorUser","messageTextUser","messageText","CustomMessagePhoto","Image","CustomMessagePhotoContainer","TouchableOpacity","CustomUserName","media","text","CustomMessageTimestamp","textMuted","CustomTimestampRow","Message","message","isReply","dispatch","useDispatch","client","useXmppClient","config","langSource","user","translateMode","useChatSettingState","useTheme","themedStyles","useMemo","muted","failed","danger","isTranslatesEnabled","Boolean","translates","enabled","enableTranslates","effectiveTranslateMode","resolveTranslateMode","isAutoTranslate","readerLocale","i18n","locale","translationDisplay","useMessageTranslation","usersSet","useSelector","state","rooms","senderRawId","String","id","senderLocal","split","senderEntry","senderDisplayName","firstName","lastName","trim","name","hasRealSenderName","isUnresolvedSenderId","senderProfileImage","profileImage","idSet","failedIdSet","useMessageHeapState","retryMessage","useSendMessage","isPressed","setIsPressed","useState","__DEV__","globalThis","__loggedMsg","contextMenuPosition","setContextMenuPosition","timerRef","useRef","messageRef","bubbleRef","handleUserAvatarClick","setActiveModal","MODAL_TYPES","PROFILE","setSelectedUser","handleReplyMessage","setEditAction","isEdit","mainMessage","messageCore","JSON","parse","setActiveMessage","chatJID","roomJid","handleDeleteMessage","setDeleteModal","isDeleteModal","messageId","handleEditMessage","body","handleReactionMessage","emoji","reaction","sendMessageReactionStanza","xmppUsername","includes","filterEmoji","filter","handleLongPress","target","current","measureInWindow","x","y","width","height","left","right","top","bottom","nodeHandle","findNodeHandle","UIManager","measure","_x","_y","pageX","pageY","bodyTextStyle","chatTextStyle","typography","showInlineTranslation","hasTranslation","bodyToRender","displayText","messageTextFilter","parseMessageBody","filterFunction","isFailed","isPending","pending","onRetryPress","jsxs","children","jsx","style","styles","overlay","ref","customMessageContainer","justifyContent","marginBottom","length","keys","transform","scale","paddingRight","undefined","onPress","disableProfilesInteractions","disabled","accessible","source","uri","Avatar","username","Pressable","flex","alignItems","Keyboard","dismiss","onLongPress","disableInteractions","delayLongPress","collapsable","isDeleted","isMediafile","colors","primary","senderName","MessageReply","mimeType","mimetype","locationPreview","location","Fragment","DeletedMessage","originalText","accentColor","disableSentLogic","timestampText","failedText","accessibilityRole","accessibilityLabel","isEdited","editedText","Date","date","toLocaleTimeString","hour","minute","DoubleTick","BottomReplyContainer","onClick","MessageFooter","disableReactions","MessageReaction","changeReaction","userName","position","closeMenu","exports","StyleSheet","create","flexDirection","padding","absoluteFill","timestamp","marginTop","alignSelf","marginRight","timestampRow","gap","lineHeight","includeFontPadding","textAlignVertical","fontStyle"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/Message.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactRedux","_Avatar","_MessageInteractions","_interopRequireDefault","_BottomReplyContainer","_MessageReply","_parseMessageReference","_DeletedMessage","_chatSettingsSlice","_MODAL_TYPES","_roomsSlice","_native","_MediaMessage","_MessageTranslate","_isUnresolvedSenderId","_TranslatedMessageBody","_useMessageTranslation","_translateModePolicy","_useChatSettingState","_parseMessageBody","_typography","_useMessageHeapState","_icons","_xmppProvider","_useSendMessage","_MessageReaction","_EmojiPickerSheet","_reactionsConfig","_reactNativeGestureHandler","_haptics","_useTheme","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CustomMessageContainer","styled","View","isUser","props","reply","CustomMessageBubble","isMedia","deleted","backgroundMessageUser","backgroundMessage","theme","systemMessageBackground","messageBackgroundUser","messageBackground","CustomMessageText","Text","fontSize","fontWeight","color","colorUser","messageTextUser","messageText","CustomMessagePhoto","Image","CustomMessagePhotoContainer","TouchableOpacity","CustomUserName","media","text","CustomMessageTimestamp","textMuted","CustomTimestampRow","clockCache","Map","formatClock","date","key","String","cached","undefined","d","Date","label","Number","isNaN","getTime","getHours","padStart","getMinutes","size","clear","Message","message","isReply","dispatch","useDispatch","client","useXmppClient","config","langSource","user","translateMode","useChatSettingState","useTheme","themedStyles","useMemo","muted","failed","danger","isTranslatesEnabled","Boolean","translates","enabled","enableTranslates","effectiveTranslateMode","resolveTranslateMode","isAutoTranslate","readerLocale","i18n","locale","translationDisplay","useMessageTranslation","usersSet","useSelector","state","rooms","senderRawId","id","senderLocal","split","senderEntry","senderDisplayName","firstName","lastName","trim","name","hasRealSenderName","isUnresolvedSenderId","senderProfileImage","profileImage","idSet","failedIdSet","useMessageHeapState","retryMessage","useSendMessage","isPressed","setIsPressed","useState","emojiPickerOpen","setEmojiPickerOpen","contextMenuPosition","setContextMenuPosition","timerRef","useRef","messageRef","bubbleRef","handleUserAvatarClick","setActiveModal","MODAL_TYPES","PROFILE","setSelectedUser","replyRef","parseMessageReference","handleReplyMessage","setEditAction","isEdit","parent","setActiveMessage","chatJID","roomJid","handleDeleteMessage","setDeleteModal","isDeleteModal","messageId","handleEditMessage","body","handleReactionMessage","emoji","reactionsEnabled","disableInteractions","sender","own","reaction","xmppUsername","next","includes","filter","sendMessageReactionStanza","handleLongPress","target","current","measureInWindow","x","y","width","height","left","right","top","bottom","nodeHandle","findNodeHandle","UIManager","measure","_x","_y","pageX","pageY","longPress","Gesture","LongPress","runOnJS","minDuration","maxDistance","onStart","hapticTap","lift","Animated","Value","useEffect","spring","toValue","useNativeDriver","speed","bounciness","start","bodyTextStyle","chatTextStyle","typography","showInlineTranslation","hasTranslation","bodyToRender","displayText","textFilter","messageTextFilter","parseMessageBody","filterFunction","timeLabel","isFailed","isPending","pending","onRetryPress","jsxs","children","jsx","style","styles","overlay","ref","customMessageContainer","justifyContent","marginBottom","onPress","disableProfilesInteractions","disabled","accessible","source","uri","Avatar","username","GestureDetector","gesture","Pressable","flex","alignItems","Keyboard","dismiss","transform","scale","collapsable","isDeleted","isMediafile","colors","primary","senderName","MessageReply","userName","mimeType","mimetype","locationPreview","location","Fragment","DeletedMessage","originalText","accentColor","disableSentLogic","timestampText","failedText","accessibilityRole","accessibilityLabel","isEdited","editedText","DoubleTick","length","reactionRow","reactionRowUser","reactionRowOther","BottomReplyContainer","onClick","MessageReaction","changeReaction","interactive","position","closeMenu","onOpenEmojiPicker","EmojiPickerSheet","visible","onClose","onPick","MemoMessage","exports","React","memo","StyleSheet","create","flexDirection","padding","marginTop","zIndex","flexWrap","gap","alignSelf","marginRight","marginLeft","absoluteFill","timestamp","timestampRow","lineHeight","includeFontPadding","textAlignVertical","fontStyle"],"sourceRoot":"../../../../src","sources":["components/MessageBubble/Message.tsx"],"mappings":"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","ignoreList":[]}