stream-chat-react-native-core 5.44.2-beta.1 → 6.0.0-beta.1

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 (1305) hide show
  1. package/README.md +1 -2
  2. package/lib/commonjs/components/Attachment/Attachment.js +1 -1
  3. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/Card.js +6 -6
  5. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachment.js +5 -5
  7. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +1 -1
  9. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  10. package/lib/commonjs/components/Attachment/Gallery.js +32 -23
  11. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  12. package/lib/commonjs/components/Attachment/Giphy.js +8 -8
  13. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  14. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +7 -0
  15. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +3 -1
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +3 -0
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +4 -0
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  22. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +2 -0
  23. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  24. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +2 -0
  25. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
  26. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +2 -2
  27. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  28. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +40 -136
  29. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  30. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js +9 -6
  31. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js.map +1 -1
  32. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -2
  33. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  34. package/lib/commonjs/components/Avatar/Avatar.js +4 -0
  35. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  36. package/lib/commonjs/components/Avatar/GroupAvatar.js +4 -0
  37. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  38. package/lib/commonjs/components/Channel/Channel.js +576 -1262
  39. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  40. package/lib/commonjs/components/Channel/hooks/useChannelDataState.js +174 -0
  41. package/lib/commonjs/components/Channel/hooks/useChannelDataState.js.map +1 -0
  42. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +0 -8
  43. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  44. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +2 -2
  45. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  46. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +26 -10
  47. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  48. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +3 -3
  49. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  50. package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js +324 -0
  51. package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js.map +1 -0
  52. package/lib/commonjs/components/ChannelList/ChannelList.js +0 -2
  53. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  54. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  55. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  56. package/lib/commonjs/components/ChannelList/Skeleton.js +7 -3
  57. package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
  58. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +8 -18
  59. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  60. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +85 -46
  61. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  62. package/lib/commonjs/components/Chat/Chat.js +31 -16
  63. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  64. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js +312 -173
  65. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js.map +1 -1
  66. package/lib/commonjs/components/Chat/hooks/useAppSettings.js +31 -18
  67. package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
  68. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +0 -2
  69. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  70. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +16 -13
  71. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  72. package/lib/commonjs/components/ImageGallery/ImageGallery.js +57 -96
  73. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  74. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +14 -35
  75. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  76. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +17 -35
  77. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  78. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +72 -64
  79. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  80. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +38 -39
  81. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  82. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
  83. package/lib/commonjs/components/ImageGallery/hooks/useAnimatedGalleryStyle.js +54 -0
  84. package/lib/commonjs/components/ImageGallery/hooks/useAnimatedGalleryStyle.js.map +1 -0
  85. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js +230 -225
  86. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  87. package/lib/commonjs/components/Indicators/LoadingIndicator.js +1 -1
  88. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  89. package/lib/commonjs/components/Message/Message.js +136 -192
  90. package/lib/commonjs/components/Message/Message.js.map +1 -1
  91. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  92. package/lib/commonjs/components/Message/MessageSimple/MessageBounce.js +23 -6
  93. package/lib/commonjs/components/Message/MessageSimple/MessageBounce.js.map +1 -1
  94. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +40 -145
  95. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  96. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +1 -1
  97. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  98. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +0 -1
  99. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  100. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +20 -34
  101. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  102. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +182 -44
  103. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  104. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  105. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  106. package/lib/commonjs/components/Message/MessageSimple/ReactionList/ReactionListBottom.js +234 -0
  107. package/lib/commonjs/components/Message/MessageSimple/ReactionList/ReactionListBottom.js.map +1 -0
  108. package/lib/commonjs/components/Message/MessageSimple/ReactionList/ReactionListTop.js +195 -0
  109. package/lib/commonjs/components/Message/MessageSimple/ReactionList/ReactionListTop.js.map +1 -0
  110. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +4 -16
  111. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  112. package/lib/commonjs/components/Message/hooks/useMessageActions.js +36 -72
  113. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  114. package/lib/commonjs/components/Message/hooks/useMessageData.js +38 -0
  115. package/lib/commonjs/components/Message/hooks/useMessageData.js.map +1 -0
  116. package/lib/commonjs/components/Message/hooks/useProcessReactions.js +3 -3
  117. package/lib/commonjs/components/Message/hooks/useProcessReactions.js.map +1 -1
  118. package/lib/commonjs/components/Message/utils/messageActions.js +4 -6
  119. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  120. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +1 -1
  121. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  122. package/lib/commonjs/components/MessageInput/MessageInput.js +1 -2
  123. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  124. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +1 -0
  125. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -1
  126. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.js +1 -2
  127. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.js.map +1 -1
  128. package/lib/commonjs/components/MessageInput/components/NativeAttachmentPicker.js +8 -5
  129. package/lib/commonjs/components/MessageInput/components/NativeAttachmentPicker.js.map +1 -1
  130. package/lib/commonjs/components/MessageInput/hooks/useAudioController.js +46 -64
  131. package/lib/commonjs/components/MessageInput/hooks/useAudioController.js.map +1 -1
  132. package/lib/commonjs/components/MessageList/MessageList.js +67 -60
  133. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  134. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +1 -1
  135. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
  136. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  137. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  138. package/lib/commonjs/components/MessageMenu/MessageActionList.js +35 -0
  139. package/lib/commonjs/components/MessageMenu/MessageActionList.js.map +1 -0
  140. package/lib/commonjs/components/MessageMenu/MessageActionListItem.js +60 -0
  141. package/lib/commonjs/components/MessageMenu/MessageActionListItem.js.map +1 -0
  142. package/lib/commonjs/components/MessageMenu/MessageMenu.js +70 -0
  143. package/lib/commonjs/components/MessageMenu/MessageMenu.js.map +1 -0
  144. package/lib/commonjs/components/MessageMenu/MessageReactionPicker.js +81 -0
  145. package/lib/commonjs/components/MessageMenu/MessageReactionPicker.js.map +1 -0
  146. package/lib/commonjs/components/MessageMenu/MessageUserReactions.js +169 -0
  147. package/lib/commonjs/components/MessageMenu/MessageUserReactions.js.map +1 -0
  148. package/lib/commonjs/components/{MessageOverlay/OverlayReactionsAvatar.js → MessageMenu/MessageUserReactionsAvatar.js} +5 -6
  149. package/lib/commonjs/components/MessageMenu/MessageUserReactionsAvatar.js.map +1 -0
  150. package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js +112 -0
  151. package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js.map +1 -0
  152. package/lib/commonjs/components/MessageMenu/ReactionButton.js +59 -0
  153. package/lib/commonjs/components/MessageMenu/ReactionButton.js.map +1 -0
  154. package/lib/commonjs/components/{MessageOverlay → MessageMenu}/hooks/useFetchReactions.js +65 -41
  155. package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js.map +1 -0
  156. package/lib/commonjs/components/Poll/CreatePollContent.js +14 -9
  157. package/lib/commonjs/components/Poll/CreatePollContent.js.map +1 -1
  158. package/lib/commonjs/components/Poll/Poll.js +2 -8
  159. package/lib/commonjs/components/Poll/Poll.js.map +1 -1
  160. package/lib/commonjs/components/Poll/components/Button.js +9 -474
  161. package/lib/commonjs/components/Poll/components/Button.js.map +1 -1
  162. package/lib/commonjs/components/Poll/components/CreatePollIcon.js +2 -2
  163. package/lib/commonjs/components/Poll/components/CreatePollIcon.js.map +1 -1
  164. package/lib/commonjs/components/Poll/components/CreatePollOptions.js +9 -4
  165. package/lib/commonjs/components/Poll/components/CreatePollOptions.js.map +1 -1
  166. package/lib/commonjs/components/Poll/components/PollAnswersList.js +99 -26
  167. package/lib/commonjs/components/Poll/components/PollAnswersList.js.map +1 -1
  168. package/lib/commonjs/components/Poll/components/PollButtons.js +291 -0
  169. package/lib/commonjs/components/Poll/components/PollButtons.js.map +1 -0
  170. package/lib/commonjs/components/Poll/components/PollInputDialog.js +14 -4
  171. package/lib/commonjs/components/Poll/components/PollInputDialog.js.map +1 -1
  172. package/lib/commonjs/components/Poll/components/PollModalHeader.js +7 -1
  173. package/lib/commonjs/components/Poll/components/PollModalHeader.js.map +1 -1
  174. package/lib/commonjs/components/Poll/components/PollOption.js +88 -6
  175. package/lib/commonjs/components/Poll/components/PollOption.js.map +1 -1
  176. package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js +2 -2
  177. package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
  178. package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js +62 -67
  179. package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
  180. package/lib/commonjs/components/Poll/components/PollResults/PollVote.js +89 -0
  181. package/lib/commonjs/components/Poll/components/PollResults/PollVote.js.map +1 -0
  182. package/lib/commonjs/components/Poll/components/index.js +11 -0
  183. package/lib/commonjs/components/Poll/components/index.js.map +1 -1
  184. package/lib/commonjs/components/ProgressControl/ProgressControl.js +21 -28
  185. package/lib/commonjs/components/ProgressControl/ProgressControl.js.map +1 -1
  186. package/lib/commonjs/components/ProgressControl/WaveProgressBar.js +22 -27
  187. package/lib/commonjs/components/ProgressControl/WaveProgressBar.js.map +1 -1
  188. package/lib/commonjs/components/Reply/Reply.js +6 -2
  189. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  190. package/lib/commonjs/components/UIComponents/BottomSheetModal.js +158 -0
  191. package/lib/commonjs/components/UIComponents/BottomSheetModal.js.map +1 -0
  192. package/lib/commonjs/components/{ImageBackground.js → UIComponents/ImageBackground.js} +1 -1
  193. package/lib/commonjs/components/UIComponents/ImageBackground.js.map +1 -0
  194. package/lib/{module/components/Spinner → commonjs/components/UIComponents}/Spinner.js +1 -1
  195. package/lib/commonjs/components/UIComponents/Spinner.js.map +1 -0
  196. package/lib/commonjs/components/UIComponents/index.js +37 -0
  197. package/lib/commonjs/components/UIComponents/index.js.map +1 -0
  198. package/lib/commonjs/components/docs/data.js.map +1 -1
  199. package/lib/commonjs/components/index.js +56 -45
  200. package/lib/commonjs/components/index.js.map +1 -1
  201. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -13
  202. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  203. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -11
  204. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  205. package/lib/commonjs/contexts/channelContext/ChannelContext.js +1 -11
  206. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  207. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +1 -11
  208. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  209. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +1 -46
  210. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  211. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +7 -84
  212. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  213. package/lib/commonjs/contexts/chatConfigContext/ChatConfigContext.js +33 -0
  214. package/lib/commonjs/contexts/chatConfigContext/ChatConfigContext.js.map +1 -0
  215. package/lib/commonjs/contexts/chatContext/ChatContext.js +1 -11
  216. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  217. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +1 -11
  218. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  219. package/lib/commonjs/contexts/index.js +11 -11
  220. package/lib/commonjs/contexts/index.js.map +1 -1
  221. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -11
  222. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  223. package/lib/commonjs/contexts/messageContext/MessageContext.js +1 -11
  224. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  225. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +52 -51
  226. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  227. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +1 -1
  228. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  229. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +1 -11
  230. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  231. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -14
  232. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  233. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +18 -54
  234. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  235. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +1 -11
  236. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  237. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +1 -11
  238. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  239. package/lib/commonjs/contexts/themeContext/utils/theme.js +75 -49
  240. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  241. package/lib/commonjs/contexts/threadContext/ThreadContext.js +1 -11
  242. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  243. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -11
  244. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  245. package/lib/commonjs/contexts/typingContext/TypingContext.js +1 -11
  246. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  247. package/lib/commonjs/hooks/useTranslatedMessage.js +1 -4
  248. package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
  249. package/lib/commonjs/icons/PinHeader.js +17 -6
  250. package/lib/commonjs/icons/PinHeader.js.map +1 -1
  251. package/lib/commonjs/index.js +4 -23
  252. package/lib/commonjs/index.js.map +1 -1
  253. package/lib/commonjs/mock-builders/DB/mock.js +159 -88
  254. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
  255. package/lib/commonjs/native.js +38 -26
  256. package/lib/commonjs/native.js.map +1 -1
  257. package/lib/commonjs/store/SqliteClient.js +330 -0
  258. package/lib/commonjs/store/SqliteClient.js.map +1 -0
  259. package/lib/commonjs/store/apis/addPendingTask.js +56 -30
  260. package/lib/commonjs/store/apis/addPendingTask.js.map +1 -1
  261. package/lib/commonjs/store/apis/deleteChannel.js +36 -17
  262. package/lib/commonjs/store/apis/deleteChannel.js.map +1 -1
  263. package/lib/commonjs/store/apis/deleteMember.js +38 -20
  264. package/lib/commonjs/store/apis/deleteMember.js.map +1 -1
  265. package/lib/commonjs/store/apis/deleteMessage.js +36 -17
  266. package/lib/commonjs/store/apis/deleteMessage.js.map +1 -1
  267. package/lib/commonjs/store/apis/deleteMessagesForChannel.js +36 -17
  268. package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -1
  269. package/lib/commonjs/store/apis/deletePendingTask.js +31 -12
  270. package/lib/commonjs/store/apis/deletePendingTask.js.map +1 -1
  271. package/lib/commonjs/store/apis/deleteReaction.js +39 -22
  272. package/lib/commonjs/store/apis/deleteReaction.js.map +1 -1
  273. package/lib/commonjs/store/apis/deleteReactions.js +36 -17
  274. package/lib/commonjs/store/apis/deleteReactions.js.map +1 -1
  275. package/lib/commonjs/store/apis/getAllChannelIds.js +28 -8
  276. package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -1
  277. package/lib/commonjs/store/apis/getAppSettings.js +31 -11
  278. package/lib/commonjs/store/apis/getAppSettings.js.map +1 -1
  279. package/lib/commonjs/store/apis/getChannelMessages.js +77 -52
  280. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
  281. package/lib/commonjs/store/apis/getChannels.js +58 -30
  282. package/lib/commonjs/store/apis/getChannels.js.map +1 -1
  283. package/lib/commonjs/store/apis/getChannelsForFilterSort.js +58 -26
  284. package/lib/commonjs/store/apis/getChannelsForFilterSort.js.map +1 -1
  285. package/lib/commonjs/store/apis/getLastSyncedAt.js +31 -11
  286. package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -1
  287. package/lib/commonjs/store/apis/getMembers.js +36 -16
  288. package/lib/commonjs/store/apis/getMembers.js.map +1 -1
  289. package/lib/commonjs/store/apis/getPendingTasks.js +37 -14
  290. package/lib/commonjs/store/apis/getPendingTasks.js.map +1 -1
  291. package/lib/commonjs/store/apis/getReactions.js +2 -2
  292. package/lib/commonjs/store/apis/getReactions.js.map +1 -1
  293. package/lib/commonjs/store/apis/getReactionsforFilterSort.js +54 -22
  294. package/lib/commonjs/store/apis/getReactionsforFilterSort.js.map +1 -1
  295. package/lib/commonjs/store/apis/getReads.js +36 -16
  296. package/lib/commonjs/store/apis/getReads.js.map +1 -1
  297. package/lib/commonjs/store/apis/insertReaction.js +41 -23
  298. package/lib/commonjs/store/apis/insertReaction.js.map +1 -1
  299. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js +36 -17
  300. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
  301. package/lib/commonjs/store/apis/queries/selectChannels.js +44 -19
  302. package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -1
  303. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js +37 -17
  304. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -1
  305. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +37 -17
  306. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  307. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +37 -17
  308. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  309. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js +37 -17
  310. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -1
  311. package/lib/commonjs/store/apis/updateMessage.js +71 -47
  312. package/lib/commonjs/store/apis/updateMessage.js.map +1 -1
  313. package/lib/commonjs/store/apis/updatePollMessage.js +68 -59
  314. package/lib/commonjs/store/apis/updatePollMessage.js.map +1 -1
  315. package/lib/commonjs/store/apis/updateReaction.js +53 -38
  316. package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
  317. package/lib/commonjs/store/apis/upsertAppSettings.js +37 -20
  318. package/lib/commonjs/store/apis/upsertAppSettings.js.map +1 -1
  319. package/lib/commonjs/store/apis/upsertChannelData.js +35 -16
  320. package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -1
  321. package/lib/commonjs/store/apis/upsertChannelDataFromChannel.js +37 -13
  322. package/lib/commonjs/store/apis/upsertChannelDataFromChannel.js.map +1 -1
  323. package/lib/commonjs/store/apis/upsertChannels.js +115 -60
  324. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -1
  325. package/lib/commonjs/store/apis/upsertCidsForQuery.js +43 -26
  326. package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -1
  327. package/lib/commonjs/store/apis/upsertMembers.js +51 -33
  328. package/lib/commonjs/store/apis/upsertMembers.js.map +1 -1
  329. package/lib/commonjs/store/apis/upsertMessages.js +62 -44
  330. package/lib/commonjs/store/apis/upsertMessages.js.map +1 -1
  331. package/lib/commonjs/store/apis/upsertReads.js +51 -34
  332. package/lib/commonjs/store/apis/upsertReads.js.map +1 -1
  333. package/lib/commonjs/store/apis/upsertUserSyncStatus.js +31 -14
  334. package/lib/commonjs/store/apis/upsertUserSyncStatus.js.map +1 -1
  335. package/lib/commonjs/test-utils/BetterSqlite.js +40 -15
  336. package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -1
  337. package/lib/commonjs/utils/DBSyncManager.js +238 -152
  338. package/lib/commonjs/utils/DBSyncManager.js.map +1 -1
  339. package/lib/commonjs/utils/getResizedImageUrl.js +5 -3
  340. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -1
  341. package/lib/commonjs/utils/utils.js +1 -1
  342. package/lib/commonjs/utils/utils.js.map +1 -1
  343. package/lib/commonjs/version.json +1 -1
  344. package/lib/module/components/Attachment/Attachment.js +1 -1
  345. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  346. package/lib/module/components/Attachment/Card.js +6 -6
  347. package/lib/module/components/Attachment/Card.js.map +1 -1
  348. package/lib/module/components/Attachment/FileAttachment.js +5 -5
  349. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  350. package/lib/module/components/Attachment/FileAttachmentGroup.js +1 -1
  351. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  352. package/lib/module/components/Attachment/Gallery.js +32 -23
  353. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  354. package/lib/module/components/Attachment/Giphy.js +8 -8
  355. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  356. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +7 -0
  357. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
  358. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +3 -1
  359. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  360. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +3 -0
  361. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  362. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +4 -0
  363. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  364. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +2 -0
  365. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  366. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +2 -0
  367. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
  368. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +2 -2
  369. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  370. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +40 -136
  371. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  372. package/lib/module/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js +9 -6
  373. package/lib/module/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js.map +1 -1
  374. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -2
  375. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  376. package/lib/module/components/Avatar/Avatar.js +4 -0
  377. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  378. package/lib/module/components/Avatar/GroupAvatar.js +4 -0
  379. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  380. package/lib/module/components/Channel/Channel.js +576 -1262
  381. package/lib/module/components/Channel/Channel.js.map +1 -1
  382. package/lib/module/components/Channel/hooks/useChannelDataState.js +174 -0
  383. package/lib/module/components/Channel/hooks/useChannelDataState.js.map +1 -0
  384. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +0 -8
  385. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  386. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +2 -2
  387. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  388. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +26 -10
  389. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  390. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +3 -3
  391. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  392. package/lib/module/components/Channel/hooks/useMessageListPagination.js +324 -0
  393. package/lib/module/components/Channel/hooks/useMessageListPagination.js.map +1 -0
  394. package/lib/module/components/ChannelList/ChannelList.js +0 -2
  395. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  396. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  397. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  398. package/lib/module/components/ChannelList/Skeleton.js +7 -3
  399. package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
  400. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +8 -18
  401. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  402. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +85 -46
  403. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  404. package/lib/module/components/Chat/Chat.js +31 -16
  405. package/lib/module/components/Chat/Chat.js.map +1 -1
  406. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js +312 -173
  407. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js.map +1 -1
  408. package/lib/module/components/Chat/hooks/useAppSettings.js +31 -18
  409. package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
  410. package/lib/module/components/Chat/hooks/useCreateChatContext.js +0 -2
  411. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  412. package/lib/module/components/Chat/hooks/useIsOnline.js +16 -13
  413. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  414. package/lib/module/components/ImageGallery/ImageGallery.js +57 -96
  415. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  416. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +14 -35
  417. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  418. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +17 -35
  419. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  420. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +72 -64
  421. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  422. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +38 -39
  423. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  424. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
  425. package/lib/module/components/ImageGallery/hooks/useAnimatedGalleryStyle.js +54 -0
  426. package/lib/module/components/ImageGallery/hooks/useAnimatedGalleryStyle.js.map +1 -0
  427. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js +230 -225
  428. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  429. package/lib/module/components/Indicators/LoadingIndicator.js +1 -1
  430. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  431. package/lib/module/components/Message/Message.js +136 -192
  432. package/lib/module/components/Message/Message.js.map +1 -1
  433. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  434. package/lib/module/components/Message/MessageSimple/MessageBounce.js +23 -6
  435. package/lib/module/components/Message/MessageSimple/MessageBounce.js.map +1 -1
  436. package/lib/module/components/Message/MessageSimple/MessageContent.js +40 -145
  437. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  438. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +1 -1
  439. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  440. package/lib/module/components/Message/MessageSimple/MessageFooter.js +0 -1
  441. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  442. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +20 -34
  443. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  444. package/lib/module/components/Message/MessageSimple/MessageSimple.js +182 -44
  445. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  446. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  447. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  448. package/lib/module/components/Message/MessageSimple/ReactionList/ReactionListBottom.js +234 -0
  449. package/lib/module/components/Message/MessageSimple/ReactionList/ReactionListBottom.js.map +1 -0
  450. package/lib/module/components/Message/MessageSimple/ReactionList/ReactionListTop.js +195 -0
  451. package/lib/module/components/Message/MessageSimple/ReactionList/ReactionListTop.js.map +1 -0
  452. package/lib/module/components/Message/hooks/useCreateMessageContext.js +4 -16
  453. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  454. package/lib/module/components/Message/hooks/useMessageActions.js +36 -72
  455. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  456. package/lib/module/components/Message/hooks/useMessageData.js +38 -0
  457. package/lib/module/components/Message/hooks/useMessageData.js.map +1 -0
  458. package/lib/module/components/Message/hooks/useProcessReactions.js +3 -3
  459. package/lib/module/components/Message/hooks/useProcessReactions.js.map +1 -1
  460. package/lib/module/components/Message/utils/messageActions.js +4 -6
  461. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  462. package/lib/module/components/MessageInput/FileUploadPreview.js +1 -1
  463. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  464. package/lib/module/components/MessageInput/MessageInput.js +1 -2
  465. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  466. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +1 -0
  467. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -1
  468. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.js +1 -2
  469. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.js.map +1 -1
  470. package/lib/module/components/MessageInput/components/NativeAttachmentPicker.js +8 -5
  471. package/lib/module/components/MessageInput/components/NativeAttachmentPicker.js.map +1 -1
  472. package/lib/module/components/MessageInput/hooks/useAudioController.js +46 -64
  473. package/lib/module/components/MessageInput/hooks/useAudioController.js.map +1 -1
  474. package/lib/module/components/MessageList/MessageList.js +67 -60
  475. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  476. package/lib/module/components/MessageList/ScrollToBottomButton.js +1 -1
  477. package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
  478. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  479. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  480. package/lib/module/components/MessageMenu/MessageActionList.js +35 -0
  481. package/lib/module/components/MessageMenu/MessageActionList.js.map +1 -0
  482. package/lib/module/components/MessageMenu/MessageActionListItem.js +60 -0
  483. package/lib/module/components/MessageMenu/MessageActionListItem.js.map +1 -0
  484. package/lib/module/components/MessageMenu/MessageMenu.js +70 -0
  485. package/lib/module/components/MessageMenu/MessageMenu.js.map +1 -0
  486. package/lib/module/components/MessageMenu/MessageReactionPicker.js +81 -0
  487. package/lib/module/components/MessageMenu/MessageReactionPicker.js.map +1 -0
  488. package/lib/module/components/MessageMenu/MessageUserReactions.js +169 -0
  489. package/lib/module/components/MessageMenu/MessageUserReactions.js.map +1 -0
  490. package/lib/module/components/{MessageOverlay/OverlayReactionsAvatar.js → MessageMenu/MessageUserReactionsAvatar.js} +5 -6
  491. package/lib/module/components/MessageMenu/MessageUserReactionsAvatar.js.map +1 -0
  492. package/lib/module/components/MessageMenu/MessageUserReactionsItem.js +112 -0
  493. package/lib/module/components/MessageMenu/MessageUserReactionsItem.js.map +1 -0
  494. package/lib/module/components/MessageMenu/ReactionButton.js +59 -0
  495. package/lib/module/components/MessageMenu/ReactionButton.js.map +1 -0
  496. package/lib/module/components/{MessageOverlay → MessageMenu}/hooks/useFetchReactions.js +65 -41
  497. package/lib/module/components/MessageMenu/hooks/useFetchReactions.js.map +1 -0
  498. package/lib/module/components/Poll/CreatePollContent.js +14 -9
  499. package/lib/module/components/Poll/CreatePollContent.js.map +1 -1
  500. package/lib/module/components/Poll/Poll.js +2 -8
  501. package/lib/module/components/Poll/Poll.js.map +1 -1
  502. package/lib/module/components/Poll/components/Button.js +9 -474
  503. package/lib/module/components/Poll/components/Button.js.map +1 -1
  504. package/lib/module/components/Poll/components/CreatePollIcon.js +2 -2
  505. package/lib/module/components/Poll/components/CreatePollIcon.js.map +1 -1
  506. package/lib/module/components/Poll/components/CreatePollOptions.js +9 -4
  507. package/lib/module/components/Poll/components/CreatePollOptions.js.map +1 -1
  508. package/lib/module/components/Poll/components/PollAnswersList.js +99 -26
  509. package/lib/module/components/Poll/components/PollAnswersList.js.map +1 -1
  510. package/lib/module/components/Poll/components/PollButtons.js +291 -0
  511. package/lib/module/components/Poll/components/PollButtons.js.map +1 -0
  512. package/lib/module/components/Poll/components/PollInputDialog.js +14 -4
  513. package/lib/module/components/Poll/components/PollInputDialog.js.map +1 -1
  514. package/lib/module/components/Poll/components/PollModalHeader.js +7 -1
  515. package/lib/module/components/Poll/components/PollModalHeader.js.map +1 -1
  516. package/lib/module/components/Poll/components/PollOption.js +88 -6
  517. package/lib/module/components/Poll/components/PollOption.js.map +1 -1
  518. package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js +2 -2
  519. package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
  520. package/lib/module/components/Poll/components/PollResults/PollResultItem.js +62 -67
  521. package/lib/module/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
  522. package/lib/module/components/Poll/components/PollResults/PollVote.js +89 -0
  523. package/lib/module/components/Poll/components/PollResults/PollVote.js.map +1 -0
  524. package/lib/module/components/Poll/components/index.js +11 -0
  525. package/lib/module/components/Poll/components/index.js.map +1 -1
  526. package/lib/module/components/ProgressControl/ProgressControl.js +21 -28
  527. package/lib/module/components/ProgressControl/ProgressControl.js.map +1 -1
  528. package/lib/module/components/ProgressControl/WaveProgressBar.js +22 -27
  529. package/lib/module/components/ProgressControl/WaveProgressBar.js.map +1 -1
  530. package/lib/module/components/Reply/Reply.js +6 -2
  531. package/lib/module/components/Reply/Reply.js.map +1 -1
  532. package/lib/module/components/UIComponents/BottomSheetModal.js +158 -0
  533. package/lib/module/components/UIComponents/BottomSheetModal.js.map +1 -0
  534. package/lib/module/components/{ImageBackground.js → UIComponents/ImageBackground.js} +1 -1
  535. package/lib/module/components/UIComponents/ImageBackground.js.map +1 -0
  536. package/lib/{commonjs/components/Spinner → module/components/UIComponents}/Spinner.js +1 -1
  537. package/lib/module/components/UIComponents/Spinner.js.map +1 -0
  538. package/lib/module/components/UIComponents/index.js +37 -0
  539. package/lib/module/components/UIComponents/index.js.map +1 -0
  540. package/lib/module/components/docs/data.js.map +1 -1
  541. package/lib/module/components/index.js +56 -45
  542. package/lib/module/components/index.js.map +1 -1
  543. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -13
  544. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  545. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -11
  546. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  547. package/lib/module/contexts/channelContext/ChannelContext.js +1 -11
  548. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  549. package/lib/module/contexts/channelsContext/ChannelsContext.js +1 -11
  550. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  551. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +1 -46
  552. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  553. package/lib/module/contexts/channelsStateContext/useChannelState.js +7 -84
  554. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  555. package/lib/module/contexts/chatConfigContext/ChatConfigContext.js +33 -0
  556. package/lib/module/contexts/chatConfigContext/ChatConfigContext.js.map +1 -0
  557. package/lib/module/contexts/chatContext/ChatContext.js +1 -11
  558. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  559. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +1 -11
  560. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  561. package/lib/module/contexts/index.js +11 -11
  562. package/lib/module/contexts/index.js.map +1 -1
  563. package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -11
  564. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  565. package/lib/module/contexts/messageContext/MessageContext.js +1 -11
  566. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  567. package/lib/module/contexts/messageInputContext/MessageInputContext.js +52 -51
  568. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  569. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +1 -1
  570. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  571. package/lib/module/contexts/messagesContext/MessagesContext.js +1 -11
  572. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  573. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -14
  574. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  575. package/lib/module/contexts/overlayContext/OverlayProvider.js +18 -54
  576. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  577. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +1 -11
  578. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  579. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +1 -11
  580. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  581. package/lib/module/contexts/themeContext/utils/theme.js +75 -49
  582. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  583. package/lib/module/contexts/threadContext/ThreadContext.js +1 -11
  584. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  585. package/lib/module/contexts/translationContext/TranslationContext.js +1 -11
  586. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  587. package/lib/module/contexts/typingContext/TypingContext.js +1 -11
  588. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  589. package/lib/module/hooks/useTranslatedMessage.js +1 -4
  590. package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
  591. package/lib/module/icons/PinHeader.js +17 -6
  592. package/lib/module/icons/PinHeader.js.map +1 -1
  593. package/lib/module/index.js +4 -23
  594. package/lib/module/index.js.map +1 -1
  595. package/lib/module/mock-builders/DB/mock.js +159 -88
  596. package/lib/module/mock-builders/DB/mock.js.map +1 -1
  597. package/lib/module/native.js +38 -26
  598. package/lib/module/native.js.map +1 -1
  599. package/lib/module/store/SqliteClient.js +330 -0
  600. package/lib/module/store/SqliteClient.js.map +1 -0
  601. package/lib/module/store/apis/addPendingTask.js +56 -30
  602. package/lib/module/store/apis/addPendingTask.js.map +1 -1
  603. package/lib/module/store/apis/deleteChannel.js +36 -17
  604. package/lib/module/store/apis/deleteChannel.js.map +1 -1
  605. package/lib/module/store/apis/deleteMember.js +38 -20
  606. package/lib/module/store/apis/deleteMember.js.map +1 -1
  607. package/lib/module/store/apis/deleteMessage.js +36 -17
  608. package/lib/module/store/apis/deleteMessage.js.map +1 -1
  609. package/lib/module/store/apis/deleteMessagesForChannel.js +36 -17
  610. package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -1
  611. package/lib/module/store/apis/deletePendingTask.js +31 -12
  612. package/lib/module/store/apis/deletePendingTask.js.map +1 -1
  613. package/lib/module/store/apis/deleteReaction.js +39 -22
  614. package/lib/module/store/apis/deleteReaction.js.map +1 -1
  615. package/lib/module/store/apis/deleteReactions.js +36 -17
  616. package/lib/module/store/apis/deleteReactions.js.map +1 -1
  617. package/lib/module/store/apis/getAllChannelIds.js +28 -8
  618. package/lib/module/store/apis/getAllChannelIds.js.map +1 -1
  619. package/lib/module/store/apis/getAppSettings.js +31 -11
  620. package/lib/module/store/apis/getAppSettings.js.map +1 -1
  621. package/lib/module/store/apis/getChannelMessages.js +77 -52
  622. package/lib/module/store/apis/getChannelMessages.js.map +1 -1
  623. package/lib/module/store/apis/getChannels.js +58 -30
  624. package/lib/module/store/apis/getChannels.js.map +1 -1
  625. package/lib/module/store/apis/getChannelsForFilterSort.js +58 -26
  626. package/lib/module/store/apis/getChannelsForFilterSort.js.map +1 -1
  627. package/lib/module/store/apis/getLastSyncedAt.js +31 -11
  628. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -1
  629. package/lib/module/store/apis/getMembers.js +36 -16
  630. package/lib/module/store/apis/getMembers.js.map +1 -1
  631. package/lib/module/store/apis/getPendingTasks.js +37 -14
  632. package/lib/module/store/apis/getPendingTasks.js.map +1 -1
  633. package/lib/module/store/apis/getReactions.js +2 -2
  634. package/lib/module/store/apis/getReactions.js.map +1 -1
  635. package/lib/module/store/apis/getReactionsforFilterSort.js +54 -22
  636. package/lib/module/store/apis/getReactionsforFilterSort.js.map +1 -1
  637. package/lib/module/store/apis/getReads.js +36 -16
  638. package/lib/module/store/apis/getReads.js.map +1 -1
  639. package/lib/module/store/apis/insertReaction.js +41 -23
  640. package/lib/module/store/apis/insertReaction.js.map +1 -1
  641. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js +36 -17
  642. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
  643. package/lib/module/store/apis/queries/selectChannels.js +44 -19
  644. package/lib/module/store/apis/queries/selectChannels.js.map +1 -1
  645. package/lib/module/store/apis/queries/selectMembersForChannels.js +37 -17
  646. package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -1
  647. package/lib/module/store/apis/queries/selectMessagesForChannels.js +37 -17
  648. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  649. package/lib/module/store/apis/queries/selectReactionsForMessages.js +37 -17
  650. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  651. package/lib/module/store/apis/queries/selectReadsForChannels.js +37 -17
  652. package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -1
  653. package/lib/module/store/apis/updateMessage.js +71 -47
  654. package/lib/module/store/apis/updateMessage.js.map +1 -1
  655. package/lib/module/store/apis/updatePollMessage.js +68 -59
  656. package/lib/module/store/apis/updatePollMessage.js.map +1 -1
  657. package/lib/module/store/apis/updateReaction.js +53 -38
  658. package/lib/module/store/apis/updateReaction.js.map +1 -1
  659. package/lib/module/store/apis/upsertAppSettings.js +37 -20
  660. package/lib/module/store/apis/upsertAppSettings.js.map +1 -1
  661. package/lib/module/store/apis/upsertChannelData.js +35 -16
  662. package/lib/module/store/apis/upsertChannelData.js.map +1 -1
  663. package/lib/module/store/apis/upsertChannelDataFromChannel.js +37 -13
  664. package/lib/module/store/apis/upsertChannelDataFromChannel.js.map +1 -1
  665. package/lib/module/store/apis/upsertChannels.js +115 -60
  666. package/lib/module/store/apis/upsertChannels.js.map +1 -1
  667. package/lib/module/store/apis/upsertCidsForQuery.js +43 -26
  668. package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -1
  669. package/lib/module/store/apis/upsertMembers.js +51 -33
  670. package/lib/module/store/apis/upsertMembers.js.map +1 -1
  671. package/lib/module/store/apis/upsertMessages.js +62 -44
  672. package/lib/module/store/apis/upsertMessages.js.map +1 -1
  673. package/lib/module/store/apis/upsertReads.js +51 -34
  674. package/lib/module/store/apis/upsertReads.js.map +1 -1
  675. package/lib/module/store/apis/upsertUserSyncStatus.js +31 -14
  676. package/lib/module/store/apis/upsertUserSyncStatus.js.map +1 -1
  677. package/lib/module/test-utils/BetterSqlite.js +40 -15
  678. package/lib/module/test-utils/BetterSqlite.js.map +1 -1
  679. package/lib/module/utils/DBSyncManager.js +238 -152
  680. package/lib/module/utils/DBSyncManager.js.map +1 -1
  681. package/lib/module/utils/getResizedImageUrl.js +5 -3
  682. package/lib/module/utils/getResizedImageUrl.js.map +1 -1
  683. package/lib/module/utils/utils.js +1 -1
  684. package/lib/module/utils/utils.js.map +1 -1
  685. package/lib/module/version.json +1 -1
  686. package/lib/typescript/components/Attachment/Card.d.ts +2 -2
  687. package/lib/typescript/components/Attachment/Card.d.ts.map +1 -1
  688. package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -1
  689. package/lib/typescript/components/Attachment/FileAttachment.d.ts.map +1 -1
  690. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
  691. package/lib/typescript/components/Attachment/Gallery.d.ts.map +1 -1
  692. package/lib/typescript/components/Attachment/Giphy.d.ts +1 -1
  693. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +2 -1
  694. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts.map +1 -1
  695. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +2 -1
  696. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts.map +1 -1
  697. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +2 -1
  698. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts.map +1 -1
  699. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +2 -1
  700. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts.map +1 -1
  701. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +4 -2
  702. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts.map +1 -1
  703. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +2 -1
  704. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts.map +1 -1
  705. package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts.map +1 -1
  706. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.d.ts +2 -2
  707. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.d.ts.map +1 -1
  708. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerItem.d.ts.map +1 -1
  709. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerSelectionBar.d.ts.map +1 -1
  710. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts.map +1 -1
  711. package/lib/typescript/components/Avatar/Avatar.d.ts.map +1 -1
  712. package/lib/typescript/components/Avatar/GroupAvatar.d.ts.map +1 -1
  713. package/lib/typescript/components/Channel/Channel.d.ts +5 -5
  714. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  715. package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts +75 -0
  716. package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts.map +1 -0
  717. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  718. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts.map +1 -1
  719. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts.map +1 -1
  720. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +22 -14
  721. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
  722. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +1 -1
  723. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts.map +1 -1
  724. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts +28 -0
  725. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +1 -0
  726. package/lib/typescript/components/ChannelList/ChannelList.d.ts +0 -12
  727. package/lib/typescript/components/ChannelList/ChannelList.d.ts.map +1 -1
  728. package/lib/typescript/components/ChannelList/Skeleton.d.ts.map +1 -1
  729. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +1 -2
  730. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts.map +1 -1
  731. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  732. package/lib/typescript/components/Chat/Chat.d.ts +1 -1
  733. package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
  734. package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts +1 -1
  735. package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts.map +1 -1
  736. package/lib/typescript/components/Chat/hooks/useAppSettings.d.ts.map +1 -1
  737. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  738. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
  739. package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts.map +1 -1
  740. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +2 -2
  741. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts.map +1 -1
  742. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +5 -5
  743. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts.map +1 -1
  744. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts +5 -5
  745. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts.map +1 -1
  746. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +3 -3
  747. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts.map +1 -1
  748. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +3 -3
  749. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts.map +1 -1
  750. package/lib/typescript/components/ImageGallery/components/ImageGalleryOverlay.d.ts +2 -2
  751. package/lib/typescript/components/ImageGallery/components/ImageGalleryOverlay.d.ts.map +1 -1
  752. package/lib/typescript/components/ImageGallery/hooks/useAnimatedGalleryStyle.d.ts +37 -0
  753. package/lib/typescript/components/ImageGallery/hooks/useAnimatedGalleryStyle.d.ts.map +1 -0
  754. package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts +4 -5
  755. package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts.map +1 -1
  756. package/lib/typescript/components/Message/Message.d.ts +4 -40
  757. package/lib/typescript/components/Message/Message.d.ts.map +1 -1
  758. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts.map +1 -1
  759. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +11 -5
  760. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts.map +1 -1
  761. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +2 -6
  762. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts.map +1 -1
  763. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -1
  764. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts.map +1 -1
  765. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +1 -2
  766. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts.map +1 -1
  767. package/lib/typescript/components/Message/MessageSimple/ReactionList/ReactionListBottom.d.ts +12 -0
  768. package/lib/typescript/components/Message/MessageSimple/ReactionList/ReactionListBottom.d.ts.map +1 -0
  769. package/lib/typescript/components/Message/MessageSimple/ReactionList/ReactionListTop.d.ts +20 -0
  770. package/lib/typescript/components/Message/MessageSimple/ReactionList/ReactionListTop.d.ts.map +1 -0
  771. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
  772. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts.map +1 -1
  773. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +5 -6
  774. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts.map +1 -1
  775. package/lib/typescript/components/Message/hooks/useMessageData.d.ts +12 -0
  776. package/lib/typescript/components/Message/hooks/useMessageData.d.ts.map +1 -0
  777. package/lib/typescript/components/Message/hooks/useProcessReactions.d.ts +11 -3
  778. package/lib/typescript/components/Message/hooks/useProcessReactions.d.ts.map +1 -1
  779. package/lib/typescript/components/Message/utils/messageActions.d.ts +6 -14
  780. package/lib/typescript/components/Message/utils/messageActions.d.ts.map +1 -1
  781. package/lib/typescript/components/MessageInput/MessageInput.d.ts.map +1 -1
  782. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingButton.d.ts.map +1 -1
  783. package/lib/typescript/components/MessageInput/components/NativeAttachmentPicker.d.ts.map +1 -1
  784. package/lib/typescript/components/MessageInput/hooks/useAudioController.d.ts.map +1 -1
  785. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  786. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  787. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
  788. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +1 -1
  789. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts.map +1 -1
  790. package/lib/typescript/components/MessageMenu/MessageActionList.d.ts +16 -0
  791. package/lib/typescript/components/MessageMenu/MessageActionList.d.ts.map +1 -0
  792. package/lib/typescript/components/{MessageOverlay → MessageMenu}/MessageActionListItem.d.ts +2 -8
  793. package/lib/typescript/components/MessageMenu/MessageActionListItem.d.ts.map +1 -0
  794. package/lib/typescript/components/MessageMenu/MessageMenu.d.ts +32 -0
  795. package/lib/typescript/components/MessageMenu/MessageMenu.d.ts.map +1 -0
  796. package/lib/typescript/components/MessageMenu/MessageReactionPicker.d.ts +30 -0
  797. package/lib/typescript/components/MessageMenu/MessageReactionPicker.d.ts.map +1 -0
  798. package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts +21 -0
  799. package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts.map +1 -0
  800. package/lib/typescript/components/MessageMenu/MessageUserReactionsAvatar.d.ts +11 -0
  801. package/lib/typescript/components/MessageMenu/MessageUserReactionsAvatar.d.ts.map +1 -0
  802. package/lib/typescript/components/MessageMenu/MessageUserReactionsItem.d.ts +16 -0
  803. package/lib/typescript/components/MessageMenu/MessageUserReactionsItem.d.ts.map +1 -0
  804. package/lib/typescript/components/MessageMenu/ReactionButton.d.ts +25 -0
  805. package/lib/typescript/components/MessageMenu/ReactionButton.d.ts.map +1 -0
  806. package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts.map +1 -0
  807. package/lib/typescript/components/Poll/Poll.d.ts +0 -1
  808. package/lib/typescript/components/Poll/Poll.d.ts.map +1 -1
  809. package/lib/typescript/components/Poll/components/Button.d.ts +0 -17
  810. package/lib/typescript/components/Poll/components/Button.d.ts.map +1 -1
  811. package/lib/typescript/components/Poll/components/CreatePollOptions.d.ts.map +1 -1
  812. package/lib/typescript/components/Poll/components/PollAnswersList.d.ts +2 -0
  813. package/lib/typescript/components/Poll/components/PollAnswersList.d.ts.map +1 -1
  814. package/lib/typescript/components/Poll/components/PollButtons.d.ts +10 -0
  815. package/lib/typescript/components/Poll/components/PollButtons.d.ts.map +1 -0
  816. package/lib/typescript/components/Poll/components/PollInputDialog.d.ts.map +1 -1
  817. package/lib/typescript/components/Poll/components/PollOption.d.ts +2 -0
  818. package/lib/typescript/components/Poll/components/PollOption.d.ts.map +1 -1
  819. package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts +11 -4
  820. package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts.map +1 -1
  821. package/lib/typescript/components/Poll/components/PollResults/PollVote.d.ts +6 -0
  822. package/lib/typescript/components/Poll/components/PollResults/PollVote.d.ts.map +1 -0
  823. package/lib/typescript/components/Poll/components/index.d.ts +1 -0
  824. package/lib/typescript/components/Poll/components/index.d.ts.map +1 -1
  825. package/lib/typescript/components/ProgressControl/ProgressControl.d.ts.map +1 -1
  826. package/lib/typescript/components/ProgressControl/WaveProgressBar.d.ts.map +1 -1
  827. package/lib/typescript/components/Reply/Reply.d.ts.map +1 -1
  828. package/lib/typescript/components/UIComponents/BottomSheetModal.d.ts +21 -0
  829. package/lib/typescript/components/UIComponents/BottomSheetModal.d.ts.map +1 -0
  830. package/lib/typescript/components/UIComponents/ImageBackground.d.ts.map +1 -0
  831. package/lib/typescript/components/UIComponents/Spinner.d.ts.map +1 -0
  832. package/lib/typescript/components/UIComponents/index.d.ts +4 -0
  833. package/lib/typescript/components/UIComponents/index.d.ts.map +1 -0
  834. package/lib/typescript/components/index.d.ts +11 -10
  835. package/lib/typescript/components/index.d.ts.map +1 -1
  836. package/lib/typescript/contexts/activeChannelsRefContext/ActiveChannelsRefContext.d.ts +0 -11
  837. package/lib/typescript/contexts/activeChannelsRefContext/ActiveChannelsRefContext.d.ts.map +1 -1
  838. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +1 -11
  839. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts.map +1 -1
  840. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +28 -62
  841. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
  842. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +1 -11
  843. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts.map +1 -1
  844. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +1 -27
  845. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts.map +1 -1
  846. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +7 -13
  847. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts.map +1 -1
  848. package/lib/typescript/contexts/chatConfigContext/ChatConfigContext.d.ts +16 -0
  849. package/lib/typescript/contexts/chatConfigContext/ChatConfigContext.d.ts.map +1 -0
  850. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +1 -15
  851. package/lib/typescript/contexts/chatContext/ChatContext.d.ts.map +1 -1
  852. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +0 -10
  853. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts.map +1 -1
  854. package/lib/typescript/contexts/index.d.ts +1 -1
  855. package/lib/typescript/contexts/index.d.ts.map +1 -1
  856. package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts +0 -11
  857. package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts.map +1 -1
  858. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +21 -56
  859. package/lib/typescript/contexts/messageContext/MessageContext.d.ts.map +1 -1
  860. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +2 -12
  861. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
  862. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts.map +1 -1
  863. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +78 -38
  864. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
  865. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +2 -27
  866. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts.map +1 -1
  867. package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts.map +1 -1
  868. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +18 -27
  869. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts.map +1 -1
  870. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +1 -11
  871. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts.map +1 -1
  872. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +69 -44
  873. package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
  874. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +1 -11
  875. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts.map +1 -1
  876. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +0 -11
  877. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts.map +1 -1
  878. package/lib/typescript/contexts/typingContext/TypingContext.d.ts +1 -11
  879. package/lib/typescript/contexts/typingContext/TypingContext.d.ts.map +1 -1
  880. package/lib/typescript/hooks/useTranslatedMessage.d.ts.map +1 -1
  881. package/lib/typescript/icons/PinHeader.d.ts +5 -1
  882. package/lib/typescript/icons/PinHeader.d.ts.map +1 -1
  883. package/lib/typescript/index.d.ts +2 -3
  884. package/lib/typescript/index.d.ts.map +1 -1
  885. package/lib/typescript/native.d.ts +11 -13
  886. package/lib/typescript/native.d.ts.map +1 -1
  887. package/lib/typescript/store/SqliteClient.d.ts +27 -0
  888. package/lib/typescript/store/SqliteClient.d.ts.map +1 -0
  889. package/lib/typescript/store/apis/addPendingTask.d.ts +1 -1
  890. package/lib/typescript/store/apis/addPendingTask.d.ts.map +1 -1
  891. package/lib/typescript/store/apis/deleteChannel.d.ts +1 -1
  892. package/lib/typescript/store/apis/deleteChannel.d.ts.map +1 -1
  893. package/lib/typescript/store/apis/deleteMember.d.ts +1 -1
  894. package/lib/typescript/store/apis/deleteMember.d.ts.map +1 -1
  895. package/lib/typescript/store/apis/deleteMessage.d.ts +1 -1
  896. package/lib/typescript/store/apis/deleteMessage.d.ts.map +1 -1
  897. package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts +1 -1
  898. package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts.map +1 -1
  899. package/lib/typescript/store/apis/deletePendingTask.d.ts +1 -1
  900. package/lib/typescript/store/apis/deletePendingTask.d.ts.map +1 -1
  901. package/lib/typescript/store/apis/deleteReaction.d.ts +1 -1
  902. package/lib/typescript/store/apis/deleteReaction.d.ts.map +1 -1
  903. package/lib/typescript/store/apis/deleteReactions.d.ts +1 -1
  904. package/lib/typescript/store/apis/deleteReactions.d.ts.map +1 -1
  905. package/lib/typescript/store/apis/getAllChannelIds.d.ts +1 -1
  906. package/lib/typescript/store/apis/getAllChannelIds.d.ts.map +1 -1
  907. package/lib/typescript/store/apis/getAppSettings.d.ts +1 -1
  908. package/lib/typescript/store/apis/getAppSettings.d.ts.map +1 -1
  909. package/lib/typescript/store/apis/getChannelMessages.d.ts +1 -1
  910. package/lib/typescript/store/apis/getChannelMessages.d.ts.map +1 -1
  911. package/lib/typescript/store/apis/getChannels.d.ts +1 -1
  912. package/lib/typescript/store/apis/getChannels.d.ts.map +1 -1
  913. package/lib/typescript/store/apis/getChannelsForFilterSort.d.ts +1 -1
  914. package/lib/typescript/store/apis/getChannelsForFilterSort.d.ts.map +1 -1
  915. package/lib/typescript/store/apis/getLastSyncedAt.d.ts +1 -1
  916. package/lib/typescript/store/apis/getLastSyncedAt.d.ts.map +1 -1
  917. package/lib/typescript/store/apis/getMembers.d.ts +1 -1
  918. package/lib/typescript/store/apis/getMembers.d.ts.map +1 -1
  919. package/lib/typescript/store/apis/getPendingTasks.d.ts +1 -1
  920. package/lib/typescript/store/apis/getPendingTasks.d.ts.map +1 -1
  921. package/lib/typescript/store/apis/getReactionsforFilterSort.d.ts +1 -1
  922. package/lib/typescript/store/apis/getReactionsforFilterSort.d.ts.map +1 -1
  923. package/lib/typescript/store/apis/getReads.d.ts +1 -1
  924. package/lib/typescript/store/apis/getReads.d.ts.map +1 -1
  925. package/lib/typescript/store/apis/insertReaction.d.ts +1 -1
  926. package/lib/typescript/store/apis/insertReaction.d.ts.map +1 -1
  927. package/lib/typescript/store/apis/queries/selectChannelIdsForFilterSort.d.ts +1 -1
  928. package/lib/typescript/store/apis/queries/selectChannelIdsForFilterSort.d.ts.map +1 -1
  929. package/lib/typescript/store/apis/queries/selectChannels.d.ts +2 -2
  930. package/lib/typescript/store/apis/queries/selectChannels.d.ts.map +1 -1
  931. package/lib/typescript/store/apis/queries/selectMembersForChannels.d.ts +1 -1
  932. package/lib/typescript/store/apis/queries/selectMembersForChannels.d.ts.map +1 -1
  933. package/lib/typescript/store/apis/queries/selectMessagesForChannels.d.ts +1 -1
  934. package/lib/typescript/store/apis/queries/selectMessagesForChannels.d.ts.map +1 -1
  935. package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts +1 -1
  936. package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts.map +1 -1
  937. package/lib/typescript/store/apis/queries/selectReadsForChannels.d.ts +1 -1
  938. package/lib/typescript/store/apis/queries/selectReadsForChannels.d.ts.map +1 -1
  939. package/lib/typescript/store/apis/updateMessage.d.ts +1 -1
  940. package/lib/typescript/store/apis/updateMessage.d.ts.map +1 -1
  941. package/lib/typescript/store/apis/updatePollMessage.d.ts +1 -1
  942. package/lib/typescript/store/apis/updatePollMessage.d.ts.map +1 -1
  943. package/lib/typescript/store/apis/updateReaction.d.ts +1 -1
  944. package/lib/typescript/store/apis/updateReaction.d.ts.map +1 -1
  945. package/lib/typescript/store/apis/upsertAppSettings.d.ts +1 -1
  946. package/lib/typescript/store/apis/upsertAppSettings.d.ts.map +1 -1
  947. package/lib/typescript/store/apis/upsertChannelData.d.ts +1 -1
  948. package/lib/typescript/store/apis/upsertChannelData.d.ts.map +1 -1
  949. package/lib/typescript/store/apis/upsertChannelDataFromChannel.d.ts +1 -1
  950. package/lib/typescript/store/apis/upsertChannelDataFromChannel.d.ts.map +1 -1
  951. package/lib/typescript/store/apis/upsertChannels.d.ts +1 -1
  952. package/lib/typescript/store/apis/upsertChannels.d.ts.map +1 -1
  953. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts +1 -1
  954. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts.map +1 -1
  955. package/lib/typescript/store/apis/upsertMembers.d.ts +1 -1
  956. package/lib/typescript/store/apis/upsertMembers.d.ts.map +1 -1
  957. package/lib/typescript/store/apis/upsertMessages.d.ts +1 -1
  958. package/lib/typescript/store/apis/upsertMessages.d.ts.map +1 -1
  959. package/lib/typescript/store/apis/upsertReads.d.ts +1 -1
  960. package/lib/typescript/store/apis/upsertReads.d.ts.map +1 -1
  961. package/lib/typescript/store/apis/upsertUserSyncStatus.d.ts +1 -1
  962. package/lib/typescript/store/apis/upsertUserSyncStatus.d.ts.map +1 -1
  963. package/lib/typescript/test-utils/BetterSqlite.d.ts +2 -2
  964. package/lib/typescript/test-utils/BetterSqlite.d.ts.map +1 -1
  965. package/lib/typescript/types/types.d.ts +8 -0
  966. package/lib/typescript/types/types.d.ts.map +1 -1
  967. package/lib/typescript/utils/DBSyncManager.d.ts +1 -1
  968. package/lib/typescript/utils/DBSyncManager.d.ts.map +1 -1
  969. package/lib/typescript/utils/getResizedImageUrl.d.ts +3 -2
  970. package/lib/typescript/utils/getResizedImageUrl.d.ts.map +1 -1
  971. package/lib/typescript/utils/utils.d.ts.map +1 -1
  972. package/package.json +14 -14
  973. package/src/__tests__/offline-support/offline-feature.js +220 -176
  974. package/src/__tests__/offline-support/optimistic-update.js +27 -23
  975. package/src/components/Attachment/Attachment.tsx +2 -2
  976. package/src/components/Attachment/Card.tsx +10 -10
  977. package/src/components/Attachment/FileAttachment.tsx +8 -16
  978. package/src/components/Attachment/FileAttachmentGroup.tsx +2 -2
  979. package/src/components/Attachment/Gallery.tsx +21 -18
  980. package/src/components/Attachment/Giphy.tsx +14 -14
  981. package/src/components/Attachment/__tests__/Attachment.test.js +4 -2
  982. package/src/components/Attachment/__tests__/Gallery.test.js +0 -2
  983. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +10 -1
  984. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +4 -1
  985. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +5 -1
  986. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +6 -1
  987. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +13 -6
  988. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +5 -1
  989. package/src/components/AttachmentPicker/AttachmentPicker.tsx +7 -2
  990. package/src/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.tsx +2 -2
  991. package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +17 -33
  992. package/src/components/AttachmentPicker/components/AttachmentPickerSelectionBar.tsx +18 -17
  993. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +1 -1
  994. package/src/components/Avatar/Avatar.tsx +3 -0
  995. package/src/components/Avatar/GroupAvatar.tsx +4 -0
  996. package/src/components/Channel/Channel.tsx +299 -982
  997. package/src/components/Channel/__tests__/Channel.test.js +244 -13
  998. package/src/components/Channel/__tests__/ownCapabilities.test.js +57 -57
  999. package/src/components/Channel/__tests__/useMessageListPagination.test.js +419 -0
  1000. package/src/components/Channel/hooks/useChannelDataState.ts +235 -0
  1001. package/src/components/Channel/hooks/useCreateChannelContext.ts +0 -8
  1002. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +2 -6
  1003. package/src/components/Channel/hooks/useCreateMessagesContext.ts +26 -10
  1004. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +3 -10
  1005. package/src/components/Channel/hooks/useMessageListPagination.tsx +246 -0
  1006. package/src/components/ChannelList/ChannelList.tsx +0 -17
  1007. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +1 -1
  1008. package/src/components/ChannelList/Skeleton.tsx +9 -1
  1009. package/src/components/ChannelList/__tests__/ChannelList.test.js +5 -5
  1010. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +2 -11
  1011. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +20 -13
  1012. package/src/components/Chat/Chat.tsx +23 -18
  1013. package/src/components/Chat/__tests__/Chat.test.js +199 -178
  1014. package/src/components/Chat/hooks/handleEventToSyncDB.ts +18 -16
  1015. package/src/components/Chat/hooks/useAppSettings.ts +3 -2
  1016. package/src/components/Chat/hooks/useCreateChatContext.ts +0 -2
  1017. package/src/components/Chat/hooks/useIsOnline.ts +13 -10
  1018. package/src/components/ImageGallery/ImageGallery.tsx +71 -121
  1019. package/src/components/ImageGallery/__tests__/AnimatedVideoGallery.test.tsx +0 -11
  1020. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +3 -4
  1021. package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +3 -5
  1022. package/src/components/ImageGallery/__tests__/ImageGalleryGrid.test.tsx +1 -1
  1023. package/src/components/ImageGallery/__tests__/ImageGalleryGridHandle.test.tsx +1 -1
  1024. package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +3 -5
  1025. package/src/components/ImageGallery/__tests__/ImageGalleryOverlay.test.tsx +0 -3
  1026. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +17 -56
  1027. package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +21 -56
  1028. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +73 -59
  1029. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +46 -45
  1030. package/src/components/ImageGallery/components/ImageGalleryOverlay.tsx +2 -1
  1031. package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +3 -4
  1032. package/src/components/ImageGallery/hooks/useAnimatedGalleryStyle.tsx +83 -0
  1033. package/src/components/ImageGallery/hooks/useImageGalleryGestures.tsx +495 -470
  1034. package/src/components/Indicators/LoadingIndicator.tsx +1 -1
  1035. package/src/components/Message/Message.tsx +113 -215
  1036. package/src/components/Message/MessageSimple/MessageAvatar.tsx +1 -0
  1037. package/src/components/Message/MessageSimple/MessageBounce.tsx +2 -2
  1038. package/src/components/Message/MessageSimple/MessageContent.tsx +28 -155
  1039. package/src/components/Message/MessageSimple/MessageDeleted.tsx +1 -1
  1040. package/src/components/Message/MessageSimple/MessageFooter.tsx +1 -1
  1041. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +21 -66
  1042. package/src/components/Message/MessageSimple/MessageSimple.tsx +245 -54
  1043. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +3 -4
  1044. package/src/components/Message/MessageSimple/ReactionList/ReactionListBottom.tsx +295 -0
  1045. package/src/components/Message/MessageSimple/ReactionList/ReactionListTop.tsx +271 -0
  1046. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +1 -2
  1047. package/src/components/Message/MessageSimple/__tests__/MessageSimple.test.js +208 -0
  1048. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.tsx +3 -3
  1049. package/src/components/Message/MessageSimple/__tests__/ReactionListBottom.test.js +166 -0
  1050. package/src/components/Message/MessageSimple/__tests__/ReactionListTop.test.js +92 -0
  1051. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessagePinnedHeader.test.js.snap +23 -19
  1052. package/src/components/Message/hooks/useCreateMessageContext.ts +4 -16
  1053. package/src/components/Message/hooks/useMessageActions.tsx +48 -68
  1054. package/src/components/Message/hooks/useMessageData.ts +59 -0
  1055. package/src/components/Message/hooks/useProcessReactions.ts +17 -10
  1056. package/src/components/Message/utils/messageActions.ts +10 -20
  1057. package/src/components/MessageInput/FileUploadPreview.tsx +2 -2
  1058. package/src/components/MessageInput/MessageInput.tsx +0 -1
  1059. package/src/components/MessageInput/__tests__/AudioAttachmentUploadPreviewExpo.test.tsx +1 -4
  1060. package/src/components/MessageInput/__tests__/AudioAttachmentUploadPreviewNative.test.tsx +1 -4
  1061. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +3 -5
  1062. package/src/components/MessageInput/__tests__/MessageInput.test.js +116 -2
  1063. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingButton.tsx +7 -1
  1064. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.tsx +0 -1
  1065. package/src/components/MessageInput/components/NativeAttachmentPicker.tsx +8 -1
  1066. package/src/components/MessageInput/hooks/useAudioController.tsx +4 -7
  1067. package/src/components/MessageList/MessageList.tsx +53 -83
  1068. package/src/components/MessageList/ScrollToBottomButton.tsx +1 -1
  1069. package/src/components/MessageList/__tests__/MessageList.test.js +174 -23
  1070. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +3 -3
  1071. package/src/components/MessageList/__tests__/__snapshots__/ScrollToBottomButton.test.js.snap +1 -1
  1072. package/src/components/MessageList/hooks/useMessageList.ts +2 -5
  1073. package/src/components/MessageList/utils/getReadStates.ts +3 -2
  1074. package/src/components/MessageMenu/MessageActionList.tsx +49 -0
  1075. package/src/components/MessageMenu/MessageActionListItem.tsx +86 -0
  1076. package/src/components/MessageMenu/MessageMenu.tsx +123 -0
  1077. package/src/components/MessageMenu/MessageReactionPicker.tsx +122 -0
  1078. package/src/components/MessageMenu/MessageUserReactions.tsx +207 -0
  1079. package/src/components/{MessageOverlay/OverlayReactionsAvatar.tsx → MessageMenu/MessageUserReactionsAvatar.tsx} +6 -6
  1080. package/src/components/MessageMenu/MessageUserReactionsItem.tsx +132 -0
  1081. package/src/components/MessageMenu/ReactionButton.tsx +72 -0
  1082. package/src/components/MessageMenu/__tests__/MessageActionList.test.tsx +48 -0
  1083. package/src/components/MessageMenu/__tests__/MessageActionListItem.test.tsx +48 -0
  1084. package/src/components/MessageMenu/__tests__/MessageReactionPicker.test.tsx +101 -0
  1085. package/src/components/MessageMenu/__tests__/MessageUserReactions.test.tsx +186 -0
  1086. package/src/components/MessageMenu/__tests__/MessageUserReactionsAvatar.test.tsx +35 -0
  1087. package/src/components/MessageMenu/__tests__/MessageUserReactionsItem.test.tsx +81 -0
  1088. package/src/components/MessageMenu/__tests__/ReactionButton.test.tsx +77 -0
  1089. package/src/components/{MessageOverlay → MessageMenu}/hooks/useFetchReactions.ts +4 -2
  1090. package/src/components/Poll/CreatePollContent.tsx +4 -4
  1091. package/src/components/Poll/Poll.tsx +1 -20
  1092. package/src/components/Poll/components/Button.tsx +8 -420
  1093. package/src/components/Poll/components/CreatePollIcon.tsx +1 -1
  1094. package/src/components/Poll/components/CreatePollOptions.tsx +9 -4
  1095. package/src/components/Poll/components/PollAnswersList.tsx +66 -3
  1096. package/src/components/Poll/components/PollButtons.tsx +241 -0
  1097. package/src/components/Poll/components/PollInputDialog.tsx +9 -6
  1098. package/src/components/Poll/components/PollModalHeader.tsx +3 -3
  1099. package/src/components/Poll/components/PollOption.tsx +74 -4
  1100. package/src/components/Poll/components/PollResults/PollOptionFullResults.tsx +1 -1
  1101. package/src/components/Poll/components/PollResults/PollResultItem.tsx +68 -52
  1102. package/src/components/Poll/components/PollResults/PollVote.tsx +68 -0
  1103. package/src/components/Poll/components/index.ts +1 -0
  1104. package/src/components/ProgressControl/ProgressControl.tsx +28 -38
  1105. package/src/components/ProgressControl/WaveProgressBar.tsx +29 -37
  1106. package/src/components/Reply/Reply.tsx +5 -2
  1107. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +936 -796
  1108. package/src/components/UIComponents/BottomSheetModal.tsx +174 -0
  1109. package/src/components/UIComponents/index.ts +3 -0
  1110. package/src/components/docs/data.js +13 -27
  1111. package/src/components/index.ts +11 -10
  1112. package/src/contexts/__tests__/index.test.tsx +0 -5
  1113. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +0 -27
  1114. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +1 -29
  1115. package/src/contexts/channelContext/ChannelContext.tsx +33 -79
  1116. package/src/contexts/channelsContext/ChannelsContext.tsx +1 -28
  1117. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +2 -97
  1118. package/src/contexts/channelsStateContext/useChannelState.ts +6 -108
  1119. package/src/contexts/chatConfigContext/ChatConfigContext.tsx +33 -0
  1120. package/src/contexts/chatContext/ChatContext.tsx +1 -30
  1121. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +0 -29
  1122. package/src/contexts/index.ts +1 -1
  1123. package/src/contexts/keyboardContext/KeyboardContext.tsx +0 -30
  1124. package/src/contexts/messageContext/MessageContext.tsx +22 -75
  1125. package/src/contexts/messageInputContext/MessageInputContext.tsx +12 -39
  1126. package/src/contexts/messageInputContext/__tests__/isValidMessage.test.tsx +2 -3
  1127. package/src/contexts/messageInputContext/__tests__/uploadFile.test.tsx +1 -2
  1128. package/src/contexts/messageInputContext/__tests__/uploadImage.test.tsx +1 -2
  1129. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +1 -5
  1130. package/src/contexts/messagesContext/MessagesContext.tsx +84 -57
  1131. package/src/contexts/overlayContext/OverlayContext.tsx +2 -55
  1132. package/src/contexts/overlayContext/OverlayProvider.tsx +23 -64
  1133. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +18 -46
  1134. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +1 -30
  1135. package/src/contexts/themeContext/utils/theme.ts +141 -92
  1136. package/src/contexts/threadContext/ThreadContext.tsx +1 -28
  1137. package/src/contexts/translationContext/TranslationContext.tsx +0 -29
  1138. package/src/contexts/typingContext/TypingContext.tsx +1 -28
  1139. package/src/hooks/__tests__/useTranslatedMessage.test.tsx +3 -9
  1140. package/src/hooks/useTranslatedMessage.ts +1 -4
  1141. package/src/icons/PinHeader.tsx +13 -7
  1142. package/src/index.ts +2 -3
  1143. package/src/mock-builders/DB/mock.ts +70 -87
  1144. package/src/native.ts +18 -29
  1145. package/src/store/SqliteClient.ts +210 -0
  1146. package/src/store/apis/addPendingTask.ts +7 -7
  1147. package/src/store/apis/deleteChannel.ts +4 -4
  1148. package/src/store/apis/deleteMember.ts +4 -4
  1149. package/src/store/apis/deleteMessage.ts +4 -4
  1150. package/src/store/apis/deleteMessagesForChannel.ts +4 -4
  1151. package/src/store/apis/deletePendingTask.ts +4 -4
  1152. package/src/store/apis/deleteReaction.ts +4 -4
  1153. package/src/store/apis/deleteReactions.ts +3 -3
  1154. package/src/store/apis/getAllChannelIds.ts +4 -4
  1155. package/src/store/apis/getAppSettings.ts +5 -5
  1156. package/src/store/apis/getChannelMessages.ts +6 -6
  1157. package/src/store/apis/getChannels.ts +8 -8
  1158. package/src/store/apis/getChannelsForFilterSort.ts +6 -6
  1159. package/src/store/apis/getLastSyncedAt.ts +5 -5
  1160. package/src/store/apis/getMembers.ts +4 -4
  1161. package/src/store/apis/getPendingTasks.ts +4 -4
  1162. package/src/store/apis/getReactions.ts +2 -2
  1163. package/src/store/apis/getReactionsforFilterSort.ts +8 -6
  1164. package/src/store/apis/getReads.ts +4 -4
  1165. package/src/store/apis/insertReaction.ts +4 -4
  1166. package/src/store/apis/queries/selectChannelIdsForFilterSort.ts +5 -5
  1167. package/src/store/apis/queries/selectChannels.ts +6 -6
  1168. package/src/store/apis/queries/selectMembersForChannels.ts +6 -4
  1169. package/src/store/apis/queries/selectMessagesForChannels.ts +7 -5
  1170. package/src/store/apis/queries/selectReactionsForMessages.ts +5 -5
  1171. package/src/store/apis/queries/selectReadsForChannels.ts +7 -5
  1172. package/src/store/apis/updateMessage.ts +5 -5
  1173. package/src/store/apis/updatePollMessage.ts +5 -5
  1174. package/src/store/apis/updateReaction.ts +4 -4
  1175. package/src/store/apis/upsertAppSettings.ts +4 -4
  1176. package/src/store/apis/upsertChannelData.ts +5 -4
  1177. package/src/store/apis/upsertChannelDataFromChannel.ts +3 -3
  1178. package/src/store/apis/upsertChannels.ts +8 -8
  1179. package/src/store/apis/upsertCidsForQuery.ts +4 -4
  1180. package/src/store/apis/upsertMembers.ts +4 -4
  1181. package/src/store/apis/upsertMessages.ts +4 -4
  1182. package/src/store/apis/upsertReads.ts +4 -4
  1183. package/src/store/apis/upsertUserSyncStatus.ts +4 -4
  1184. package/src/test-utils/BetterSqlite.js +4 -12
  1185. package/src/types/types.ts +9 -0
  1186. package/src/utils/DBSyncManager.ts +49 -44
  1187. package/src/utils/__tests__/getResizedImageUrl.test.ts +1 -2
  1188. package/src/utils/getResizedImageUrl.ts +7 -5
  1189. package/src/utils/utils.ts +1 -1
  1190. package/src/version.json +1 -1
  1191. package/lib/commonjs/components/ImageBackground.js.map +0 -1
  1192. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +0 -305
  1193. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +0 -1
  1194. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +0 -112
  1195. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +0 -1
  1196. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +0 -87
  1197. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +0 -1
  1198. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +0 -461
  1199. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +0 -1
  1200. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +0 -24
  1201. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +0 -1
  1202. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +0 -305
  1203. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +0 -1
  1204. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +0 -188
  1205. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +0 -1
  1206. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +0 -1
  1207. package/lib/commonjs/components/MessageOverlay/OverlayReactionsItem.js +0 -166
  1208. package/lib/commonjs/components/MessageOverlay/OverlayReactionsItem.js.map +0 -1
  1209. package/lib/commonjs/components/MessageOverlay/hooks/useFetchReactions.js.map +0 -1
  1210. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js +0 -34
  1211. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +0 -1
  1212. package/lib/commonjs/components/Spinner/Spinner.js.map +0 -1
  1213. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +0 -45
  1214. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +0 -1
  1215. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +0 -27
  1216. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +0 -1
  1217. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +0 -67
  1218. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +0 -1
  1219. package/lib/commonjs/store/QuickSqliteClient.js +0 -158
  1220. package/lib/commonjs/store/QuickSqliteClient.js.map +0 -1
  1221. package/lib/commonjs/utils/StreamChatRN.js +0 -25
  1222. package/lib/commonjs/utils/StreamChatRN.js.map +0 -1
  1223. package/lib/module/components/ImageBackground.js.map +0 -1
  1224. package/lib/module/components/Message/MessageSimple/ReactionList.js +0 -305
  1225. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +0 -1
  1226. package/lib/module/components/MessageOverlay/MessageActionList.js +0 -112
  1227. package/lib/module/components/MessageOverlay/MessageActionList.js.map +0 -1
  1228. package/lib/module/components/MessageOverlay/MessageActionListItem.js +0 -87
  1229. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +0 -1
  1230. package/lib/module/components/MessageOverlay/MessageOverlay.js +0 -461
  1231. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +0 -1
  1232. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +0 -24
  1233. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +0 -1
  1234. package/lib/module/components/MessageOverlay/OverlayReactionList.js +0 -305
  1235. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +0 -1
  1236. package/lib/module/components/MessageOverlay/OverlayReactions.js +0 -188
  1237. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +0 -1
  1238. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +0 -1
  1239. package/lib/module/components/MessageOverlay/OverlayReactionsItem.js +0 -166
  1240. package/lib/module/components/MessageOverlay/OverlayReactionsItem.js.map +0 -1
  1241. package/lib/module/components/MessageOverlay/hooks/useFetchReactions.js.map +0 -1
  1242. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js +0 -34
  1243. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +0 -1
  1244. package/lib/module/components/Spinner/Spinner.js.map +0 -1
  1245. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +0 -45
  1246. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +0 -1
  1247. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +0 -27
  1248. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +0 -1
  1249. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +0 -67
  1250. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +0 -1
  1251. package/lib/module/store/QuickSqliteClient.js +0 -158
  1252. package/lib/module/store/QuickSqliteClient.js.map +0 -1
  1253. package/lib/module/utils/StreamChatRN.js +0 -25
  1254. package/lib/module/utils/StreamChatRN.js.map +0 -1
  1255. package/lib/typescript/components/ImageBackground.d.ts.map +0 -1
  1256. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +0 -32
  1257. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts.map +0 -1
  1258. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +0 -14
  1259. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts.map +0 -1
  1260. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts.map +0 -1
  1261. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +0 -15
  1262. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts.map +0 -1
  1263. package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +0 -8
  1264. package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts.map +0 -1
  1265. package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +0 -36
  1266. package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts.map +0 -1
  1267. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +0 -31
  1268. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts.map +0 -1
  1269. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +0 -11
  1270. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts.map +0 -1
  1271. package/lib/typescript/components/MessageOverlay/OverlayReactionsItem.d.ts +0 -11
  1272. package/lib/typescript/components/MessageOverlay/OverlayReactionsItem.d.ts.map +0 -1
  1273. package/lib/typescript/components/MessageOverlay/hooks/useFetchReactions.d.ts.map +0 -1
  1274. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +0 -11
  1275. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts.map +0 -1
  1276. package/lib/typescript/components/Spinner/Spinner.d.ts.map +0 -1
  1277. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +0 -80
  1278. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts.map +0 -1
  1279. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +0 -13
  1280. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts.map +0 -1
  1281. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +0 -2
  1282. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts.map +0 -1
  1283. package/lib/typescript/store/QuickSqliteClient.d.ts +0 -26
  1284. package/lib/typescript/store/QuickSqliteClient.d.ts.map +0 -1
  1285. package/lib/typescript/utils/StreamChatRN.d.ts +0 -23
  1286. package/lib/typescript/utils/StreamChatRN.d.ts.map +0 -1
  1287. package/src/components/Message/MessageSimple/ReactionList.tsx +0 -398
  1288. package/src/components/MessageOverlay/MessageActionList.tsx +0 -171
  1289. package/src/components/MessageOverlay/MessageActionListItem.tsx +0 -144
  1290. package/src/components/MessageOverlay/MessageOverlay.tsx +0 -648
  1291. package/src/components/MessageOverlay/OverlayBackdrop.tsx +0 -18
  1292. package/src/components/MessageOverlay/OverlayReactionList.tsx +0 -447
  1293. package/src/components/MessageOverlay/OverlayReactions.tsx +0 -252
  1294. package/src/components/MessageOverlay/OverlayReactionsItem.tsx +0 -188
  1295. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +0 -44
  1296. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +0 -148
  1297. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +0 -48
  1298. package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +0 -22
  1299. package/src/store/QuickSqliteClient.ts +0 -187
  1300. package/src/utils/StreamChatRN.ts +0 -27
  1301. /package/lib/typescript/components/{MessageOverlay → MessageMenu}/hooks/useFetchReactions.d.ts +0 -0
  1302. /package/lib/typescript/components/{ImageBackground.d.ts → UIComponents/ImageBackground.d.ts} +0 -0
  1303. /package/lib/typescript/components/{Spinner → UIComponents}/Spinner.d.ts +0 -0
  1304. /package/src/components/{ImageBackground.tsx → UIComponents/ImageBackground.tsx} +0 -0
  1305. /package/src/components/{Spinner → UIComponents}/Spinner.tsx +0 -0
@@ -42,6 +42,7 @@ export const NativeAttachmentPicker = ({
42
42
  },
43
43
  } = useTheme();
44
44
  const {
45
+ hasCameraPicker,
45
46
  hasFilePicker,
46
47
  hasImagePicker,
47
48
  openPollCreationDialog,
@@ -142,7 +143,13 @@ export const NativeAttachmentPicker = ({
142
143
  if (hasFilePicker) {
143
144
  buttons.push({ icon: <FileSelectorIcon />, id: 'File', onPressHandler: pickFile });
144
145
  }
145
- buttons.push({ icon: <CameraSelectorIcon />, id: 'Camera', onPressHandler: takeAndUploadImage });
146
+ if (hasCameraPicker) {
147
+ buttons.push({
148
+ icon: <CameraSelectorIcon />,
149
+ id: 'Camera',
150
+ onPressHandler: takeAndUploadImage,
151
+ });
152
+ }
146
153
 
147
154
  return (
148
155
  <>
@@ -84,18 +84,17 @@ export const useAudioController = () => {
84
84
  };
85
85
 
86
86
  const onVoicePlayerPlayPause = async () => {
87
- if (!Audio) return;
88
87
  if (paused) {
89
88
  if (progress === 0) await startVoicePlayer();
90
89
  else {
91
90
  // For Native CLI
92
- if (Audio.resumePlayer) await Audio.resumePlayer();
91
+ if (Audio?.resumePlayer) await Audio.resumePlayer();
93
92
  // For Expo CLI
94
93
  if (soundRef.current?.playAsync) await soundRef.current.playAsync();
95
94
  }
96
95
  } else {
97
96
  // For Native CLI
98
- if (Audio.pausePlayer) await Audio.pausePlayer();
97
+ if (Audio?.pausePlayer) await Audio.pausePlayer();
99
98
  // For Expo CLI
100
99
  if (soundRef.current?.pauseAsync) await soundRef.current.pauseAsync();
101
100
  }
@@ -106,10 +105,9 @@ export const useAudioController = () => {
106
105
  * Function to start playing voice recording to preview it after recording.
107
106
  */
108
107
  const startVoicePlayer = async () => {
109
- if (!Audio) return;
110
108
  if (!recording) return;
111
109
  // For Native CLI
112
- if (Audio.startPlayer)
110
+ if (Audio?.startPlayer)
113
111
  await Audio.startPlayer(recording, {}, onVoicePlayerPlaybackStatusUpdate);
114
112
  // For Expo CLI
115
113
  if (recording && typeof recording !== 'string') {
@@ -134,9 +132,8 @@ export const useAudioController = () => {
134
132
  * Function to stop playing voice recording.
135
133
  */
136
134
  const stopVoicePlayer = async () => {
137
- if (!Audio) return;
138
135
  // For Native CLI
139
- if (Audio.stopPlayer) {
136
+ if (Audio?.stopPlayer) {
140
137
  await Audio.stopPlayer();
141
138
  }
142
139
  // For Expo CLI
@@ -126,10 +126,7 @@ type MessageListPropsWithContext<
126
126
  > &
127
127
  Pick<ChatContextValue<StreamChatGenerics>, 'client'> &
128
128
  Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setMessages'> &
129
- Pick<
130
- PaginatedMessageListContextValue<StreamChatGenerics>,
131
- 'hasNoMoreRecentMessagesToLoad' | 'loadMore' | 'loadMoreRecent'
132
- > &
129
+ Pick<PaginatedMessageListContextValue<StreamChatGenerics>, 'loadMore' | 'loadMoreRecent'> &
133
130
  Pick<OverlayContextValue, 'overlay'> &
134
131
  Pick<
135
132
  MessagesContextValue<StreamChatGenerics>,
@@ -239,7 +236,6 @@ const MessageListWithContext = <
239
236
  EmptyStateIndicator,
240
237
  FlatList,
241
238
  FooterComponent = InlineLoadingMoreIndicator,
242
- hasNoMoreRecentMessagesToLoad,
243
239
  HeaderComponent = LoadingMoreRecentIndicator,
244
240
  hideStickyDateHeader,
245
241
  initialScrollToFirstUnreadMessage,
@@ -440,6 +436,9 @@ const MessageListWithContext = <
440
436
  }
441
437
  }, [disabled]);
442
438
 
439
+ /**
440
+ * Effect to mark the channel as read when the user scrolls to the bottom of the message list.
441
+ */
443
442
  useEffect(() => {
444
443
  const getShouldMarkReadAutomatically = (): boolean => {
445
444
  if (loading || !channel) {
@@ -519,34 +518,16 @@ const MessageListWithContext = <
519
518
  }
520
519
  };
521
520
 
522
- if (threadList || hasNoMoreRecentMessagesToLoad) {
521
+ if (threadList) {
523
522
  scrollToBottomIfNeeded();
524
523
  } else {
525
524
  setScrollToBottomButtonVisible(false);
526
525
  }
527
526
 
528
- if (
529
- !hasNoMoreRecentMessagesToLoad &&
530
- flatListRef.current &&
531
- messageListLengthBeforeUpdate.current === 0 &&
532
- messageListLengthAfterUpdate < 10
533
- ) {
534
- /**
535
- * Trigger onStartReached on first load, if messages are not enough to fill the screen.
536
- * This is important especially for android, where you can't overscroll.
537
- */
538
- maybeCallOnStartReached(10);
539
- }
540
-
541
527
  messageListLengthBeforeUpdate.current = messageListLengthAfterUpdate;
542
528
  topMessageBeforeUpdate.current = topMessageAfterUpdate;
543
529
  // eslint-disable-next-line react-hooks/exhaustive-deps
544
- }, [
545
- threadList,
546
- hasNoMoreRecentMessagesToLoad,
547
- messageListLengthAfterUpdate,
548
- topMessageAfterUpdate?.id,
549
- ]);
530
+ }, [threadList, messageListLengthAfterUpdate, topMessageAfterUpdate?.id]);
550
531
 
551
532
  useEffect(() => {
552
533
  if (!rawMessageList.length) return;
@@ -666,13 +647,23 @@ const MessageListWithContext = <
666
647
  message={message}
667
648
  onThreadSelect={onThreadSelect}
668
649
  showUnreadUnderlay={showUnreadUnderlay}
669
- style={[{ paddingHorizontal: screenPadding }, messageContainer]}
650
+ style={[messageContainer]}
670
651
  threadList={threadList}
671
652
  />
672
653
  );
673
- return wrapMessageInTheme ? (
654
+ return (
674
655
  <>
675
- <ThemeProvider mergedStyle={modifiedTheme}>
656
+ {wrapMessageInTheme ? (
657
+ <ThemeProvider mergedStyle={modifiedTheme}>
658
+ <View
659
+ style={[shouldApplyAndroidWorkaround ? styles.invertAndroid : undefined]}
660
+ testID={`message-list-item-${index}`}
661
+ >
662
+ {shouldApplyAndroidWorkaround && renderDateSeperator}
663
+ {renderMessage}
664
+ </View>
665
+ </ThemeProvider>
666
+ ) : (
676
667
  <View
677
668
  style={[shouldApplyAndroidWorkaround ? styles.invertAndroid : undefined]}
678
669
  testID={`message-list-item-${index}`}
@@ -680,23 +671,12 @@ const MessageListWithContext = <
680
671
  {shouldApplyAndroidWorkaround && renderDateSeperator}
681
672
  {renderMessage}
682
673
  </View>
683
- </ThemeProvider>
674
+ )}
684
675
  {!shouldApplyAndroidWorkaround && renderDateSeperator}
685
676
  {/* Adding indicator below the messages, since the list is inverted */}
686
- {insertInlineUnreadIndicator && <InlineUnreadIndicator />}
687
- </>
688
- ) : (
689
- <>
690
- <View
691
- style={[shouldApplyAndroidWorkaround ? styles.invertAndroid : undefined]}
692
- testID={`message-list-item-${index}`}
693
- >
694
- {shouldApplyAndroidWorkaround && renderDateSeperator}
695
- {renderMessage}
677
+ <View style={[shouldApplyAndroidWorkaround ? styles.invertAndroid : undefined]}>
678
+ {insertInlineUnreadIndicator && <InlineUnreadIndicator />}
696
679
  </View>
697
- {!shouldApplyAndroidWorkaround && renderDateSeperator}
698
- {/* Adding indicator below the messages, since the list is inverted */}
699
- {insertInlineUnreadIndicator && <InlineUnreadIndicator />}
700
680
  </>
701
681
  );
702
682
  };
@@ -724,7 +704,7 @@ const MessageListWithContext = <
724
704
  * 2. Ensures that we call `loadMoreRecent`, once per content length
725
705
  * 3. If the call to `loadMore` is in progress, we wait for it to finish to make sure scroll doesn't jump.
726
706
  */
727
- const maybeCallOnStartReached = async (limit?: number) => {
707
+ const maybeCallOnStartReached = async () => {
728
708
  // If onStartReached has already been called for given data length, then ignore.
729
709
  if (
730
710
  processedMessageList?.length &&
@@ -756,8 +736,8 @@ const MessageListWithContext = <
756
736
  }
757
737
  onStartReachedInPromise.current = (
758
738
  threadList && !!threadInstance && loadMoreRecentThread
759
- ? loadMoreRecentThread({ limit })
760
- : loadMoreRecent(limit)
739
+ ? loadMoreRecentThread({})
740
+ : loadMoreRecent()
761
741
  )
762
742
  .then(callback)
763
743
  .catch(onError);
@@ -831,8 +811,7 @@ const MessageListWithContext = <
831
811
  const notLatestSet = channel.state.messages !== channel.state.latestMessages;
832
812
 
833
813
  const showScrollToBottomButton =
834
- messageListHasMessages &&
835
- ((!threadList && notLatestSet) || !isScrollAtBottom || !hasNoMoreRecentMessagesToLoad);
814
+ messageListHasMessages && ((!threadList && notLatestSet) || !isScrollAtBottom);
836
815
 
837
816
  /**
838
817
  * 1. If I scroll up -> show scrollToBottom button.
@@ -842,12 +821,7 @@ const MessageListWithContext = <
842
821
  */
843
822
  setScrollToBottomButtonVisible(showScrollToBottomButton);
844
823
 
845
- const shouldMarkRead =
846
- !threadList &&
847
- !notLatestSet &&
848
- offset <= 0 &&
849
- hasNoMoreRecentMessagesToLoad &&
850
- channel.countUnread() > 0;
824
+ const shouldMarkRead = !threadList && !notLatestSet && offset <= 0 && channel.countUnread() > 0;
851
825
 
852
826
  if (shouldMarkRead) {
853
827
  markRead();
@@ -862,6 +836,7 @@ const MessageListWithContext = <
862
836
 
863
837
  const goToNewMessages = async () => {
864
838
  const isNotLatestSet = channel.state.messages !== channel.state.latestMessages;
839
+
865
840
  if (isNotLatestSet) {
866
841
  resetPaginationTrackersRef.current();
867
842
  await reloadChannel();
@@ -925,7 +900,7 @@ const MessageListWithContext = <
925
900
  // this onScrollToIndexFailed will be called again
926
901
  });
927
902
 
928
- const goToMessage = (messageId: string) => {
903
+ const goToMessage = async (messageId: string) => {
929
904
  const indexOfParentInMessageList = processedMessageList.findIndex(
930
905
  (message) => message?.id === messageId,
931
906
  );
@@ -944,7 +919,7 @@ const MessageListWithContext = <
944
919
  return;
945
920
  }
946
921
  // the message we want was not loaded yet, so lets load it
947
- loadChannelAroundMessage({ messageId });
922
+ await loadChannelAroundMessage({ messageId });
948
923
  };
949
924
 
950
925
  /**
@@ -985,6 +960,7 @@ const MessageListWithContext = <
985
960
  viewPosition: 0.5, // try to place message in the center of the screen
986
961
  });
987
962
  }
963
+
988
964
  // the message we want to scroll to has not been loaded in the state yet
989
965
  if (indexOfParentInMessageList === -1) {
990
966
  loadChannelAroundMessage({ messageId: messageIdToScroll });
@@ -1047,11 +1023,12 @@ const MessageListWithContext = <
1047
1023
  ]);
1048
1024
 
1049
1025
  const dismissImagePicker = () => {
1050
- if (!hasMoved && selectedPicker) {
1026
+ if (selectedPicker) {
1051
1027
  setSelectedPicker(undefined);
1052
1028
  closePicker();
1053
1029
  }
1054
1030
  };
1031
+
1055
1032
  const onScrollBeginDrag: ScrollViewProps['onScrollBeginDrag'] = (event) => {
1056
1033
  !hasMoved && selectedPicker && setHasMoved(true);
1057
1034
  onUserScrollEvent(event);
@@ -1155,17 +1132,17 @@ const MessageListWithContext = <
1155
1132
  ]}
1156
1133
  /** Disables the MessageList UI. Which means, message actions, reactions won't work. */
1157
1134
  data={processedMessageList}
1158
- extraData={disabled || !hasNoMoreRecentMessagesToLoad}
1135
+ extraData={disabled}
1159
1136
  inverted={shouldApplyAndroidWorkaround ? false : inverted}
1160
1137
  ItemSeparatorComponent={WrappedItemSeparatorComponent}
1161
1138
  keyboardShouldPersistTaps='handled'
1162
1139
  keyExtractor={keyExtractor}
1163
1140
  ListFooterComponent={ListFooterComponent}
1164
1141
  /**
1165
- if autoscrollToTopThreshold is 10, we scroll to recent if before new list update it was already at the bottom (10 offset or below)
1166
- minIndexForVisible = 1 means that beyond item at index 1 will not change position on list updates
1167
- minIndexForVisible is not used when autoscrollToTopThreshold = 10
1168
- */
1142
+ if autoscrollToTopThreshold is 10, we scroll to recent if before new list update it was already at the bottom (10 offset or below)
1143
+ minIndexForVisible = 1 means that beyond item at index 1 will not change position on list updates
1144
+ minIndexForVisible is not used when autoscrollToTopThreshold = 10
1145
+ */
1169
1146
  ListHeaderComponent={ListHeaderComponent}
1170
1147
  maintainVisibleContentPosition={{
1171
1148
  autoscrollToTopThreshold: autoscrollToRecent ? 10 : undefined,
@@ -1194,26 +1171,21 @@ const MessageListWithContext = <
1194
1171
  {...additionalFlatListPropsExcludingStyle}
1195
1172
  />
1196
1173
  )}
1197
-
1198
- {!loading && (
1199
- <>
1200
- <View style={styles.stickyHeader}>
1201
- {messageListLengthAfterUpdate && StickyHeader ? (
1202
- <StickyHeader date={stickyHeaderDate} DateHeader={DateHeader} />
1203
- ) : null}
1204
- </View>
1205
- {!disableTypingIndicator && TypingIndicator && (
1206
- <TypingIndicatorContainer>
1207
- <TypingIndicator />
1208
- </TypingIndicatorContainer>
1209
- )}
1210
- <ScrollToBottomButton
1211
- onPress={goToNewMessages}
1212
- showNotification={scrollToBottomButtonVisible}
1213
- unreadCount={threadList ? 0 : channel?.countUnread()}
1214
- />
1215
- </>
1174
+ <View style={styles.stickyHeader}>
1175
+ {messageListLengthAfterUpdate && StickyHeader ? (
1176
+ <StickyHeader date={stickyHeaderDate} DateHeader={DateHeader} />
1177
+ ) : null}
1178
+ </View>
1179
+ {!disableTypingIndicator && TypingIndicator && (
1180
+ <TypingIndicatorContainer>
1181
+ <TypingIndicator />
1182
+ </TypingIndicatorContainer>
1216
1183
  )}
1184
+ <ScrollToBottomButton
1185
+ onPress={goToNewMessages}
1186
+ showNotification={scrollToBottomButtonVisible}
1187
+ unreadCount={threadList ? 0 : channel?.countUnread()}
1188
+ />
1217
1189
  <NetworkDownIndicator />
1218
1190
  </View>
1219
1191
  );
@@ -1267,8 +1239,7 @@ export const MessageList = <
1267
1239
  TypingIndicator,
1268
1240
  TypingIndicatorContainer,
1269
1241
  } = useMessagesContext<StreamChatGenerics>();
1270
- const { hasNoMoreRecentMessagesToLoad, loadMore, loadMoreRecent } =
1271
- usePaginatedMessageListContext<StreamChatGenerics>();
1242
+ const { loadMore, loadMoreRecent } = usePaginatedMessageListContext<StreamChatGenerics>();
1272
1243
  const { overlay } = useOverlayContext();
1273
1244
  const { loadMoreRecentThread, loadMoreThread, thread, threadInstance } =
1274
1245
  useThreadContext<StreamChatGenerics>();
@@ -1286,7 +1257,6 @@ export const MessageList = <
1286
1257
  enableMessageGroupingByUser,
1287
1258
  error,
1288
1259
  FlatList,
1289
- hasNoMoreRecentMessagesToLoad,
1290
1260
  hideStickyDateHeader,
1291
1261
  initialScrollToFirstUnreadMessage,
1292
1262
  InlineDateSeparator,
@@ -80,7 +80,7 @@ export const ScrollToBottomButton = (props: ScrollToBottomButtonProps) => {
80
80
  <TouchableOpacity
81
81
  onPress={onPress}
82
82
  style={[styles.touchable, touchable]}
83
- testID='message-notification'
83
+ testID='scroll-to-bottom-button'
84
84
  >
85
85
  <View style={[styles.wrapper, wrapper]}>
86
86
  <View style={[styles.container, { backgroundColor: white, shadowColor: black }, container]}>
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
 
3
- import { act, cleanup, render, screen, waitFor } from '@testing-library/react-native';
3
+ import { act, cleanup, fireEvent, render, screen, waitFor } from '@testing-library/react-native';
4
4
 
5
5
  import { OverlayProvider } from '../../../contexts/overlayContext/OverlayProvider';
6
6
  import { getOrCreateChannelApi } from '../../../mock-builders/api/getOrCreateChannel';
@@ -13,8 +13,9 @@ import { generateMember } from '../../../mock-builders/generator/member';
13
13
  import { generateMessage } from '../../../mock-builders/generator/message';
14
14
  import { generateUser } from '../../../mock-builders/generator/user';
15
15
  import { getTestClientWithUser } from '../../../mock-builders/mock';
16
- import { registerNativeHandlers } from '../../../native';
17
16
  import { Channel } from '../../Channel/Channel';
17
+ import { channelInitialState } from '../../Channel/hooks/useChannelDataState';
18
+ import * as MessageListPaginationHook from '../../Channel/hooks/useMessageListPagination';
18
19
  import { Chat } from '../../Chat/Chat';
19
20
  import { MessageList } from '../MessageList';
20
21
 
@@ -48,7 +49,7 @@ describe('MessageList', () => {
48
49
  act(() => dispatchMessageNewEvent(chatClient, newMessage, mockedChannel.channel));
49
50
 
50
51
  await waitFor(() => {
51
- expect(queryAllByTestId('message-notification')).toHaveLength(0);
52
+ expect(queryAllByTestId('scroll-to-bottom-button')).toHaveLength(0);
52
53
  expect(getByText(newMessage.text)).toBeTruthy();
53
54
  });
54
55
  }, 10000);
@@ -314,16 +315,6 @@ describe('MessageList', () => {
314
315
  });
315
316
 
316
317
  it('should render the is offline error', async () => {
317
- registerNativeHandlers({
318
- NetInfo: {
319
- addEventListener: () => () => null,
320
- fetch: () =>
321
- new Promise((resolve) => {
322
- resolve(false);
323
- }),
324
- },
325
- });
326
-
327
318
  const user1 = generateUser();
328
319
  const mockedChannel = generateChannelResponse({
329
320
  members: [generateMember({ user: user1 })],
@@ -351,16 +342,6 @@ describe('MessageList', () => {
351
342
  expect(getByTestId('error-notification')).toBeTruthy();
352
343
  expect(getByText('Reconnecting...')).toBeTruthy();
353
344
  });
354
-
355
- registerNativeHandlers({
356
- NetInfo: {
357
- addEventListener: () => () => null,
358
- fetch: () =>
359
- new Promise((resolve) => {
360
- resolve(true);
361
- }),
362
- },
363
- });
364
345
  });
365
346
 
366
347
  it('should scroll to a message even if out of the loaded window', async () => {
@@ -402,3 +383,173 @@ describe('MessageList', () => {
402
383
  });
403
384
  });
404
385
  });
386
+
387
+ describe('MessageList pagination', () => {
388
+ afterEach(() => {
389
+ cleanup();
390
+ jest.clearAllMocks();
391
+ });
392
+
393
+ const mockedHook = (values) => {
394
+ const messages = Array.from({ length: 100 }, (_, i) =>
395
+ generateMessage({ text: `message-${i}` }),
396
+ );
397
+ return jest
398
+ .spyOn(MessageListPaginationHook, 'useMessageListPagination')
399
+ .mockImplementation(() => ({
400
+ copyMessagesStateFromChannel: jest.fn(),
401
+ loadChannelAroundMessage: jest.fn(),
402
+ loadChannelAtFirstUnreadMessage: jest.fn(),
403
+ loadInitialMessagesStateFromChannel: jest.fn(),
404
+ loadLatestMessages: jest.fn(),
405
+ loadMore: jest.fn(),
406
+ loadMoreRecent: jest.fn(),
407
+ state: { ...channelInitialState, messages },
408
+ ...values,
409
+ }));
410
+ };
411
+
412
+ it('should load more recent messages when the user scrolls to the start of the list', async () => {
413
+ const user1 = generateUser();
414
+ const mockedChannel = generateChannelResponse({
415
+ members: [generateMember({ user: user1 })],
416
+ messages: Array.from({ length: 100 }, (_, i) => generateMessage({ text: `message-${i}` })),
417
+ });
418
+
419
+ const chatClient = await getTestClientWithUser({ id: 'testID' });
420
+ useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
421
+ const channel = chatClient.channel('messaging', mockedChannel.id);
422
+ await channel.watch();
423
+
424
+ const loadMoreRecent = jest.fn(() => Promise.resolve());
425
+ mockedHook({ loadMoreRecent });
426
+
427
+ const { getByTestId } = render(
428
+ <OverlayProvider>
429
+ <Chat client={chatClient}>
430
+ <Channel channel={channel}>
431
+ <MessageList />
432
+ </Channel>
433
+ </Chat>
434
+ </OverlayProvider>,
435
+ );
436
+
437
+ act(() => {
438
+ // scroll to the top of the list
439
+ const flatList = getByTestId('message-flat-list');
440
+ fireEvent(flatList, 'momentumScrollEnd', {
441
+ nativeEvent: {
442
+ contentOffset: { y: 0 }, // Scroll position at the top
443
+ contentSize: { height: 2000, width: 200 }, // Total content size
444
+ layoutMeasurement: { height: 400, width: 200 }, // Visible area size
445
+ },
446
+ });
447
+ });
448
+
449
+ await waitFor(() => {
450
+ expect(loadMoreRecent).toHaveBeenCalledTimes(1);
451
+ });
452
+ });
453
+
454
+ it('should load more messages when the user scrolls to the end of the list', async () => {
455
+ const user1 = generateUser();
456
+ const mockedChannel = generateChannelResponse({
457
+ members: [generateMember({ user: user1 })],
458
+ messages: Array.from({ length: 100 }, (_, i) => generateMessage({ text: `message-${i}` })),
459
+ });
460
+
461
+ const chatClient = await getTestClientWithUser({ id: 'testID' });
462
+ useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
463
+ const channel = chatClient.channel('messaging', mockedChannel.id);
464
+ await channel.watch();
465
+
466
+ const loadMore = jest.fn(() => Promise.resolve());
467
+ mockedHook({ loadMore });
468
+
469
+ const { getByTestId } = render(
470
+ <OverlayProvider>
471
+ <Chat client={chatClient}>
472
+ <Channel channel={channel}>
473
+ <MessageList />
474
+ </Channel>
475
+ </Chat>
476
+ </OverlayProvider>,
477
+ );
478
+
479
+ act(() => {
480
+ // scroll to the top of the list
481
+ const flatList = getByTestId('message-flat-list');
482
+ fireEvent(flatList, 'momentumScrollEnd', {
483
+ nativeEvent: {
484
+ contentOffset: { y: 1900 }, // Scroll position at the top
485
+ contentSize: { height: 2000, width: 200 }, // Total content size
486
+ layoutMeasurement: { height: 400, width: 200 }, // Visible area size
487
+ },
488
+ });
489
+ });
490
+
491
+ await waitFor(() => {
492
+ expect(loadMore).toHaveBeenCalledTimes(1);
493
+ });
494
+ });
495
+
496
+ it('should call load latest messages when the scroll to bottom button is pressed', async () => {
497
+ const user1 = generateUser();
498
+ const messages = Array.from({ length: 10 }, (_, i) =>
499
+ generateMessage({ text: `message-${i}` }),
500
+ );
501
+ const mockedChannel = generateChannelResponse({
502
+ members: [generateMember({ user: user1 })],
503
+ messages,
504
+ });
505
+
506
+ const chatClient = await getTestClientWithUser({ id: 'testID' });
507
+ useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
508
+ const channel = chatClient.channel('messaging', mockedChannel.id);
509
+ await channel.watch();
510
+
511
+ channel.state = {
512
+ ...channelInitialState,
513
+ latestMessages: [],
514
+ members: Object.fromEntries(
515
+ Array.from({ length: 10 }, (_, i) => [i, generateMember({ id: i })]),
516
+ ),
517
+ messages: Array.from({ length: 10 }, (_, i) => generateMessage({ id: i })),
518
+ messageSets: [{ isCurrent: true, isLatest: true }],
519
+ };
520
+
521
+ const loadLatestMessages = jest.fn(() => Promise.resolve());
522
+ mockedHook({ loadLatestMessages });
523
+
524
+ const { getByTestId } = render(
525
+ <OverlayProvider>
526
+ <Chat client={chatClient}>
527
+ <Channel channel={channel}>
528
+ <MessageList />
529
+ </Channel>
530
+ </Chat>
531
+ </OverlayProvider>,
532
+ );
533
+
534
+ act(() => {
535
+ // scroll to the top of the list
536
+ const flatList = getByTestId('message-flat-list');
537
+ fireEvent(flatList, 'scroll', {
538
+ nativeEvent: {
539
+ contentOffset: { y: 1900 }, // Scroll position at the top
540
+ contentSize: { height: 2000, width: 200 }, // Total content size
541
+ layoutMeasurement: { height: 400, width: 200 }, // Visible area size
542
+ },
543
+ });
544
+ });
545
+
546
+ await waitFor(() => {
547
+ const scrollToBottomButton = getByTestId('scroll-to-bottom-button');
548
+ expect(scrollToBottomButton).toBeTruthy();
549
+
550
+ fireEvent.press(scrollToBottomButton);
551
+
552
+ expect(loadLatestMessages).toHaveBeenCalledTimes(1);
553
+ });
554
+ });
555
+ });
@@ -22,7 +22,7 @@ describe('ScrollToBottomButton', () => {
22
22
  );
23
23
 
24
24
  await waitFor(() => {
25
- expect(queryByTestId('message-notification')).toBeFalsy();
25
+ expect(queryByTestId('scroll-to-bottom-button')).toBeFalsy();
26
26
  });
27
27
  });
28
28
 
@@ -38,7 +38,7 @@ describe('ScrollToBottomButton', () => {
38
38
  );
39
39
 
40
40
  await waitFor(() => {
41
- expect(queryByTestId('message-notification')).toBeTruthy();
41
+ expect(queryByTestId('scroll-to-bottom-button')).toBeTruthy();
42
42
  });
43
43
  });
44
44
 
@@ -53,7 +53,7 @@ describe('ScrollToBottomButton', () => {
53
53
  </TranslationProvider>
54
54
  </ThemeProvider>,
55
55
  );
56
- fireEvent.press(getByTestId('message-notification'));
56
+ fireEvent.press(getByTestId('scroll-to-bottom-button'));
57
57
  expect(onPress).toHaveBeenCalledTimes(1);
58
58
  });
59
59
 
@@ -37,7 +37,7 @@ exports[`ScrollToBottomButton should render the message notification and match s
37
37
  "right": 20,
38
38
  }
39
39
  }
40
- testID="message-notification"
40
+ testID="scroll-to-bottom-button"
41
41
  >
42
42
  <View
43
43
  style={
@@ -1,9 +1,6 @@
1
1
  import type { ChannelState, MessageResponse } from 'stream-chat';
2
2
 
3
- import {
4
- ChannelContextValue,
5
- useChannelContext,
6
- } from '../../../contexts/channelContext/ChannelContext';
3
+ import { useChannelContext } from '../../../contexts/channelContext/ChannelContext';
7
4
  import { useChatContext } from '../../../contexts/chatContext/ChatContext';
8
5
  import {
9
6
  DeletedMessagesVisibilityType,
@@ -61,7 +58,7 @@ export const useMessageList = <
61
58
  const { threadMessages } = useThreadContext<StreamChatGenerics>();
62
59
 
63
60
  const messageList = threadList ? threadMessages : messages;
64
- const readList: ChannelContextValue<StreamChatGenerics>['read'] | undefined = threadList
61
+ const readList: ChannelState<StreamChatGenerics>['read'] | undefined = threadList
65
62
  ? undefined
66
63
  : read;
67
64
 
@@ -1,4 +1,5 @@
1
- import type { ChannelContextValue } from '../../../contexts/channelContext/ChannelContext';
1
+ import { ChannelState } from 'stream-chat';
2
+
2
3
  import type { PaginatedMessageListContextValue } from '../../../contexts/paginatedMessageListContext/PaginatedMessageListContext';
3
4
  import type { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';
4
5
  import type { DefaultStreamChatGenerics } from '../../../types/types';
@@ -10,7 +11,7 @@ export const getReadStates = <
10
11
  messages:
11
12
  | PaginatedMessageListContextValue<StreamChatGenerics>['messages']
12
13
  | ThreadContextValue<StreamChatGenerics>['threadMessages'],
13
- read?: ChannelContextValue<StreamChatGenerics>['read'],
14
+ read?: ChannelState<StreamChatGenerics>['read'],
14
15
  ) => {
15
16
  const readData: Record<string, number> = {};
16
17