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
@@ -24,11 +24,10 @@ import { useStreami18n } from '../../hooks/useStreami18n';
24
24
  import init from '../../init';
25
25
 
26
26
  import { SDK } from '../../native';
27
- import { QuickSqliteClient } from '../../store/QuickSqliteClient';
27
+ import { SqliteClient } from '../../store/SqliteClient';
28
28
  import type { DefaultStreamChatGenerics } from '../../types/types';
29
29
  import { DBSyncManager } from '../../utils/DBSyncManager';
30
30
  import type { Streami18n } from '../../utils/i18n/Streami18n';
31
- import { StreamChatRN } from '../../utils/StreamChatRN';
32
31
  import { version } from '../../version.json';
33
32
 
34
33
  init();
@@ -36,12 +35,7 @@ init();
36
35
  export type ChatProps<
37
36
  StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
38
37
  > = Pick<ChatContextValue<StreamChatGenerics>, 'client'> &
39
- Partial<
40
- Pick<
41
- ChatContextValue<StreamChatGenerics>,
42
- 'ImageComponent' | 'resizableCDNHosts' | 'isMessageAIGenerated'
43
- >
44
- > & {
38
+ Partial<Pick<ChatContextValue<StreamChatGenerics>, 'ImageComponent' | 'isMessageAIGenerated'>> & {
45
39
  /**
46
40
  * When false, ws connection won't be disconnection upon backgrounding the app.
47
41
  * To receive push notifications, its necessary that user doesn't have active
@@ -156,7 +150,6 @@ const ChatWithContext = <
156
150
  ImageComponent = Image,
157
151
  isMessageAIGenerated,
158
152
  LoadingIndicator = null,
159
- resizableCDNHosts = ['.stream-io-cdn.com'],
160
153
  style,
161
154
  } = props;
162
155
 
@@ -178,6 +171,7 @@ const ChatWithContext = <
178
171
  userID?: string;
179
172
  }>({
180
173
  initialised: false,
174
+ userID: client.userID,
181
175
  });
182
176
 
183
177
  /**
@@ -191,9 +185,6 @@ const ChatWithContext = <
191
185
 
192
186
  const userID = client.userID;
193
187
 
194
- // Set the `resizableCDNHosts` as per the prop.
195
- StreamChatRN.setConfig({ resizableCDNHosts });
196
-
197
188
  useEffect(() => {
198
189
  if (client) {
199
190
  client.setUserAgent(`${SDK}-${Platform.OS}-${version}`);
@@ -216,15 +207,30 @@ const ChatWithContext = <
216
207
  const setActiveChannel = (newChannel?: Channel<StreamChatGenerics>) => setChannel(newChannel);
217
208
 
218
209
  useEffect(() => {
219
- if (userID && enableOfflineSupport) {
210
+ if (!(userID && enableOfflineSupport)) return;
211
+
212
+ const initializeDatabase = () => {
220
213
  // This acts as a lock for some very rare occurrences of concurrency
221
214
  // issues we've encountered before with the QuickSqliteClient being
222
215
  // uninitialized before it's being invoked.
223
216
  setInitialisedDatabaseConfig({ initialised: false, userID });
224
- QuickSqliteClient.initializeDatabase();
225
- setInitialisedDatabaseConfig({ initialised: true, userID });
226
- DBSyncManager.init(client as unknown as StreamChat);
227
- }
217
+ SqliteClient.initializeDatabase()
218
+ .then(async () => {
219
+ setInitialisedDatabaseConfig({ initialised: true, userID });
220
+ await DBSyncManager.init(client as unknown as StreamChat);
221
+ })
222
+ .catch((error) => {
223
+ console.log('Error Initializing DB:', error);
224
+ });
225
+ };
226
+
227
+ initializeDatabase();
228
+
229
+ return () => {
230
+ if (userID && enableOfflineSupport) {
231
+ SqliteClient.closeDB();
232
+ }
233
+ };
228
234
  // eslint-disable-next-line react-hooks/exhaustive-deps
229
235
  }, [userID, enableOfflineSupport]);
230
236
 
@@ -259,7 +265,6 @@ const ChatWithContext = <
259
265
  isMessageAIGenerated,
260
266
  isOnline,
261
267
  mutedUsers,
262
- resizableCDNHosts,
263
268
  setActiveChannel,
264
269
  });
265
270
 
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import { View } from 'react-native';
3
3
 
4
+ import NetInfo from '@react-native-community/netinfo';
5
+
4
6
  import { act, cleanup, render, waitFor } from '@testing-library/react-native';
5
7
 
6
- import { setNetInfoFetchMock } from '../../../../jest-setup';
7
8
  import { useChatContext } from '../../../contexts/chatContext/ChatContext';
8
9
 
9
10
  import { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';
@@ -43,8 +44,6 @@ describe('Chat', () => {
43
44
 
44
45
  it('listens and updates state on a connection changed event', async () => {
45
46
  let context;
46
- const netInfoFetch = jest.fn();
47
- setNetInfoFetchMock(netInfoFetch);
48
47
 
49
48
  render(
50
49
  <Chat client={chatClient}>
@@ -56,7 +55,7 @@ describe('Chat', () => {
56
55
  </Chat>,
57
56
  );
58
57
 
59
- await waitFor(() => expect(netInfoFetch).toHaveBeenCalledTimes(1));
58
+ await waitFor(() => expect(NetInfo.fetch).toHaveBeenCalledTimes(1));
60
59
 
61
60
  const { connectionRecovering } = context;
62
61
  act(() => dispatchConnectionChangedEvent(chatClient, false));
@@ -83,215 +82,237 @@ describe('Chat', () => {
83
82
 
84
83
  await waitFor(() => expect(context.connectionRecovering).toStrictEqual(false));
85
84
  });
85
+ });
86
86
 
87
- describe('ChatContext', () => {
88
- it('exposes the chat context', async () => {
89
- let context;
90
-
91
- render(
92
- <Chat client={chatClient}>
93
- <ChatContextConsumer
94
- fn={(ctx) => {
95
- context = ctx;
96
- }}
97
- ></ChatContextConsumer>
98
- </Chat>,
99
- );
87
+ describe('ChatContext', () => {
88
+ afterEach(cleanup);
89
+ const chatClient = getTestClient();
90
+ it('exposes the chat context', async () => {
91
+ let context;
100
92
 
101
- await waitFor(() => {
102
- expect(context).toBeInstanceOf(Object);
103
- expect(context.channel).toBeUndefined();
104
- expect(context.client).toBe(chatClient);
105
- expect(context.connectionRecovering).toBeFalsy();
106
- expect(context.setActiveChannel).toBeInstanceOf(Function);
107
- });
93
+ render(
94
+ <Chat client={chatClient}>
95
+ <ChatContextConsumer
96
+ fn={(ctx) => {
97
+ context = ctx;
98
+ }}
99
+ ></ChatContextConsumer>
100
+ </Chat>,
101
+ );
102
+
103
+ await waitFor(() => {
104
+ expect(context).toBeInstanceOf(Object);
105
+ expect(context.channel).toBeUndefined();
106
+ expect(context.client).toBe(chatClient);
107
+ expect(context.connectionRecovering).toBeFalsy();
108
+ expect(context.setActiveChannel).toBeInstanceOf(Function);
108
109
  });
110
+ });
109
111
 
110
- it('calls setActiveChannel to set a new channel in context', async () => {
111
- let context;
112
-
113
- render(
114
- <Chat client={chatClient}>
115
- <ChatContextConsumer
116
- fn={(ctx) => {
117
- context = ctx;
118
- }}
119
- ></ChatContextConsumer>
120
- </Chat>,
121
- );
112
+ it('calls setActiveChannel to set a new channel in context', async () => {
113
+ let context;
122
114
 
123
- const channel = { cid: 'cid', id: 'cid', query: jest.fn() };
115
+ render(
116
+ <Chat client={chatClient}>
117
+ <ChatContextConsumer
118
+ fn={(ctx) => {
119
+ context = ctx;
120
+ }}
121
+ ></ChatContextConsumer>
122
+ </Chat>,
123
+ );
124
+
125
+ const channel = { cid: 'cid', id: 'cid', query: jest.fn() };
126
+
127
+ await waitFor(() => expect(context.channel).toBeUndefined());
128
+ act(() => context.setActiveChannel(channel));
129
+
130
+ await waitFor(() => expect(context.channel).toStrictEqual(channel));
131
+ });
132
+ });
133
+
134
+ describe('TranslationContext', () => {
135
+ beforeEach(() => {
136
+ jest.spyOn(DBSyncManager, 'init');
137
+ });
138
+
139
+ afterEach(() => {
140
+ jest.clearAllMocks();
141
+ cleanup();
142
+ });
124
143
 
125
- await waitFor(() => expect(context.channel).toBeUndefined());
126
- act(() => context.setActiveChannel(channel));
144
+ const chatClient = getTestClient();
145
+ it('exposes the translation context', async () => {
146
+ let context;
127
147
 
128
- await waitFor(() => expect(context.channel).toStrictEqual(channel));
148
+ render(
149
+ <Chat client={chatClient}>
150
+ <TranslationContextConsumer
151
+ fn={(ctx) => {
152
+ context = ctx;
153
+ }}
154
+ ></TranslationContextConsumer>
155
+ </Chat>,
156
+ );
157
+
158
+ await waitFor(() => {
159
+ expect(context).toBeInstanceOf(Object);
160
+ expect(context.t).toBeInstanceOf(Function);
161
+ expect(context.tDateTimeParser).toBeInstanceOf(Function);
129
162
  });
130
163
  });
131
164
 
132
- describe('TranslationContext', () => {
133
- it('exposes the translation context', async () => {
134
- let context;
135
-
136
- render(
137
- <Chat client={chatClient}>
138
- <TranslationContextConsumer
139
- fn={(ctx) => {
140
- context = ctx;
141
- }}
142
- ></TranslationContextConsumer>
143
- </Chat>,
144
- );
165
+ it('uses the i18nInstance provided in props', async () => {
166
+ let context;
167
+ const i18nInstance = new Streami18n();
168
+ const { t, tDateTimeParser } = await i18nInstance.getTranslators();
145
169
 
146
- await waitFor(() => {
147
- expect(context).toBeInstanceOf(Object);
148
- expect(context.t).toBeInstanceOf(Function);
149
- expect(context.tDateTimeParser).toBeInstanceOf(Function);
150
- });
170
+ i18nInstance.t = () => 't';
171
+ i18nInstance.tDateTimeParser = () => 'tDateTimeParser';
172
+
173
+ render(
174
+ <Chat client={chatClient} i18nInstance={i18nInstance}>
175
+ <TranslationContextConsumer
176
+ fn={(ctx) => {
177
+ context = ctx;
178
+ }}
179
+ ></TranslationContextConsumer>
180
+ </Chat>,
181
+ );
182
+
183
+ await waitFor(() => {
184
+ expect(context.t).not.toBe(t);
185
+ expect(context.t).toBe(i18nInstance.t);
186
+ expect(context.tDateTimeParser).not.toBe(tDateTimeParser);
187
+ expect(context.tDateTimeParser).toBe(i18nInstance.tDateTimeParser);
151
188
  });
189
+ });
152
190
 
153
- it('uses the i18nInstance provided in props', async () => {
154
- let context;
155
- const i18nInstance = new Streami18n();
156
- const { t, tDateTimeParser } = await i18nInstance.getTranslators();
157
-
158
- i18nInstance.t = () => 't';
159
- i18nInstance.tDateTimeParser = () => 'tDateTimeParser';
160
-
161
- render(
162
- <Chat client={chatClient} i18nInstance={i18nInstance}>
163
- <TranslationContextConsumer
164
- fn={(ctx) => {
165
- context = ctx;
166
- }}
167
- ></TranslationContextConsumer>
168
- </Chat>,
169
- );
191
+ it('updates the context when props change', async () => {
192
+ let context;
193
+ const i18nInstance = new Streami18n();
194
+
195
+ i18nInstance.t = () => 't';
196
+ i18nInstance.tDateTimeParser = () => 'tDateTimeParser';
170
197
 
171
- await waitFor(() => {
172
- expect(context.t).not.toBe(t);
173
- expect(context.t).toBe(i18nInstance.t);
174
- expect(context.tDateTimeParser).not.toBe(tDateTimeParser);
175
- expect(context.tDateTimeParser).toBe(i18nInstance.tDateTimeParser);
176
- });
198
+ const { rerender } = render(
199
+ <Chat client={chatClient} i18nInstance={i18nInstance}>
200
+ <TranslationContextConsumer
201
+ fn={(ctx) => {
202
+ context = ctx;
203
+ }}
204
+ ></TranslationContextConsumer>
205
+ </Chat>,
206
+ );
207
+
208
+ await waitFor(() => {
209
+ expect(context.t).toBe(i18nInstance.t);
210
+ expect(context.tDateTimeParser).toBe(i18nInstance.tDateTimeParser);
177
211
  });
178
212
 
179
- it('updates the context when props change', async () => {
180
- let context;
181
- const i18nInstance = new Streami18n();
182
-
183
- i18nInstance.t = () => 't';
184
- i18nInstance.tDateTimeParser = () => 'tDateTimeParser';
185
-
186
- const { rerender } = render(
187
- <Chat client={chatClient} i18nInstance={i18nInstance}>
188
- <TranslationContextConsumer
189
- fn={(ctx) => {
190
- context = ctx;
191
- }}
192
- ></TranslationContextConsumer>
193
- </Chat>,
194
- );
213
+ const newI18nInstance = new Streami18n();
195
214
 
196
- await waitFor(() => {
197
- expect(context.t).toBe(i18nInstance.t);
198
- expect(context.tDateTimeParser).toBe(i18nInstance.tDateTimeParser);
199
- });
215
+ newI18nInstance.t = () => 'newT';
216
+ newI18nInstance.tDateTimeParser = () => 'newtDateTimeParser';
200
217
 
201
- const newI18nInstance = new Streami18n();
218
+ rerender(
219
+ <Chat client={chatClient} i18nInstance={newI18nInstance}>
220
+ <TranslationContextConsumer
221
+ fn={(ctx) => {
222
+ context = ctx;
223
+ }}
224
+ ></TranslationContextConsumer>
225
+ </Chat>,
226
+ );
227
+ await waitFor(() => {
228
+ expect(context.t).not.toBe(i18nInstance.t);
229
+ expect(context.t).toBe(newI18nInstance.t);
230
+ expect(context.tDateTimeParser).not.toBe(i18nInstance.tDateTimeParser);
231
+ expect(context.tDateTimeParser).toBe(newI18nInstance.tDateTimeParser);
232
+ });
233
+ });
202
234
 
203
- newI18nInstance.t = () => 'newT';
204
- newI18nInstance.tDateTimeParser = () => 'newtDateTimeParser';
235
+ it('makes sure DBSyncManager listeners are cleaned up after Chat remount', async () => {
236
+ const chatClientWithUser = await getTestClientWithUser({ id: 'testID' });
205
237
 
206
- rerender(
207
- <Chat client={chatClient} i18nInstance={newI18nInstance}>
208
- <TranslationContextConsumer
209
- fn={(ctx) => {
210
- context = ctx;
211
- }}
212
- ></TranslationContextConsumer>
213
- </Chat>,
214
- );
215
- await waitFor(() => {
216
- expect(context.t).not.toBe(i18nInstance.t);
217
- expect(context.t).toBe(newI18nInstance.t);
218
- expect(context.tDateTimeParser).not.toBe(i18nInstance.tDateTimeParser);
219
- expect(context.tDateTimeParser).toBe(newI18nInstance.tDateTimeParser);
220
- });
238
+ // initial mount and render
239
+ const { rerender } = render(<Chat client={chatClientWithUser} enableOfflineSupport key={1} />);
240
+
241
+ let unsubscribeSpy;
242
+ let listenersAfterInitialMount;
243
+
244
+ await waitFor(() => {
245
+ // the unsubscribe fn changes during init(), so we keep a reference to the spy
246
+ unsubscribeSpy = jest.spyOn(DBSyncManager.connectionChangedListener, 'unsubscribe');
247
+ listenersAfterInitialMount = chatClientWithUser.listeners['connection.changed'];
221
248
  });
222
249
 
223
- it('makes sure DBSyncManager listeners are cleaned up after Chat remount', async () => {
224
- const chatClientWithUser = await getTestClientWithUser({ id: 'testID' });
225
- jest.spyOn(DBSyncManager, 'init');
250
+ // remount
251
+ rerender(<Chat client={chatClientWithUser} enableOfflineSupport key={2} />);
226
252
 
227
- // initial mount and render
228
- const { rerender } = render(
229
- <Chat client={chatClientWithUser} enableOfflineSupport key={1} />,
253
+ await waitFor(() => {
254
+ expect(DBSyncManager.init).toHaveBeenCalledTimes(2);
255
+ expect(unsubscribeSpy).toHaveBeenCalledTimes(2);
256
+ expect(chatClientWithUser.listeners['connection.changed'].length).toBe(
257
+ listenersAfterInitialMount.length,
230
258
  );
259
+ });
260
+ });
261
+
262
+ it('makes sure DBSyncManager listeners are cleaned up if the user changes', async () => {
263
+ const chatClientWithUser = await getTestClientWithUser({ id: 'testID1' });
264
+
265
+ // initial render
266
+ const { rerender } = render(<Chat client={chatClientWithUser} enableOfflineSupport />);
267
+
268
+ let unsubscribeSpy;
269
+ let listenersAfterInitialMount;
231
270
 
271
+ await waitFor(() => {
232
272
  // the unsubscribe fn changes during init(), so we keep a reference to the spy
233
- const unsubscribeSpy = jest.spyOn(DBSyncManager.connectionChangedListener, 'unsubscribe');
234
- const listenersAfterInitialMount = chatClientWithUser.listeners['connection.changed'];
235
-
236
- // remount
237
- rerender(<Chat client={chatClientWithUser} enableOfflineSupport key={2} />);
238
-
239
- await waitFor(() => {
240
- expect(DBSyncManager.init).toHaveBeenCalledTimes(2);
241
- expect(unsubscribeSpy).toHaveBeenCalledTimes(2);
242
- expect(chatClientWithUser.listeners['connection.changed'].length).toBe(
243
- listenersAfterInitialMount.length,
244
- );
245
- });
273
+ unsubscribeSpy = jest.spyOn(DBSyncManager.connectionChangedListener, 'unsubscribe');
274
+ listenersAfterInitialMount = chatClientWithUser.listeners['connection.changed'];
246
275
  });
247
276
 
248
- it('makes sure DBSyncManager listeners are cleaned up if the user changes', async () => {
249
- const chatClientWithUser = await getTestClientWithUser({ id: 'testID1' });
250
- jest.spyOn(DBSyncManager, 'init');
277
+ await act(async () => {
278
+ await setUser(chatClientWithUser, { id: 'testID2' });
279
+ });
251
280
 
252
- // initial render
253
- const { rerender } = render(<Chat client={chatClientWithUser} enableOfflineSupport />);
281
+ // rerender with different user ID
282
+ rerender(<Chat client={chatClientWithUser} enableOfflineSupport />);
254
283
 
255
- // the unsubscribe fn changes during init(), so we keep a reference to the spy
256
- const unsubscribeSpy = jest.spyOn(DBSyncManager.connectionChangedListener, 'unsubscribe');
257
- await act(async () => {
258
- await setUser(chatClientWithUser, { id: 'testID2' });
259
- });
260
- const listenersAfterInitialMount = chatClientWithUser.listeners['connection.changed'];
261
-
262
- // rerender with different user ID
263
- rerender(<Chat client={chatClientWithUser} enableOfflineSupport />);
264
-
265
- await waitFor(() => {
266
- expect(DBSyncManager.init).toHaveBeenCalledTimes(2);
267
- expect(unsubscribeSpy).toHaveBeenCalledTimes(1);
268
- expect(chatClientWithUser.listeners['connection.changed'].length).toBe(
269
- listenersAfterInitialMount.length,
270
- );
271
- });
284
+ await waitFor(() => {
285
+ expect(DBSyncManager.init).toHaveBeenCalledTimes(2);
286
+ expect(unsubscribeSpy).toHaveBeenCalledTimes(1);
287
+ expect(chatClientWithUser.listeners['connection.changed'].length).toBe(
288
+ listenersAfterInitialMount.length,
289
+ );
272
290
  });
291
+ });
273
292
 
274
- it('makes sure DBSyncManager state stays intact during normal rerenders', async () => {
275
- const chatClientWithUser = await getTestClientWithUser({ id: 'testID' });
276
- jest.spyOn(DBSyncManager, 'init');
293
+ it('makes sure DBSyncManager state stays intact during normal rerenders', async () => {
294
+ const chatClientWithUser = await getTestClientWithUser({ id: 'testID' });
277
295
 
278
- // initial render
279
- const { rerender } = render(<Chat client={chatClientWithUser} enableOfflineSupport />);
296
+ // initial render
297
+ const { rerender } = render(<Chat client={chatClientWithUser} enableOfflineSupport />);
280
298
 
299
+ let unsubscribeSpy;
300
+ await waitFor(() => {
281
301
  // the unsubscribe fn changes during init(), so we keep a reference to the spy
282
- const unsubscribeSpy = jest.spyOn(DBSyncManager.connectionChangedListener, 'unsubscribe');
283
- const listenersAfterInitialMount = chatClientWithUser.listeners['connection.changed'];
284
-
285
- // rerender
286
- rerender(<Chat client={chatClientWithUser} enableOfflineSupport />);
287
-
288
- await waitFor(() => {
289
- expect(DBSyncManager.init).toHaveBeenCalledTimes(1);
290
- expect(unsubscribeSpy).toHaveBeenCalledTimes(0);
291
- expect(chatClientWithUser.listeners['connection.changed'].length).toBe(
292
- listenersAfterInitialMount.length,
293
- );
294
- });
302
+ unsubscribeSpy = jest.spyOn(DBSyncManager.connectionChangedListener, 'unsubscribe');
303
+ });
304
+
305
+ const listenersAfterInitialMount = chatClientWithUser.listeners['connection.changed'];
306
+
307
+ // rerender
308
+ rerender(<Chat client={chatClientWithUser} enableOfflineSupport />);
309
+
310
+ await waitFor(() => {
311
+ expect(DBSyncManager.init).toHaveBeenCalledTimes(1);
312
+ expect(unsubscribeSpy).toHaveBeenCalledTimes(1);
313
+ expect(chatClientWithUser.listeners['connection.changed'].length).toBe(
314
+ listenersAfterInitialMount.length,
315
+ );
295
316
  });
296
317
  });
297
318
  });
@@ -11,12 +11,12 @@ import { upsertChannels } from '../../../store/apis/upsertChannels';
11
11
  import { upsertMembers } from '../../../store/apis/upsertMembers';
12
12
  import { upsertMessages } from '../../../store/apis/upsertMessages';
13
13
  import { upsertReads } from '../../../store/apis/upsertReads';
14
- import { QuickSqliteClient } from '../../../store/QuickSqliteClient';
15
14
  import { createSelectQuery } from '../../../store/sqlite-utils/createSelectQuery';
15
+ import { SqliteClient } from '../../../store/SqliteClient';
16
16
  import { PreparedQueries } from '../../../store/types';
17
17
  import { DefaultStreamChatGenerics } from '../../../types/types';
18
18
 
19
- export const handleEventToSyncDB = <
19
+ export const handleEventToSyncDB = async <
20
20
  StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
21
21
  >(
22
22
  event: Event,
@@ -28,13 +28,13 @@ export const handleEventToSyncDB = <
28
28
  // This function is used to guard the queries that require channel to be present in the db first
29
29
  // If channel is not present in the db, we first fetch the channel data from the channel object
30
30
  // and then add the queries with a channel create query first
31
- const queriesWithChannelGuard = (
32
- createQueries: (flushOverride?: boolean) => PreparedQueries[],
31
+ const queriesWithChannelGuard = async (
32
+ createQueries: (flushOverride?: boolean) => Promise<PreparedQueries[]>,
33
33
  ) => {
34
34
  const cid = event.cid || event.channel?.cid;
35
35
 
36
- if (!cid) return createQueries(flush);
37
- const channels = QuickSqliteClient.executeSql.apply(
36
+ if (!cid) return await createQueries(flush);
37
+ const channels = await SqliteClient.executeSql.apply(
38
38
  null,
39
39
  createSelectQuery('channels', ['cid'], {
40
40
  cid,
@@ -48,14 +48,15 @@ export const handleEventToSyncDB = <
48
48
  ? client.channel(event.channel_type, event.channel_id)
49
49
  : undefined;
50
50
  if (channel && channel.initialized && !channel.disconnected) {
51
- const channelQuery = upsertChannelDataFromChannel({
51
+ const channelQuery = await upsertChannelDataFromChannel({
52
52
  channel,
53
53
  flush,
54
54
  });
55
55
  if (channelQuery) {
56
- const newQueries = [...channelQuery, ...createQueries(false)];
56
+ const createdQueries = await createQueries(false);
57
+ const newQueries = [...channelQuery, ...createdQueries];
57
58
  if (flush !== false) {
58
- QuickSqliteClient.executeSqlBatch(newQueries);
59
+ await SqliteClient.executeSqlBatch(newQueries);
59
60
  }
60
61
  return newQueries;
61
62
  } else {
@@ -80,7 +81,7 @@ export const handleEventToSyncDB = <
80
81
  const cid = event.cid;
81
82
  const user = event.user;
82
83
  if (user?.id && cid) {
83
- return queriesWithChannelGuard((flushOverride) =>
84
+ return await queriesWithChannelGuard((flushOverride) =>
84
85
  upsertReads({
85
86
  cid,
86
87
  flush: flushOverride,
@@ -98,8 +99,9 @@ export const handleEventToSyncDB = <
98
99
 
99
100
  if (type === 'message.new') {
100
101
  const message = event.message;
102
+
101
103
  if (message && (!message.parent_id || message.show_in_channel)) {
102
- return queriesWithChannelGuard((flushOverride) =>
104
+ return await queriesWithChannelGuard((flushOverride) =>
103
105
  upsertMessages({
104
106
  flush: flushOverride,
105
107
  messages: [message],
@@ -113,7 +115,7 @@ export const handleEventToSyncDB = <
113
115
  if (message && !message.parent_id) {
114
116
  // Update only if it exists, otherwise event could be related
115
117
  // to a message which is not in database.
116
- return queriesWithChannelGuard((flushOverride) =>
118
+ return await queriesWithChannelGuard((flushOverride) =>
117
119
  updateMessage({
118
120
  flush: flushOverride,
119
121
  message,
@@ -126,7 +128,7 @@ export const handleEventToSyncDB = <
126
128
  const message = event.message;
127
129
  if (message && event.reaction) {
128
130
  // We update the entire message to make sure we also update reaction_groups
129
- return queriesWithChannelGuard((flushOverride) =>
131
+ return await queriesWithChannelGuard((flushOverride) =>
130
132
  updateMessage({
131
133
  flush: flushOverride,
132
134
  message,
@@ -141,7 +143,7 @@ export const handleEventToSyncDB = <
141
143
  // Here we are relying on the fact message.latest_reactions always includes
142
144
  // the new reaction. So we first delete all the existing reactions and populate
143
145
  // the reactions table with message.latest_reactions
144
- return queriesWithChannelGuard((flushOverride) =>
146
+ return await queriesWithChannelGuard((flushOverride) =>
145
147
  updateMessage({
146
148
  flush: flushOverride,
147
149
  message,
@@ -200,7 +202,7 @@ export const handleEventToSyncDB = <
200
202
  const member = event.member;
201
203
  const cid = event.cid;
202
204
  if (member && cid) {
203
- return queriesWithChannelGuard((flushOverride) =>
205
+ return await queriesWithChannelGuard((flushOverride) =>
204
206
  upsertMembers({
205
207
  cid,
206
208
  flush: flushOverride,
@@ -214,7 +216,7 @@ export const handleEventToSyncDB = <
214
216
  const member = event.member;
215
217
  const cid = event.cid;
216
218
  if (member && cid) {
217
- return queriesWithChannelGuard((flushOverride) =>
219
+ return await queriesWithChannelGuard((flushOverride) =>
218
220
  deleteMember({
219
221
  cid,
220
222
  flush: flushOverride,
@@ -44,9 +44,10 @@ export const useAppSettings = <
44
44
  */
45
45
  const enforceAppSettingsWithOfflineSupport = async () => {
46
46
  if (!client.userID) return;
47
+ if (!initialisedDatabase) return;
47
48
 
48
49
  if (!isOnline) {
49
- const appSettings = dbApi.getAppSettings({ currentUserId: client.userID });
50
+ const appSettings = await dbApi.getAppSettings({ currentUserId: client.userID });
50
51
  setAppSettings(appSettings);
51
52
  return;
52
53
  }
@@ -55,7 +56,7 @@ export const useAppSettings = <
55
56
  const appSettings = await client.getAppSettings();
56
57
  if (isMounted.current) {
57
58
  setAppSettings(appSettings);
58
- dbApi.upsertAppSettings({
59
+ await dbApi.upsertAppSettings({
59
60
  appSettings,
60
61
  currentUserId: client.userID as string,
61
62
  });