@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
@@ -1 +1 @@
1
- {"version":3,"names":["useSafeAreaInsets","React","useMemo","View","StyleSheet","Image","Text","ProfileImagePlaceholder","useChatSettingState","BurgerMenuIcon","Button","useTheme","useT","jsx","_jsx","jsxs","_jsxs","HeaderRoomList","setDrawerOpen","config","user","selectedUser","theme","t","insets","topInset","headerLayout","safeAreaTop","top","modalUser","HeaderLogo","image","headerLogo","SvgComponent","source","uri","backgroundChat","style","styles","headerContainer","backgroundColor","surface","shadowColor","shadow","paddingTop","children","disableRoomMenu","headerMenu","leftContainer","testID","menuButton","color","unstyled","EndIcon","icon","onPress","centerContainer","fontWeight","fontSize","text","rightContainer","profileImage","name","firstName","size","click","isClick","create","flexDirection","alignItems","paddingHorizontal","paddingBottom","minHeight","justifyContent","borderBottomLeftRadius","borderBottomRightRadius","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","zIndex","padding","borderRadius","position","left","right"],"sourceRoot":"../../../../src","sources":["components/Header/HeaderRoomList.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useSafeAreaInsets","React","useMemo","View","StyleSheet","Image","Text","ProfileImagePlaceholder","useChatSettingState","BurgerMenuIcon","Button","useTheme","useT","resolveHeaderHeight","jsx","_jsx","jsxs","_jsxs","HeaderRoomList","setDrawerOpen","config","user","selectedUser","theme","t","insets","topInset","headerLayout","safeAreaTop","top","headerHeight","height","modalUser","HeaderLogo","image","headerLogo","SvgComponent","source","uri","backgroundChat","style","styles","headerContainer","backgroundColor","surface","shadowColor","shadow","paddingTop","children","disableRoomMenu","headerMenu","leftContainer","testID","menuButton","color","unstyled","EndIcon","icon","onPress","centerContainer","fontWeight","fontSize","text","rightContainer","profileImage","name","firstName","size","click","isClick","create","flexDirection","alignItems","paddingHorizontal","justifyContent","borderBottomLeftRadius","borderBottomRightRadius","shadowOffset","width","shadowOpacity","shadowRadius","elevation","zIndex","padding","borderRadius","position","left","right","bottom"],"sourceRoot":"../../../../src","sources":["components/Header/HeaderRoomList.tsx"],"mappings":"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","ignoreList":[]}
@@ -11,14 +11,13 @@ import Button from '../styled/Button';
11
11
  import { BackIcon, BurgerMenuIcon } from '../../assets/icons';
12
12
  import { CallButtons } from '../VideoCalls/CallButtons';
13
13
  import { LanguageSelectorButton } from './LanguageSelectorButton';
14
- import { useDispatch } from 'react-redux';
14
+ import { useDispatch, useSelector, useStore } from 'react-redux';
15
15
  import Composing from '../styled/StyledInputComponents/Composing';
16
16
  import { deleteRoom, setCurrentRoom, setIsLoading } from '../../roomStore/roomsSlice';
17
17
  import { useXmppClient } from '../../context/xmppProvider';
18
18
  import { setActiveModal } from '../../roomStore/chatSettingsSlice';
19
19
  import { MODAL_TYPES } from '../../helpers/constants/MODAL_TYPES';
20
20
  import { RoomMenu } from '../MenuRoom/MenuRoom';
21
- import { useRoomState } from '../../hooks/useRoomState';
22
21
  import { useChatSettingState } from '../../hooks/useChatSettingState';
23
22
  import { useFileToken } from '../../hooks/useFileToken';
24
23
  import { appendFileToken } from '../../helpers/secureFileUrl';
@@ -38,15 +37,14 @@ const ChatHeader = ({
38
37
  const {
39
38
  client
40
39
  } = useXmppClient();
41
- const {
42
- roomsList,
43
- activeRoomJID
44
- } = useRoomState(currentRoom.jid);
45
- const roomState = useRoomState(currentRoom.jid).room;
46
- const composing = roomState?.composing;
40
+ const reduxStore = useStore();
41
+ const activeRoomJID = useSelector(state => state.rooms.activeRoomJID);
42
+ const roomState = useSelector(state => currentRoom?.jid ? state.rooms.rooms?.[currentRoom.jid] : undefined);
47
43
  const {
48
44
  config
49
45
  } = useChatSettingState();
46
+ const roomsList = useSelector(state => config?.chatHeaderBurgerMenu ? state.rooms.rooms : null);
47
+ const composing = roomState?.composing;
50
48
  const theme = useTheme();
51
49
  const t = useT();
52
50
  const handleChangeChat = chat => {
@@ -63,13 +61,13 @@ const ChatHeader = ({
63
61
  dispatch(deleteRoom({
64
62
  jid: activeRoomJID
65
63
  }));
66
- const nextRoomJID = Object.keys(roomsList)[0] || null;
64
+ const nextRoomJID = Object.keys(reduxStore.getState().rooms.rooms || {})[0] || null;
67
65
  if (nextRoomJID) {
68
66
  dispatch(setCurrentRoom({
69
67
  roomJID: nextRoomJID
70
68
  }));
71
69
  }
72
- }, [activeRoomJID, roomsList, dispatch, client]);
70
+ }, [activeRoomJID, reduxStore, dispatch, client]);
73
71
  const handleHeaderChatMenu = () => {
74
72
  Keyboard.dismiss();
75
73
  config?.headerChatMenu && config?.headerChatMenu();
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useSafeAreaInsets","CenterContainer","ChatContainerHeader","ChatContainerHeaderBoxInfo","ChatContainerHeaderInfo","ChatContainerHeaderLabel","RoomList","ProfileImagePlaceholder","Button","BackIcon","BurgerMenuIcon","CallButtons","LanguageSelectorButton","useDispatch","Composing","deleteRoom","setCurrentRoom","setIsLoading","useXmppClient","setActiveModal","MODAL_TYPES","RoomMenu","useRoomState","useChatSettingState","useFileToken","appendFileToken","View","StyleSheet","Text","Keyboard","getIconColor","useTheme","resolveHeaderHeight","getElementFont","useT","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ChatHeader","currentRoom","handleBackClick","fileToken","dispatch","client","roomsList","activeRoomJID","jid","roomState","room","composing","config","theme","t","handleChangeChat","chat","roomJID","chatJID","loading","handleLeaveClick","leaveTheRoomStanza","nextRoomJID","Object","keys","handleHeaderChatMenu","dismiss","headerChatMenu","openChatInfo","CHAT_PROFILE","insets","topInset","headerLayout","safeAreaTop","top","headerHeight","height","children","style","paddingTop","paddingBottom","styles","leftContainer","EndIcon","color","textSecondary","onPress","disableChatHeaderBurgerMenuIcon","menuButton","text","unstyled","minHeight","rightSpace","disableRoomConfig","leftSpace","chatHeaderBurgerMenu","chats","values","burgerMenu","onRoomClick","disabled","disableChatInfo","disableChatHeaderMenu","name","title","size","icon","active","click","undefined","isClick","numberOfLines","ellipsizeMode","fontSize","typography","headerTitle","fontWeight","usersTyping","composingList","disableUserCount","subLabel","Number","usersCnt","count","rightContainer","disableRoomMenu","chatHeaderAdditional","enabled","element","create","padding","borderRadius","backgroundColor","alignItems","width","flexDirection","justifyContent","gap","flexShrink"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ChatHeader.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useSafeAreaInsets","CenterContainer","ChatContainerHeader","ChatContainerHeaderBoxInfo","ChatContainerHeaderInfo","ChatContainerHeaderLabel","RoomList","ProfileImagePlaceholder","Button","BackIcon","BurgerMenuIcon","CallButtons","LanguageSelectorButton","useDispatch","useSelector","useStore","Composing","deleteRoom","setCurrentRoom","setIsLoading","useXmppClient","setActiveModal","MODAL_TYPES","RoomMenu","useChatSettingState","useFileToken","appendFileToken","View","StyleSheet","Text","Keyboard","getIconColor","useTheme","resolveHeaderHeight","getElementFont","useT","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ChatHeader","currentRoom","handleBackClick","fileToken","dispatch","client","reduxStore","activeRoomJID","state","rooms","roomState","jid","undefined","config","roomsList","chatHeaderBurgerMenu","composing","theme","t","handleChangeChat","chat","roomJID","chatJID","loading","handleLeaveClick","leaveTheRoomStanza","nextRoomJID","Object","keys","getState","handleHeaderChatMenu","dismiss","headerChatMenu","openChatInfo","CHAT_PROFILE","insets","topInset","headerLayout","safeAreaTop","top","headerHeight","height","children","style","paddingTop","paddingBottom","styles","leftContainer","EndIcon","color","textSecondary","onPress","disableChatHeaderBurgerMenuIcon","menuButton","text","unstyled","minHeight","rightSpace","disableRoomConfig","leftSpace","chats","values","burgerMenu","onRoomClick","disabled","disableChatInfo","disableChatHeaderMenu","name","title","size","icon","active","click","isClick","numberOfLines","ellipsizeMode","fontSize","typography","headerTitle","fontWeight","usersTyping","composingList","disableUserCount","subLabel","Number","usersCnt","count","rightContainer","disableRoomMenu","chatHeaderAdditional","enabled","element","create","padding","borderRadius","backgroundColor","alignItems","width","flexDirection","justifyContent","gap","flexShrink"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ChatHeader.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@
4
4
 
5
5
  import React, { useState, useEffect, useCallback, useRef } from 'react';
6
6
  import { ChatContainer, NonRoomChat } from '../styled/StyledComponents';
7
- import { useDispatch } from 'react-redux';
7
+ import { useDispatch, useSelector, useStore } from 'react-redux';
8
8
  import MessageList from './MessageList';
9
9
  import SendInput from '../styled/SendInput';
10
10
  import { clearReadBoundary, clearVisibleRoom, deleteRoomMessage, setEditAction, setLastViewedTimestamp, setReadBoundary, setVisibleRoom } from '../../roomStore/roomsSlice';
@@ -20,7 +20,6 @@ import { getChatBackgroundColor } from '../../helpers/getChatBackground';
20
20
  import { ChooseChatMessage } from './ChooseChatMessage';
21
21
  import { useSendMessage } from '../../hooks/useSendMessage';
22
22
  import { useRoomInitialization } from '../../hooks/useRoomInitialization';
23
- import { useRoomState } from '../../hooks/useRoomState';
24
23
  import { useChatSettingState } from '../../hooks/useChatSettingState';
25
24
  import { useTheme } from '../../hooks/useTheme';
26
25
  import { isOwnMessage } from '../../helpers/isOwnMessage';
@@ -29,12 +28,14 @@ import CustomTypingIndicator from '../styled/StyledInputComponents/CustomTypingI
29
28
 
30
29
  import { AppState, Keyboard, Platform, View } from 'react-native';
31
30
  import { KeyboardAvoidingView, KeyboardStickyView } from 'react-native-keyboard-controller';
31
+ import { KeyboardInputDock } from './KeyboardInputDock';
32
32
  import useComposing from '../../hooks/useComposing';
33
33
  import { store } from '../../roomStore';
34
34
  import { getFlushBoundaryTs, getReadMarkerTimestamp } from '../../helpers/getServerReadTimestamp';
35
35
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
36
- import { getInputDockPaddingBottom, getKeyboardVerticalOffset } from '../../helpers/keyboardLayout';
36
+ import { getInputDockPaddingBottom, getKeyboardVerticalOffset, getKeyboardAvoidingOffset, getInputDockKeyboardPadding } from '../../helpers/keyboardLayout';
37
37
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
38
+ const EMPTY_MESSAGES = [];
38
39
  const ChatRoom = /*#__PURE__*/React.memo(({
39
40
  CustomMessageComponent,
40
41
  CustomInputComponent,
@@ -67,14 +68,14 @@ const ChatRoom = /*#__PURE__*/React.memo(({
67
68
  }
68
69
  return storeConfig;
69
70
  }, [storeConfig, propsEventHandlers]);
70
- const {
71
- roomsList,
72
- activeRoomJID,
73
- editAction,
74
- loading,
75
- globalLoading,
76
- roomMessages
77
- } = useRoomState();
71
+ const reduxStore = useStore();
72
+ const activeRoomJID = useSelector(state => state.rooms.activeRoomJID);
73
+ const activeRoom = useSelector(state => activeRoomJID ? state.rooms.rooms?.[activeRoomJID] : undefined);
74
+ const hasRooms = useSelector(state => Object.keys(state.rooms.rooms || {}).length > 0);
75
+ const editAction = useSelector(state => state.rooms.editAction);
76
+ const globalLoading = useSelector(state => state.rooms.isLoading);
77
+ const loading = !!activeRoom?.isLoading;
78
+ const roomMessages = activeRoom?.messages || EMPTY_MESSAGES;
78
79
  const {
79
80
  sendMessage: sendMs,
80
81
  sendMedia: sendMessageMedia,
@@ -135,10 +136,11 @@ const ChatRoom = /*#__PURE__*/React.memo(({
135
136
  return sendMessageMedia(data, type, activeRoomJID || '');
136
137
  }, [activeRoomJID]);
137
138
  const loadMoreMessages = useCallback(async (chatJID, max, idOfMessageBefore) => {
138
- if (isLoadingMore || roomsList?.[chatJID]?.historyComplete) {
139
+ const room = reduxStore.getState().rooms.rooms?.[chatJID];
140
+ if (isLoadingMore || room?.historyComplete) {
139
141
  return;
140
142
  }
141
- const lastMsgId = typeof idOfMessageBefore !== 'string' ? idOfMessageBefore : Number(roomsList[chatJID].messages[roomsList[chatJID].messages.length - 2]?.id);
143
+ const lastMsgId = typeof idOfMessageBefore !== 'string' ? idOfMessageBefore : Number(room?.messages?.[(room?.messages?.length || 0) - 2]?.id);
142
144
  setIsLoadingMore(true);
143
145
  try {
144
146
  // Return the promise so MessageList's `await loadMoreMessages`
@@ -152,7 +154,7 @@ const ChatRoom = /*#__PURE__*/React.memo(({
152
154
  }
153
155
  },
154
156
  // eslint-disable-next-line react-hooks/exhaustive-deps
155
- [client?.client?.jid, isLoadingMore, roomsList]);
157
+ [client?.client?.jid, isLoadingMore, reduxStore]);
156
158
  const onCloseEdit = () => {
157
159
  dispatch(setEditAction({
158
160
  isEdit: false
@@ -275,13 +277,13 @@ const ChatRoom = /*#__PURE__*/React.memo(({
275
277
  // hooks useEffects
276
278
  // useRoomUrl(activeRoomJID || "", roomsList, config);
277
279
 
278
- useRoomInitialization(activeRoomJID || '', roomsList, configWithEventHandlers || storeConfig || {}, roomMessages.length);
279
- if (Object.keys(roomsList)?.length < 1 && !loading && !globalLoading) {
280
+ useRoomInitialization(activeRoomJID || '', configWithEventHandlers || storeConfig || {});
281
+ if (!hasRooms && !loading && !globalLoading) {
280
282
  return /*#__PURE__*/_jsx(NonRoomChat, {
281
283
  children: /*#__PURE__*/_jsx(NewChatModal, {})
282
284
  });
283
285
  }
284
- if (!activeRoomJID || !roomsList?.[activeRoomJID]) {
286
+ if (!activeRoomJID || !activeRoom) {
285
287
  return /*#__PURE__*/_jsx(ChooseChatMessage, {});
286
288
  }
287
289
  const keyboardVerticalOffset = getKeyboardVerticalOffset({
@@ -295,6 +297,13 @@ const ChatRoom = /*#__PURE__*/React.memo(({
295
297
  configuredPadding: configWithEventHandlers?.inputDockPaddingBottom,
296
298
  hostOwnsLayout: !!configWithEventHandlers?.disableKeyboardAvoidingView
297
299
  });
300
+ const keyboardAvoidingOffset = getKeyboardAvoidingOffset({
301
+ configuredOffset: configWithEventHandlers?.keyboardVerticalOffset ?? 0
302
+ });
303
+ const inputDockKeyboardPadding = getInputDockKeyboardPadding({
304
+ platform: Platform.OS,
305
+ inputDockPaddingBottom
306
+ });
298
307
 
299
308
  // Keyboard avoidance is delegated to react-native-keyboard-controller's
300
309
  // KeyboardAvoidingView. When the HOST app supplies its own keyboard
@@ -327,11 +336,15 @@ const ChatRoom = /*#__PURE__*/React.memo(({
327
336
  const avoidKeyboard = !noKeyboardHandling && !stickyInput;
328
337
  const KeyboardWrapper = avoidKeyboard ? KeyboardAvoidingView : View;
329
338
  const keyboardWrapperProps = avoidKeyboard ? {
339
+ // The dock's colour: the keyboard-height padding below the dock is
340
+ // this view's own box, and it shows around the keyboard's rounded
341
+ // top corners — it must read as a continuation of the dock.
330
342
  style: {
331
- flex: 1
343
+ flex: 1,
344
+ backgroundColor: theme.surface
332
345
  },
333
346
  behavior: 'padding',
334
- keyboardVerticalOffset
347
+ keyboardVerticalOffset: keyboardAvoidingOffset
335
348
  } : {
336
349
  style: {
337
350
  flex: 1
@@ -339,7 +352,11 @@ const ChatRoom = /*#__PURE__*/React.memo(({
339
352
  };
340
353
  // Input dock: a plain View normally; under the sticky strategy it becomes
341
354
  // a KeyboardStickyView so it (and only it) lifts with the keyboard.
342
- const InputDockTag = stickyInput ? KeyboardStickyView : View;
355
+ // Under the avoiding-view strategy the dock's safe-area padding collapses
356
+ // while the keyboard is open (KeyboardInputDock), so the composer is glued
357
+ // to the keyboard.
358
+ const collapsingDock = avoidKeyboard && inputDockKeyboardPadding !== inputDockPaddingBottom;
359
+ const InputDockTag = stickyInput ? KeyboardStickyView : collapsingDock ? KeyboardInputDock : View;
343
360
  const inputDockProps = {
344
361
  // The dock carries the composer's white surface all the way to the
345
362
  // bottom edge, so it needs the same rounded top and upward shadow —
@@ -363,6 +380,10 @@ const ChatRoom = /*#__PURE__*/React.memo(({
363
380
  closed: 0,
364
381
  opened: keyboardVerticalOffset
365
382
  }
383
+ } : {}),
384
+ ...(collapsingDock ? {
385
+ closedPadding: inputDockPaddingBottom,
386
+ openedPadding: inputDockKeyboardPadding
366
387
  } : {})
367
388
  };
368
389
  return /*#__PURE__*/_jsx(KeyboardWrapper, {
@@ -376,7 +397,7 @@ const ChatRoom = /*#__PURE__*/React.memo(({
376
397
  backgroundColor: getChatBackgroundColor(configWithEventHandlers)
377
398
  }, configWithEventHandlers?.chatRoomStyles],
378
399
  children: [!configWithEventHandlers?.disableHeader && /*#__PURE__*/_jsx(ChatHeader, {
379
- currentRoom: roomsList[activeRoomJID],
400
+ currentRoom: activeRoom,
380
401
  handleBackClick: handleBackClick
381
402
  }), configWithEventHandlers?.chatHeaderAdditional?.enabled && configWithEventHandlers.chatHeaderAdditional.element(), /*#__PURE__*/_jsx(View, {
382
403
  style: {
@@ -391,7 +412,7 @@ const ChatRoom = /*#__PURE__*/React.memo(({
391
412
  children: /*#__PURE__*/_jsx(Loader, {
392
413
  color: configWithEventHandlers?.colors?.primary
393
414
  })
394
- }) : Object.keys(roomsList).length < 1 || !activeRoomJID ? /*#__PURE__*/_jsx(View, {
415
+ }) : !hasRooms || !activeRoomJID ? /*#__PURE__*/_jsx(View, {
395
416
  style: {
396
417
  flex: 1,
397
418
  justifyContent: 'center',
@@ -433,9 +454,9 @@ const ChatRoom = /*#__PURE__*/React.memo(({
433
454
  newMessagesCount: 0,
434
455
  resetNewMessageCounter: () => {}
435
456
  },
436
- typingIndicator: roomsList[activeRoomJID]?.composing ? configWithEventHandlers?.customTypingIndicator?.customComponent ? /*#__PURE__*/_jsx(configWithEventHandlers.customTypingIndicator.customComponent, {
437
- usersTyping: roomsList[activeRoomJID]?.composingList || [],
438
- text: typeof configWithEventHandlers.customTypingIndicator.text === 'function' ? configWithEventHandlers.customTypingIndicator.text(roomsList[activeRoomJID]?.composingList || []) : configWithEventHandlers.customTypingIndicator.text || 'Typing...',
457
+ typingIndicator: activeRoom?.composing ? configWithEventHandlers?.customTypingIndicator?.customComponent ? /*#__PURE__*/_jsx(configWithEventHandlers.customTypingIndicator.customComponent, {
458
+ usersTyping: activeRoom?.composingList || [],
459
+ text: typeof configWithEventHandlers.customTypingIndicator.text === 'function' ? configWithEventHandlers.customTypingIndicator.text(activeRoom?.composingList || []) : configWithEventHandlers.customTypingIndicator.text || 'Typing...',
439
460
  isVisible: true
440
461
  }) : null : undefined,
441
462
  config: configWithEventHandlers
@@ -475,13 +496,13 @@ const ChatRoom = /*#__PURE__*/React.memo(({
475
496
  onBlur: sendEndComposing,
476
497
  isMessageProcessing: isLastMessageFromUserAndProcessing(activeRoomJID)
477
498
  })
478
- }), configWithEventHandlers?.customTypingIndicator?.enabled && (configWithEventHandlers.customTypingIndicator.position === 'overlay' || configWithEventHandlers.customTypingIndicator.position === 'floating') && roomsList[activeRoomJID]?.composing && /*#__PURE__*/_jsx(CustomTypingIndicator, {
479
- usersTyping: roomsList[activeRoomJID]?.composingList || ['User'],
499
+ }), configWithEventHandlers?.customTypingIndicator?.enabled && (configWithEventHandlers.customTypingIndicator.position === 'overlay' || configWithEventHandlers.customTypingIndicator.position === 'floating') && activeRoom?.composing && /*#__PURE__*/_jsx(CustomTypingIndicator, {
500
+ usersTyping: activeRoom?.composingList || ['User'],
480
501
  text: configWithEventHandlers.customTypingIndicator.text,
481
502
  position: configWithEventHandlers.customTypingIndicator.position,
482
503
  styles: configWithEventHandlers.customTypingIndicator.styles,
483
504
  customComponent: configWithEventHandlers.customTypingIndicator.customComponent,
484
- isVisible: roomsList[activeRoomJID]?.composing || false
505
+ isVisible: activeRoom?.composing || false
485
506
  })]
486
507
  })
487
508
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","useCallback","useRef","ChatContainer","NonRoomChat","useDispatch","MessageList","SendInput","clearReadBoundary","clearVisibleRoom","deleteRoomMessage","setEditAction","setLastViewedTimestamp","setReadBoundary","setVisibleRoom","Loader","useXmppClient","ChatHeader","NoMessagesPlaceholder","NewChatModal","EditWrapper","EmptyChatIllustration","getIconColor","getChatBackgroundColor","ChooseChatMessage","useSendMessage","useRoomInitialization","useRoomState","useChatSettingState","useTheme","isOwnMessage","CustomTypingIndicator","AppState","Keyboard","Platform","View","KeyboardAvoidingView","KeyboardStickyView","useComposing","store","getFlushBoundaryTs","getReadMarkerTimestamp","useSafeAreaInsets","getInputDockPaddingBottom","getKeyboardVerticalOffset","jsx","_jsx","jsxs","_jsxs","ChatRoom","memo","CustomMessageComponent","CustomInputComponent","CustomScrollableArea","CustomDaySeparator","CustomNewMessageLabel","handleBackClick","eventHandlers","propsEventHandlers","client","dispatch","insets","theme","isLoadingMore","setIsLoadingMore","user","config","storeConfig","configWithEventHandlers","useMemo","roomsList","activeRoomJID","editAction","loading","globalLoading","roomMessages","sendMessage","sendMs","sendMedia","sendMessageMedia","sendEditMessage","isLastMessageFromUserAndProcessing","sendStartComposing","sendEndComposing","stickyInputEnabled","disableKeyboardAvoidingView","keyboardStickyInput","onAppStateChange","nextState","dismiss","subscription","addEventListener","remove","message","data","type","loadMoreMessages","chatJID","max","idOfMessageBefore","historyComplete","lastMsgId","Number","messages","length","id","getHistoryStanza","jid","onCloseEdit","isEdit","clientRef","current","lastBoundarySentRef","handleReadBoundaryChange","boundaryTs","next","ts","roomJID","state","getState","rooms","heapState","roomHeapSlice","readBoundaries","timestamp","liveClient","flushLastViewedToPrivateStoreStanza","visibleRoomJID","visibleRoomTs","catch","messageId","Object","keys","children","keyboardVerticalOffset","platform","OS","configuredOffset","bottomInset","bottom","inputDockPaddingBottom","configuredPadding","hostOwnsLayout","noKeyboardHandling","stickyInput","avoidKeyboard","KeyboardWrapper","keyboardWrapperProps","style","flex","behavior","InputDockTag","inputDockProps","paddingBottom","backgroundColor","surface","borderTopLeftRadius","borderTopRightRadius","shadowColor","shadow","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","offset","closed","opened","chatRoomStyles","disableHeader","currentRoom","chatHeaderAdditional","enabled","element","justifyContent","alignItems","color","colors","primary","panelColor","dark","surfaceSecondary","undefined","decoratedMessages","map","msg","idx","showDateLabel","Date","date","toDateString","isLoading","isReply","renderMessage","decorated","isUser","scrollController","scrollToBottom","waitForImagesLoaded","showScrollButton","newMessagesCount","resetNewMessageCounter","typingIndicator","composing","customTypingIndicator","customComponent","usersTyping","composingList","text","isVisible","CustomMessage","onReadBoundaryChange","onClose","onFocus","onBlur","isMessageProcessing","editMessage","position","styles"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ChatRoom.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useEffect","useCallback","useRef","ChatContainer","NonRoomChat","useDispatch","useSelector","useStore","MessageList","SendInput","clearReadBoundary","clearVisibleRoom","deleteRoomMessage","setEditAction","setLastViewedTimestamp","setReadBoundary","setVisibleRoom","Loader","useXmppClient","ChatHeader","NoMessagesPlaceholder","NewChatModal","EditWrapper","EmptyChatIllustration","getIconColor","getChatBackgroundColor","ChooseChatMessage","useSendMessage","useRoomInitialization","useChatSettingState","useTheme","isOwnMessage","CustomTypingIndicator","AppState","Keyboard","Platform","View","KeyboardAvoidingView","KeyboardStickyView","KeyboardInputDock","useComposing","store","getFlushBoundaryTs","getReadMarkerTimestamp","useSafeAreaInsets","getInputDockPaddingBottom","getKeyboardVerticalOffset","getKeyboardAvoidingOffset","getInputDockKeyboardPadding","jsx","_jsx","jsxs","_jsxs","EMPTY_MESSAGES","ChatRoom","memo","CustomMessageComponent","CustomInputComponent","CustomScrollableArea","CustomDaySeparator","CustomNewMessageLabel","handleBackClick","eventHandlers","propsEventHandlers","client","dispatch","insets","theme","isLoadingMore","setIsLoadingMore","user","config","storeConfig","configWithEventHandlers","useMemo","reduxStore","activeRoomJID","state","rooms","activeRoom","undefined","hasRooms","Object","keys","length","editAction","globalLoading","isLoading","loading","roomMessages","messages","sendMessage","sendMs","sendMedia","sendMessageMedia","sendEditMessage","isLastMessageFromUserAndProcessing","sendStartComposing","sendEndComposing","stickyInputEnabled","disableKeyboardAvoidingView","keyboardStickyInput","onAppStateChange","nextState","dismiss","subscription","addEventListener","remove","message","data","type","loadMoreMessages","chatJID","max","idOfMessageBefore","room","getState","historyComplete","lastMsgId","Number","id","getHistoryStanza","jid","onCloseEdit","isEdit","clientRef","current","lastBoundarySentRef","handleReadBoundaryChange","boundaryTs","next","ts","roomJID","heapState","roomHeapSlice","readBoundaries","timestamp","liveClient","flushLastViewedToPrivateStoreStanza","visibleRoomJID","visibleRoomTs","catch","messageId","children","keyboardVerticalOffset","platform","OS","configuredOffset","bottomInset","bottom","inputDockPaddingBottom","configuredPadding","hostOwnsLayout","keyboardAvoidingOffset","inputDockKeyboardPadding","noKeyboardHandling","stickyInput","avoidKeyboard","KeyboardWrapper","keyboardWrapperProps","style","flex","backgroundColor","surface","behavior","collapsingDock","InputDockTag","inputDockProps","paddingBottom","borderTopLeftRadius","borderTopRightRadius","shadowColor","shadow","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","offset","closed","opened","closedPadding","openedPadding","chatRoomStyles","disableHeader","currentRoom","chatHeaderAdditional","enabled","element","justifyContent","alignItems","color","colors","primary","panelColor","dark","surfaceSecondary","decoratedMessages","map","msg","idx","showDateLabel","Date","date","toDateString","isReply","renderMessage","decorated","isUser","scrollController","scrollToBottom","waitForImagesLoaded","showScrollButton","newMessagesCount","resetNewMessageCounter","typingIndicator","composing","customTypingIndicator","customComponent","usersTyping","composingList","text","isVisible","CustomMessage","onReadBoundaryChange","onClose","onFocus","onBlur","isMessageProcessing","editMessage","position","styles"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ChatRoom.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import React, { useEffect, useMemo, useRef, useState } from 'react';
3
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { useDispatch, useSelector } from 'react-redux';
5
5
  import ChatRoom from './ChatRoom';
6
+ import { RoomStack } from './RoomStack';
6
7
  import { setActiveModal, setConfig, setDeleteModal, setLangSource, setStoreClient } from '../../roomStore/chatSettingsSlice';
7
8
  import { resolveExternalReaderLocaleLangSource, resolveLegacyTranslatesLangSource } from '../../helpers/resolveLangSource';
8
9
  import { ChatWrapperBox } from '../styled/ChatWrapperBox';
@@ -17,11 +18,12 @@ import { refreshAuthTokensQuietly } from '../../networking/authRefresh';
17
18
  import RoomList from './RoomList';
18
19
  import { StyledLoaderWrapper } from '../styled/StyledComponents';
19
20
  import Modal from '../Modals/Modal/Modal';
21
+ import ThreadWrapper from '../Thread/ThreadWrapper';
20
22
  import { ModalWrapper } from '../Modals/ModalWrapper/ModalWrapper';
21
23
  import { useChatSettingState } from '../../hooks/useChatSettingState';
22
24
  import { useTheme } from '../../hooks/useTheme';
23
25
  import { usePendingNotification } from '../../hooks/usePendingNotification';
24
- import { DeviceEventEmitter, Pressable, Text, View } from 'react-native';
26
+ import { DeviceEventEmitter, Keyboard, Pressable, Text, View } from 'react-native';
25
27
  import { pushLog as devPushLog } from '../../utils/devLogger';
26
28
  import { normalizeRoomJid } from '../../helpers/normalizeRoomJid';
27
29
  import { buildSeedRoom } from '../../helpers/buildSeedRoom';
@@ -43,6 +45,10 @@ const ChatWrapper = ({
43
45
  } = useChatSettingState();
44
46
  usePendingNotification();
45
47
  const theme = useTheme();
48
+ const roomStackRef = useRef(null);
49
+ // Stable, so ChatRoom's React.memo holds across this root's re-renders.
50
+ // (A hook: must stay above the early LoginForm return.)
51
+ const popRoom = useCallback(() => roomStackRef.current?.pop(), []);
46
52
  const [isInited, setInited] = useState(false);
47
53
  const [showModal, setShowModal] = useState(false);
48
54
  const [errorMsg, setErrorMsg] = useState(null);
@@ -61,15 +67,10 @@ const ChatWrapper = ({
61
67
  providerBootstrapStatus,
62
68
  initMode
63
69
  } = useXmppClient();
64
- const {
65
- rooms,
66
- activeRoomJID
67
- } = useSelector(state => state.rooms);
68
- const activeMessage = useMemo(() => {
69
- if (activeRoomJID) {
70
- return rooms[activeRoomJID]?.messages?.find(message => message?.activeMessage);
71
- }
72
- }, [rooms, activeRoomJID]);
70
+ const rooms = useSelector(state => state.rooms.rooms);
71
+ const activeRoomJID = useSelector(state => state.rooms.activeRoomJID);
72
+ const activeRoomMessages = useSelector(state => activeRoomJID ? state.rooms.rooms[activeRoomJID]?.messages : undefined);
73
+ const activeMessage = useMemo(() => activeRoomMessages?.find(message => message?.activeMessage), [activeRoomMessages]);
73
74
  const handleChangeChat = chat => {
74
75
  dispatch(setCurrentRoom({
75
76
  roomJID: chat.jid
@@ -101,6 +102,14 @@ const ChatWrapper = ({
101
102
  }));
102
103
  };
103
104
 
105
+ // A modal (chat profile, user profile, ...) covers the chat, so the
106
+ // composer's keyboard must not stay open on top of it.
107
+ useEffect(() => {
108
+ if (activeModal) {
109
+ Keyboard.dismiss();
110
+ }
111
+ }, [activeModal]);
112
+
104
113
  // A host drives the reader's language from OUTSIDE the component through
105
114
  // `config.translates.readerLocale` (their own switcher, or the testbed's
106
115
  // Setup tab). Nothing was syncing it into `langSource`, so pinning it only
@@ -349,6 +358,21 @@ const ChatWrapper = ({
349
358
  // user picks one; then show the chat with a back button to return to
350
359
  // the list. With `roomJID` or `disableRooms`, skip the list entirely.
351
360
  const showRoomList = !config?.disableRooms && !roomJID && !activeRoomJID;
361
+ // List mode: the room is pushed over the list and can be swiped back
362
+ // (RoomStack). With `roomJID` / `disableRooms` there is no list to return to.
363
+ const listMode = !config?.disableRooms && !roomJID;
364
+
365
+ // The open thread, over the room (a message with `activeMessage` set).
366
+ const threadView = activeMessage ? /*#__PURE__*/_jsx(ThreadWrapper, {
367
+ activeMessage: activeMessage,
368
+ user: user,
369
+ customMessageComponent: CustomMessageComponent || Message
370
+ }, activeMessage.id) : null;
371
+ const backToList = () => {
372
+ dispatch(setCurrentRoom({
373
+ roomJID: ''
374
+ }));
375
+ };
352
376
  return /*#__PURE__*/_jsxs(_Fragment, {
353
377
  children: [showModal && config?.disableConnectionErrorOverlay && /*#__PURE__*/_jsx(ConnectionBanner, {}), showModal && !config?.disableConnectionErrorOverlay && /*#__PURE__*/_jsx(Overlay, {
354
378
  children: /*#__PURE__*/_jsxs(View, {
@@ -408,21 +432,34 @@ const ChatWrapper = ({
408
432
  ...MainComponentStyles
409
433
  },
410
434
  children: [/*#__PURE__*/_jsx(InteractionsOverlayProvider, {
411
- children: showRoomList ? /*#__PURE__*/_jsx(RoomList, {
412
- chats: Object.values(rooms),
413
- onRoomClick: handleChangeChat
414
- }) : /*#__PURE__*/_jsx(ChatWrapperBox, {
435
+ children: listMode ? /*#__PURE__*/_jsx(RoomStack, {
436
+ ref: roomStackRef,
437
+ onBack: backToList,
438
+ roomBackground: theme.chatBackground
439
+ // An open modal covers the room: back must not pull the
440
+ // room out from under it.
441
+ ,
442
+ hardwareBack: !activeModal,
443
+ list: /*#__PURE__*/_jsx(RoomList, {
444
+ chats: Object.values(rooms),
445
+ onRoomClick: handleChangeChat
446
+ }),
447
+ room: showRoomList ? null : /*#__PURE__*/_jsxs(ChatWrapperBox, {
448
+ style: {
449
+ ...MainComponentStyles
450
+ },
451
+ children: [/*#__PURE__*/_jsx(ChatRoom, {
452
+ CustomMessageComponent: CustomMessageComponent || Message,
453
+ handleBackClick: popRoom
454
+ }), threadView]
455
+ })
456
+ }) : /*#__PURE__*/_jsxs(ChatWrapperBox, {
415
457
  style: {
416
458
  ...MainComponentStyles
417
459
  },
418
- children: /*#__PURE__*/_jsx(ChatRoom, {
419
- CustomMessageComponent: CustomMessageComponent || Message,
420
- handleBackClick: roomJID || config?.disableRooms ? undefined : () => {
421
- dispatch(setCurrentRoom({
422
- roomJID: ''
423
- }));
424
- }
425
- })
460
+ children: [/*#__PURE__*/_jsx(ChatRoom, {
461
+ CustomMessageComponent: CustomMessageComponent || Message
462
+ }), threadView]
426
463
  })
427
464
  }), /*#__PURE__*/_jsx(Modal, {
428
465
  modal: activeModal,