stream-chat-react-native-core 4.11.0-beta.1 → 5.0.0-offline-support.0

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 (967) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +1 -1
  2. package/lib/commonjs/components/Attachment/AttachmentActions.js +1 -1
  3. package/lib/commonjs/components/Attachment/Card.js +1 -1
  4. package/lib/commonjs/components/Attachment/FileAttachment.js +1 -1
  5. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +1 -1
  6. package/lib/commonjs/components/Attachment/FileIcon.js +1 -1
  7. package/lib/commonjs/components/Attachment/GallaryImage.js +1 -1
  8. package/lib/commonjs/components/Attachment/Gallery.js +1 -1
  9. package/lib/commonjs/components/Attachment/Giphy.js +1 -1
  10. package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  11. package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js +1 -1
  12. package/lib/commonjs/components/Attachment/VideoThumbnail.js +1 -1
  13. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +1 -1
  14. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  15. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  16. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  17. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  18. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  19. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  20. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  21. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  22. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  23. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  24. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  25. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  26. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  27. package/lib/commonjs/components/Avatar/Avatar.js +29 -16
  28. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  29. package/lib/commonjs/components/Avatar/GroupAvatar.js +26 -19
  30. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  31. package/lib/commonjs/components/Channel/Channel.js +227 -257
  32. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  33. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +2 -0
  34. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  35. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +2 -0
  36. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  37. package/lib/commonjs/components/ChannelList/ChannelList.js +33 -3
  38. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  39. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  40. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  41. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  42. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  43. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +20 -8
  44. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  45. package/lib/commonjs/components/ChannelList/Skeleton.js +1 -1
  46. package/lib/commonjs/components/ChannelList/hooks/listeners/handleEventToSyncDB.js +187 -0
  47. package/lib/commonjs/components/ChannelList/hooks/listeners/handleEventToSyncDB.js.map +1 -0
  48. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  49. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  50. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -2
  51. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  52. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -2
  53. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  54. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js +2 -2
  55. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  56. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -2
  57. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  58. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  59. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  60. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js +128 -18
  61. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  62. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  63. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  64. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +2 -2
  65. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  66. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -2
  67. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  68. package/lib/commonjs/components/ChannelList/hooks/listeners/useSyncDatabase.js +34 -0
  69. package/lib/commonjs/components/ChannelList/hooks/listeners/useSyncDatabase.js.map +1 -0
  70. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js +4 -4
  71. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  72. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +47 -21
  73. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  74. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +1 -1
  75. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  76. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +7 -9
  77. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  78. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +8 -6
  79. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  80. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  81. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  82. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  83. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  84. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  85. package/lib/commonjs/components/Chat/Chat.js +18 -7
  86. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  87. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +3 -1
  88. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  89. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js +3 -3
  90. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  91. package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -1
  92. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  93. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  94. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
  95. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  96. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  97. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  98. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +1 -1
  99. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +1 -1
  100. package/lib/commonjs/components/ImageGallery/components/ProgressControl.js +1 -1
  101. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +1 -1
  102. package/lib/commonjs/components/Indicators/LoadingDot.js +1 -1
  103. package/lib/commonjs/components/Indicators/LoadingDots.js +1 -1
  104. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +1 -1
  105. package/lib/commonjs/components/Indicators/LoadingIndicator.js +1 -1
  106. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  107. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  108. package/lib/commonjs/components/Message/Message.js +1 -1
  109. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +1 -1
  110. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +1 -1
  111. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +1 -1
  112. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +1 -1
  113. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  114. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +1 -1
  115. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  116. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +1 -1
  117. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +1 -1
  118. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  119. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +1 -1
  120. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +1 -1
  121. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  122. package/lib/commonjs/components/Message/hooks/useMessageActions.js +1 -1
  123. package/lib/commonjs/components/MessageInput/AttachButton.js +1 -1
  124. package/lib/commonjs/components/MessageInput/CommandsButton.js +1 -1
  125. package/lib/commonjs/components/MessageInput/CooldownTimer.js +1 -1
  126. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +1 -1
  127. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +1 -1
  128. package/lib/commonjs/components/MessageInput/InputButtons.js +1 -1
  129. package/lib/commonjs/components/MessageInput/MessageInput.js +1 -1
  130. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +1 -1
  131. package/lib/commonjs/components/MessageInput/SendButton.js +1 -1
  132. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  133. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  134. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +1 -1
  135. package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  136. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js +1 -1
  137. package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  138. package/lib/commonjs/components/MessageList/DateHeader.js +1 -1
  139. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +1 -1
  140. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  141. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  142. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  143. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +1 -1
  144. package/lib/commonjs/components/MessageList/MessageList.js +191 -223
  145. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  146. package/lib/commonjs/components/MessageList/MessageSystem.js +1 -1
  147. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +1 -1
  148. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +1 -1
  149. package/lib/commonjs/components/MessageList/TypingIndicator.js +1 -1
  150. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +1 -1
  151. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +1 -1
  152. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +1 -1
  153. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +1 -1
  154. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
  155. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +1 -1
  156. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +1 -1
  157. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  158. package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  159. package/lib/commonjs/components/Reply/Reply.js +1 -1
  160. package/lib/commonjs/components/Spinner/Spinner.js +1 -1
  161. package/lib/commonjs/components/Thread/Thread.js +1 -1
  162. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +1 -1
  163. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  164. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  165. package/lib/commonjs/contexts/channelContext/ChannelContext.js +3 -3
  166. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  167. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +1 -1
  168. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  169. package/lib/commonjs/contexts/chatContext/ChatContext.js +3 -3
  170. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  171. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +1 -1
  172. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -1
  173. package/lib/commonjs/contexts/messageContext/MessageContext.js +1 -1
  174. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +1 -1
  175. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  176. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  177. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +1 -1
  178. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  179. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +1 -1
  180. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  181. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  182. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  183. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  184. package/lib/commonjs/contexts/themeContext/ThemeContext.js +1 -1
  185. package/lib/commonjs/contexts/threadContext/ThreadContext.js +1 -1
  186. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
  187. package/lib/commonjs/contexts/typingContext/TypingContext.js +1 -1
  188. package/lib/commonjs/hooks/useImageErrorHandler.js +35 -0
  189. package/lib/commonjs/hooks/useImageErrorHandler.js.map +1 -0
  190. package/lib/commonjs/icons/ArrowRight.js +1 -1
  191. package/lib/commonjs/icons/AtMentions.js +1 -1
  192. package/lib/commonjs/icons/Attach.js +1 -1
  193. package/lib/commonjs/icons/Audio.js +1 -1
  194. package/lib/commonjs/icons/CSV.js +1 -1
  195. package/lib/commonjs/icons/Camera.js +1 -1
  196. package/lib/commonjs/icons/Check.js +1 -1
  197. package/lib/commonjs/icons/CheckAll.js +1 -1
  198. package/lib/commonjs/icons/CheckSend.js +1 -1
  199. package/lib/commonjs/icons/CircleClose.js +1 -1
  200. package/lib/commonjs/icons/CirclePlus.js +1 -1
  201. package/lib/commonjs/icons/CircleRight.js +1 -1
  202. package/lib/commonjs/icons/Close.js +1 -1
  203. package/lib/commonjs/icons/Copy.js +1 -1
  204. package/lib/commonjs/icons/CurveLineLeftUp.js +1 -1
  205. package/lib/commonjs/icons/DOC.js +1 -1
  206. package/lib/commonjs/icons/DOCX.js +1 -1
  207. package/lib/commonjs/icons/Delete.js +1 -1
  208. package/lib/commonjs/icons/Down.js +1 -1
  209. package/lib/commonjs/icons/DownloadArrow.js +1 -1
  210. package/lib/commonjs/icons/DownloadCloud.js +1 -1
  211. package/lib/commonjs/icons/Edit.js +1 -1
  212. package/lib/commonjs/icons/Error.js +1 -1
  213. package/lib/commonjs/icons/Eye.js +1 -1
  214. package/lib/commonjs/icons/Flag.js +1 -1
  215. package/lib/commonjs/icons/Folder.js +1 -1
  216. package/lib/commonjs/icons/GenericFile.js +1 -1
  217. package/lib/commonjs/icons/GiphyIcon.js +1 -1
  218. package/lib/commonjs/icons/Grid.js +1 -1
  219. package/lib/commonjs/icons/Group.js +1 -1
  220. package/lib/commonjs/icons/HTML.js +1 -1
  221. package/lib/commonjs/icons/Imgur.js +1 -1
  222. package/lib/commonjs/icons/LOLReaction.js +1 -1
  223. package/lib/commonjs/icons/Lightning.js +1 -1
  224. package/lib/commonjs/icons/Link.js +1 -1
  225. package/lib/commonjs/icons/Loading.js +1 -1
  226. package/lib/commonjs/icons/Logo.js +1 -1
  227. package/lib/commonjs/icons/LoveReaction.js +1 -1
  228. package/lib/commonjs/icons/MD.js +1 -1
  229. package/lib/commonjs/icons/MailOpen.js +1 -1
  230. package/lib/commonjs/icons/MenuPointHorizontal.js +1 -1
  231. package/lib/commonjs/icons/MenuPointVertical.js +1 -1
  232. package/lib/commonjs/icons/MessageFlag.js +1 -1
  233. package/lib/commonjs/icons/MessageIcon.js +1 -1
  234. package/lib/commonjs/icons/Mute.js +1 -1
  235. package/lib/commonjs/icons/Notification.js +1 -1
  236. package/lib/commonjs/icons/ODT.js +1 -1
  237. package/lib/commonjs/icons/PDF.js +1 -1
  238. package/lib/commonjs/icons/PPT.js +1 -1
  239. package/lib/commonjs/icons/PPTX.js +1 -1
  240. package/lib/commonjs/icons/Pause.js +1 -1
  241. package/lib/commonjs/icons/Picture.js +1 -1
  242. package/lib/commonjs/icons/Pin.js +1 -1
  243. package/lib/commonjs/icons/PinHeader.js +1 -1
  244. package/lib/commonjs/icons/Play.js +1 -1
  245. package/lib/commonjs/icons/RAR.js +1 -1
  246. package/lib/commonjs/icons/RTF.js +1 -1
  247. package/lib/commonjs/icons/Recorder.js +1 -1
  248. package/lib/commonjs/icons/Refresh.js +1 -1
  249. package/lib/commonjs/icons/SEVEN_Z.js +1 -1
  250. package/lib/commonjs/icons/Search.js +1 -1
  251. package/lib/commonjs/icons/SendRight.js +1 -1
  252. package/lib/commonjs/icons/SendUp.js +1 -1
  253. package/lib/commonjs/icons/Share.js +1 -1
  254. package/lib/commonjs/icons/ShareRightArrow.js +1 -1
  255. package/lib/commonjs/icons/Smile.js +1 -1
  256. package/lib/commonjs/icons/Sound.js +1 -1
  257. package/lib/commonjs/icons/TAR.js +1 -1
  258. package/lib/commonjs/icons/TXT.js +1 -1
  259. package/lib/commonjs/icons/ThreadReply.js +1 -1
  260. package/lib/commonjs/icons/ThumbsDownReaction.js +1 -1
  261. package/lib/commonjs/icons/ThumbsUpReaction.js +1 -1
  262. package/lib/commonjs/icons/Time.js +1 -1
  263. package/lib/commonjs/icons/Unknown.js +1 -1
  264. package/lib/commonjs/icons/Unpin.js +1 -1
  265. package/lib/commonjs/icons/User.js +1 -1
  266. package/lib/commonjs/icons/UserAdd.js +1 -1
  267. package/lib/commonjs/icons/UserAdmin.js +1 -1
  268. package/lib/commonjs/icons/UserDelete.js +1 -1
  269. package/lib/commonjs/icons/UserMinus.js +1 -1
  270. package/lib/commonjs/icons/Video.js +1 -1
  271. package/lib/commonjs/icons/Warning.js +1 -1
  272. package/lib/commonjs/icons/WutReaction.js +1 -1
  273. package/lib/commonjs/icons/XLS.js +1 -1
  274. package/lib/commonjs/icons/XLSX.js +1 -1
  275. package/lib/commonjs/icons/ZIP.js +1 -1
  276. package/lib/commonjs/icons/utils/base.js +1 -1
  277. package/lib/commonjs/index.js +11 -0
  278. package/lib/commonjs/index.js.map +1 -1
  279. package/lib/commonjs/mock-builders/DB/consts.js +15 -0
  280. package/lib/commonjs/mock-builders/DB/consts.js.map +1 -0
  281. package/lib/commonjs/mock-builders/DB/mock.js +125 -0
  282. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -0
  283. package/lib/commonjs/mock-builders/api/channelMocks.js +1 -0
  284. package/lib/commonjs/mock-builders/api/channelMocks.js.map +1 -1
  285. package/lib/commonjs/mock-builders/event/memberAdded.js +17 -0
  286. package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -0
  287. package/lib/commonjs/mock-builders/event/memberRemoved.js +17 -0
  288. package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -0
  289. package/lib/commonjs/mock-builders/event/memberUpdated.js +17 -0
  290. package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -0
  291. package/lib/commonjs/mock-builders/event/reactionDeleted.js +18 -0
  292. package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -0
  293. package/lib/commonjs/mock-builders/event/reactionNew.js +18 -0
  294. package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -0
  295. package/lib/commonjs/mock-builders/event/reactionUpdated.js +18 -0
  296. package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -0
  297. package/lib/commonjs/mock-builders/generator/reaction.js +1 -1
  298. package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
  299. package/lib/commonjs/store/QuickSqliteClient.js +148 -0
  300. package/lib/commonjs/store/QuickSqliteClient.js.map +1 -0
  301. package/lib/commonjs/store/apis/deleteChannel.js +26 -0
  302. package/lib/commonjs/store/apis/deleteChannel.js.map +1 -0
  303. package/lib/commonjs/store/apis/deleteMember.js +28 -0
  304. package/lib/commonjs/store/apis/deleteMember.js.map +1 -0
  305. package/lib/commonjs/store/apis/deleteMessagesForChannel.js +26 -0
  306. package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -0
  307. package/lib/commonjs/store/apis/deleteReactions.js +28 -0
  308. package/lib/commonjs/store/apis/deleteReactions.js.map +1 -0
  309. package/lib/commonjs/store/apis/getAllChannelIds.js +16 -0
  310. package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -0
  311. package/lib/commonjs/store/apis/getChannelMessages.js +45 -0
  312. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -0
  313. package/lib/commonjs/store/apis/getChannels.js +60 -0
  314. package/lib/commonjs/store/apis/getChannels.js.map +1 -0
  315. package/lib/commonjs/store/apis/getLastSyncedAt.js +23 -0
  316. package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -0
  317. package/lib/commonjs/store/apis/getMembers.js +25 -0
  318. package/lib/commonjs/store/apis/getMembers.js.map +1 -0
  319. package/lib/commonjs/store/apis/getReads.js +25 -0
  320. package/lib/commonjs/store/apis/getReads.js.map +1 -0
  321. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js +31 -0
  322. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -0
  323. package/lib/commonjs/store/apis/queries/selectChannels.js +30 -0
  324. package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -0
  325. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js +27 -0
  326. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -0
  327. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +27 -0
  328. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -0
  329. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +27 -0
  330. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -0
  331. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js +27 -0
  332. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -0
  333. package/lib/commonjs/store/apis/updateMessage.js +69 -0
  334. package/lib/commonjs/store/apis/updateMessage.js.map +1 -0
  335. package/lib/commonjs/store/apis/updateReaction.js +53 -0
  336. package/lib/commonjs/store/apis/updateReaction.js.map +1 -0
  337. package/lib/commonjs/store/apis/upsertChannelData.js +26 -0
  338. package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -0
  339. package/lib/commonjs/store/apis/upsertChannels.js +83 -0
  340. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -0
  341. package/lib/commonjs/store/apis/upsertCidsForQuery.js +34 -0
  342. package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -0
  343. package/lib/commonjs/store/apis/upsertLastSyncedAt.js +22 -0
  344. package/lib/commonjs/store/apis/upsertLastSyncedAt.js.map +1 -0
  345. package/lib/commonjs/store/apis/upsertMembers.js +39 -0
  346. package/lib/commonjs/store/apis/upsertMembers.js.map +1 -0
  347. package/lib/commonjs/store/apis/upsertMessages.js +52 -0
  348. package/lib/commonjs/store/apis/upsertMessages.js.map +1 -0
  349. package/lib/commonjs/store/apis/upsertReads.js +39 -0
  350. package/lib/commonjs/store/apis/upsertReads.js.map +1 -0
  351. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js +13 -0
  352. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js.map +1 -0
  353. package/lib/commonjs/store/constants.js +11 -0
  354. package/lib/commonjs/store/constants.js.map +1 -0
  355. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js +67 -0
  356. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js.map +1 -0
  357. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js +12 -0
  358. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -0
  359. package/lib/commonjs/store/mappers/mapMemberToStorable.js +39 -0
  360. package/lib/commonjs/store/mappers/mapMemberToStorable.js.map +1 -0
  361. package/lib/commonjs/store/mappers/mapMessageToStorable.js +42 -0
  362. package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -0
  363. package/lib/commonjs/store/mappers/mapReactionToStorable.js +34 -0
  364. package/lib/commonjs/store/mappers/mapReactionToStorable.js.map +1 -0
  365. package/lib/commonjs/store/mappers/mapReadToStorable.js +23 -0
  366. package/lib/commonjs/store/mappers/mapReadToStorable.js.map +1 -0
  367. package/lib/commonjs/store/mappers/mapStorableToChannel.js +65 -0
  368. package/lib/commonjs/store/mappers/mapStorableToChannel.js.map +1 -0
  369. package/lib/commonjs/store/mappers/mapStorableToMember.js +38 -0
  370. package/lib/commonjs/store/mappers/mapStorableToMember.js.map +1 -0
  371. package/lib/commonjs/store/mappers/mapStorableToMessage.js +50 -0
  372. package/lib/commonjs/store/mappers/mapStorableToMessage.js.map +1 -0
  373. package/lib/commonjs/store/mappers/mapStorableToReaction.js +31 -0
  374. package/lib/commonjs/store/mappers/mapStorableToReaction.js.map +1 -0
  375. package/lib/commonjs/store/mappers/mapStorableToRead.js +20 -0
  376. package/lib/commonjs/store/mappers/mapStorableToRead.js.map +1 -0
  377. package/lib/commonjs/store/mappers/mapStorableToUser.js +31 -0
  378. package/lib/commonjs/store/mappers/mapStorableToUser.js.map +1 -0
  379. package/lib/commonjs/store/mappers/mapUserToStorable.js +34 -0
  380. package/lib/commonjs/store/mappers/mapUserToStorable.js.map +1 -0
  381. package/lib/commonjs/store/schema.js +161 -0
  382. package/lib/commonjs/store/schema.js.map +1 -0
  383. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js +37 -0
  384. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -0
  385. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js +35 -0
  386. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -0
  387. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js +14 -0
  388. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js.map +1 -0
  389. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js +26 -0
  390. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js.map +1 -0
  391. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js +29 -0
  392. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js.map +1 -0
  393. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js +30 -0
  394. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -0
  395. package/lib/commonjs/store/sqlite-utils/printRow.js +33 -0
  396. package/lib/commonjs/store/sqlite-utils/printRow.js.map +1 -0
  397. package/lib/commonjs/store/types.js +4 -0
  398. package/lib/commonjs/store/types.js.map +1 -0
  399. package/lib/commonjs/version.json +1 -1
  400. package/lib/module/components/Attachment/Attachment.js +1 -1
  401. package/lib/module/components/Attachment/AttachmentActions.js +1 -1
  402. package/lib/module/components/Attachment/Card.js +1 -1
  403. package/lib/module/components/Attachment/FileAttachment.js +1 -1
  404. package/lib/module/components/Attachment/FileAttachmentGroup.js +1 -1
  405. package/lib/module/components/Attachment/FileIcon.js +1 -1
  406. package/lib/module/components/Attachment/GallaryImage.js +1 -1
  407. package/lib/module/components/Attachment/Gallery.js +1 -1
  408. package/lib/module/components/Attachment/Giphy.js +1 -1
  409. package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  410. package/lib/module/components/Attachment/ImageLoadingIndicator.js +1 -1
  411. package/lib/module/components/Attachment/VideoThumbnail.js +1 -1
  412. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +1 -1
  413. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  414. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  415. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  416. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  417. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  418. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  419. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  420. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  421. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  422. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  423. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  424. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  425. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  426. package/lib/module/components/Avatar/Avatar.js +29 -16
  427. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  428. package/lib/module/components/Avatar/GroupAvatar.js +26 -19
  429. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  430. package/lib/module/components/Channel/Channel.js +227 -257
  431. package/lib/module/components/Channel/Channel.js.map +1 -1
  432. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +2 -0
  433. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  434. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +2 -0
  435. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  436. package/lib/module/components/ChannelList/ChannelList.js +33 -3
  437. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  438. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  439. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  440. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  441. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  442. package/lib/module/components/ChannelList/ChannelListMessenger.js +20 -8
  443. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  444. package/lib/module/components/ChannelList/Skeleton.js +1 -1
  445. package/lib/module/components/ChannelList/hooks/listeners/handleEventToSyncDB.js +187 -0
  446. package/lib/module/components/ChannelList/hooks/listeners/handleEventToSyncDB.js.map +1 -0
  447. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  448. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  449. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -2
  450. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  451. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -2
  452. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  453. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js +2 -2
  454. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  455. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -2
  456. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  457. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  458. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  459. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js +128 -18
  460. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  461. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  462. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  463. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +2 -2
  464. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  465. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -2
  466. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  467. package/lib/module/components/ChannelList/hooks/listeners/useSyncDatabase.js +34 -0
  468. package/lib/module/components/ChannelList/hooks/listeners/useSyncDatabase.js.map +1 -0
  469. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js +4 -4
  470. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  471. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +47 -21
  472. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  473. package/lib/module/components/ChannelPreview/ChannelAvatar.js +1 -1
  474. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  475. package/lib/module/components/ChannelPreview/ChannelPreview.js +7 -9
  476. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  477. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +8 -6
  478. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  479. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  480. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  481. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  482. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  483. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  484. package/lib/module/components/Chat/Chat.js +18 -7
  485. package/lib/module/components/Chat/Chat.js.map +1 -1
  486. package/lib/module/components/Chat/hooks/useCreateChatContext.js +3 -1
  487. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  488. package/lib/module/components/Chat/hooks/useMutedUsers.js +3 -3
  489. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  490. package/lib/module/components/ImageGallery/ImageGallery.js +1 -1
  491. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  492. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  493. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
  494. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  495. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  496. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  497. package/lib/module/components/ImageGallery/components/ImageGrid.js +1 -1
  498. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +1 -1
  499. package/lib/module/components/ImageGallery/components/ProgressControl.js +1 -1
  500. package/lib/module/components/Indicators/EmptyStateIndicator.js +1 -1
  501. package/lib/module/components/Indicators/LoadingDot.js +1 -1
  502. package/lib/module/components/Indicators/LoadingDots.js +1 -1
  503. package/lib/module/components/Indicators/LoadingErrorIndicator.js +1 -1
  504. package/lib/module/components/Indicators/LoadingIndicator.js +1 -1
  505. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  506. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  507. package/lib/module/components/Message/Message.js +1 -1
  508. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +1 -1
  509. package/lib/module/components/Message/MessageSimple/MessageContent.js +1 -1
  510. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +1 -1
  511. package/lib/module/components/Message/MessageSimple/MessageFooter.js +1 -1
  512. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  513. package/lib/module/components/Message/MessageSimple/MessageReplies.js +1 -1
  514. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  515. package/lib/module/components/Message/MessageSimple/MessageSimple.js +1 -1
  516. package/lib/module/components/Message/MessageSimple/MessageStatus.js +1 -1
  517. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  518. package/lib/module/components/Message/MessageSimple/ReactionList.js +1 -1
  519. package/lib/module/components/Message/MessageSimple/utils/renderText.js +1 -1
  520. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  521. package/lib/module/components/Message/hooks/useMessageActions.js +1 -1
  522. package/lib/module/components/MessageInput/AttachButton.js +1 -1
  523. package/lib/module/components/MessageInput/CommandsButton.js +1 -1
  524. package/lib/module/components/MessageInput/CooldownTimer.js +1 -1
  525. package/lib/module/components/MessageInput/FileUploadPreview.js +1 -1
  526. package/lib/module/components/MessageInput/ImageUploadPreview.js +1 -1
  527. package/lib/module/components/MessageInput/InputButtons.js +1 -1
  528. package/lib/module/components/MessageInput/MessageInput.js +1 -1
  529. package/lib/module/components/MessageInput/MoreOptionsButton.js +1 -1
  530. package/lib/module/components/MessageInput/SendButton.js +1 -1
  531. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  532. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  533. package/lib/module/components/MessageInput/UploadProgressIndicator.js +1 -1
  534. package/lib/module/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  535. package/lib/module/components/MessageInput/components/InputGiphySearch.js +1 -1
  536. package/lib/module/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  537. package/lib/module/components/MessageList/DateHeader.js +1 -1
  538. package/lib/module/components/MessageList/InlineDateSeparator.js +1 -1
  539. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  540. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  541. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  542. package/lib/module/components/MessageList/InlineUnreadIndicator.js +1 -1
  543. package/lib/module/components/MessageList/MessageList.js +191 -223
  544. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  545. package/lib/module/components/MessageList/MessageSystem.js +1 -1
  546. package/lib/module/components/MessageList/NetworkDownIndicator.js +1 -1
  547. package/lib/module/components/MessageList/ScrollToBottomButton.js +1 -1
  548. package/lib/module/components/MessageList/TypingIndicator.js +1 -1
  549. package/lib/module/components/MessageList/TypingIndicatorContainer.js +1 -1
  550. package/lib/module/components/MessageOverlay/MessageActionList.js +1 -1
  551. package/lib/module/components/MessageOverlay/MessageActionListItem.js +1 -1
  552. package/lib/module/components/MessageOverlay/MessageOverlay.js +1 -1
  553. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
  554. package/lib/module/components/MessageOverlay/OverlayReactionList.js +1 -1
  555. package/lib/module/components/MessageOverlay/OverlayReactions.js +1 -1
  556. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  557. package/lib/module/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  558. package/lib/module/components/Reply/Reply.js +1 -1
  559. package/lib/module/components/Spinner/Spinner.js +1 -1
  560. package/lib/module/components/Thread/Thread.js +1 -1
  561. package/lib/module/components/Thread/components/ThreadFooterComponent.js +1 -1
  562. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  563. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  564. package/lib/module/contexts/channelContext/ChannelContext.js +3 -3
  565. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  566. package/lib/module/contexts/channelsContext/ChannelsContext.js +1 -1
  567. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  568. package/lib/module/contexts/chatContext/ChatContext.js +3 -3
  569. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  570. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +1 -1
  571. package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -1
  572. package/lib/module/contexts/messageContext/MessageContext.js +1 -1
  573. package/lib/module/contexts/messageInputContext/MessageInputContext.js +1 -1
  574. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  575. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  576. package/lib/module/contexts/messagesContext/MessagesContext.js +1 -1
  577. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  578. package/lib/module/contexts/overlayContext/OverlayProvider.js +1 -1
  579. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  580. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  581. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  582. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  583. package/lib/module/contexts/themeContext/ThemeContext.js +1 -1
  584. package/lib/module/contexts/threadContext/ThreadContext.js +1 -1
  585. package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
  586. package/lib/module/contexts/typingContext/TypingContext.js +1 -1
  587. package/lib/module/hooks/useImageErrorHandler.js +35 -0
  588. package/lib/module/hooks/useImageErrorHandler.js.map +1 -0
  589. package/lib/module/icons/ArrowRight.js +1 -1
  590. package/lib/module/icons/AtMentions.js +1 -1
  591. package/lib/module/icons/Attach.js +1 -1
  592. package/lib/module/icons/Audio.js +1 -1
  593. package/lib/module/icons/CSV.js +1 -1
  594. package/lib/module/icons/Camera.js +1 -1
  595. package/lib/module/icons/Check.js +1 -1
  596. package/lib/module/icons/CheckAll.js +1 -1
  597. package/lib/module/icons/CheckSend.js +1 -1
  598. package/lib/module/icons/CircleClose.js +1 -1
  599. package/lib/module/icons/CirclePlus.js +1 -1
  600. package/lib/module/icons/CircleRight.js +1 -1
  601. package/lib/module/icons/Close.js +1 -1
  602. package/lib/module/icons/Copy.js +1 -1
  603. package/lib/module/icons/CurveLineLeftUp.js +1 -1
  604. package/lib/module/icons/DOC.js +1 -1
  605. package/lib/module/icons/DOCX.js +1 -1
  606. package/lib/module/icons/Delete.js +1 -1
  607. package/lib/module/icons/Down.js +1 -1
  608. package/lib/module/icons/DownloadArrow.js +1 -1
  609. package/lib/module/icons/DownloadCloud.js +1 -1
  610. package/lib/module/icons/Edit.js +1 -1
  611. package/lib/module/icons/Error.js +1 -1
  612. package/lib/module/icons/Eye.js +1 -1
  613. package/lib/module/icons/Flag.js +1 -1
  614. package/lib/module/icons/Folder.js +1 -1
  615. package/lib/module/icons/GenericFile.js +1 -1
  616. package/lib/module/icons/GiphyIcon.js +1 -1
  617. package/lib/module/icons/Grid.js +1 -1
  618. package/lib/module/icons/Group.js +1 -1
  619. package/lib/module/icons/HTML.js +1 -1
  620. package/lib/module/icons/Imgur.js +1 -1
  621. package/lib/module/icons/LOLReaction.js +1 -1
  622. package/lib/module/icons/Lightning.js +1 -1
  623. package/lib/module/icons/Link.js +1 -1
  624. package/lib/module/icons/Loading.js +1 -1
  625. package/lib/module/icons/Logo.js +1 -1
  626. package/lib/module/icons/LoveReaction.js +1 -1
  627. package/lib/module/icons/MD.js +1 -1
  628. package/lib/module/icons/MailOpen.js +1 -1
  629. package/lib/module/icons/MenuPointHorizontal.js +1 -1
  630. package/lib/module/icons/MenuPointVertical.js +1 -1
  631. package/lib/module/icons/MessageFlag.js +1 -1
  632. package/lib/module/icons/MessageIcon.js +1 -1
  633. package/lib/module/icons/Mute.js +1 -1
  634. package/lib/module/icons/Notification.js +1 -1
  635. package/lib/module/icons/ODT.js +1 -1
  636. package/lib/module/icons/PDF.js +1 -1
  637. package/lib/module/icons/PPT.js +1 -1
  638. package/lib/module/icons/PPTX.js +1 -1
  639. package/lib/module/icons/Pause.js +1 -1
  640. package/lib/module/icons/Picture.js +1 -1
  641. package/lib/module/icons/Pin.js +1 -1
  642. package/lib/module/icons/PinHeader.js +1 -1
  643. package/lib/module/icons/Play.js +1 -1
  644. package/lib/module/icons/RAR.js +1 -1
  645. package/lib/module/icons/RTF.js +1 -1
  646. package/lib/module/icons/Recorder.js +1 -1
  647. package/lib/module/icons/Refresh.js +1 -1
  648. package/lib/module/icons/SEVEN_Z.js +1 -1
  649. package/lib/module/icons/Search.js +1 -1
  650. package/lib/module/icons/SendRight.js +1 -1
  651. package/lib/module/icons/SendUp.js +1 -1
  652. package/lib/module/icons/Share.js +1 -1
  653. package/lib/module/icons/ShareRightArrow.js +1 -1
  654. package/lib/module/icons/Smile.js +1 -1
  655. package/lib/module/icons/Sound.js +1 -1
  656. package/lib/module/icons/TAR.js +1 -1
  657. package/lib/module/icons/TXT.js +1 -1
  658. package/lib/module/icons/ThreadReply.js +1 -1
  659. package/lib/module/icons/ThumbsDownReaction.js +1 -1
  660. package/lib/module/icons/ThumbsUpReaction.js +1 -1
  661. package/lib/module/icons/Time.js +1 -1
  662. package/lib/module/icons/Unknown.js +1 -1
  663. package/lib/module/icons/Unpin.js +1 -1
  664. package/lib/module/icons/User.js +1 -1
  665. package/lib/module/icons/UserAdd.js +1 -1
  666. package/lib/module/icons/UserAdmin.js +1 -1
  667. package/lib/module/icons/UserDelete.js +1 -1
  668. package/lib/module/icons/UserMinus.js +1 -1
  669. package/lib/module/icons/Video.js +1 -1
  670. package/lib/module/icons/Warning.js +1 -1
  671. package/lib/module/icons/WutReaction.js +1 -1
  672. package/lib/module/icons/XLS.js +1 -1
  673. package/lib/module/icons/XLSX.js +1 -1
  674. package/lib/module/icons/ZIP.js +1 -1
  675. package/lib/module/icons/utils/base.js +1 -1
  676. package/lib/module/index.js +11 -0
  677. package/lib/module/index.js.map +1 -1
  678. package/lib/module/mock-builders/DB/consts.js +15 -0
  679. package/lib/module/mock-builders/DB/consts.js.map +1 -0
  680. package/lib/module/mock-builders/DB/mock.js +125 -0
  681. package/lib/module/mock-builders/DB/mock.js.map +1 -0
  682. package/lib/module/mock-builders/api/channelMocks.js +1 -0
  683. package/lib/module/mock-builders/api/channelMocks.js.map +1 -1
  684. package/lib/module/mock-builders/event/memberAdded.js +17 -0
  685. package/lib/module/mock-builders/event/memberAdded.js.map +1 -0
  686. package/lib/module/mock-builders/event/memberRemoved.js +17 -0
  687. package/lib/module/mock-builders/event/memberRemoved.js.map +1 -0
  688. package/lib/module/mock-builders/event/memberUpdated.js +17 -0
  689. package/lib/module/mock-builders/event/memberUpdated.js.map +1 -0
  690. package/lib/module/mock-builders/event/reactionDeleted.js +18 -0
  691. package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -0
  692. package/lib/module/mock-builders/event/reactionNew.js +18 -0
  693. package/lib/module/mock-builders/event/reactionNew.js.map +1 -0
  694. package/lib/module/mock-builders/event/reactionUpdated.js +18 -0
  695. package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -0
  696. package/lib/module/mock-builders/generator/reaction.js +1 -1
  697. package/lib/module/mock-builders/generator/reaction.js.map +1 -1
  698. package/lib/module/store/QuickSqliteClient.js +148 -0
  699. package/lib/module/store/QuickSqliteClient.js.map +1 -0
  700. package/lib/module/store/apis/deleteChannel.js +26 -0
  701. package/lib/module/store/apis/deleteChannel.js.map +1 -0
  702. package/lib/module/store/apis/deleteMember.js +28 -0
  703. package/lib/module/store/apis/deleteMember.js.map +1 -0
  704. package/lib/module/store/apis/deleteMessagesForChannel.js +26 -0
  705. package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -0
  706. package/lib/module/store/apis/deleteReactions.js +28 -0
  707. package/lib/module/store/apis/deleteReactions.js.map +1 -0
  708. package/lib/module/store/apis/getAllChannelIds.js +16 -0
  709. package/lib/module/store/apis/getAllChannelIds.js.map +1 -0
  710. package/lib/module/store/apis/getChannelMessages.js +45 -0
  711. package/lib/module/store/apis/getChannelMessages.js.map +1 -0
  712. package/lib/module/store/apis/getChannels.js +60 -0
  713. package/lib/module/store/apis/getChannels.js.map +1 -0
  714. package/lib/module/store/apis/getLastSyncedAt.js +23 -0
  715. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -0
  716. package/lib/module/store/apis/getMembers.js +25 -0
  717. package/lib/module/store/apis/getMembers.js.map +1 -0
  718. package/lib/module/store/apis/getReads.js +25 -0
  719. package/lib/module/store/apis/getReads.js.map +1 -0
  720. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js +31 -0
  721. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -0
  722. package/lib/module/store/apis/queries/selectChannels.js +30 -0
  723. package/lib/module/store/apis/queries/selectChannels.js.map +1 -0
  724. package/lib/module/store/apis/queries/selectMembersForChannels.js +27 -0
  725. package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -0
  726. package/lib/module/store/apis/queries/selectMessagesForChannels.js +27 -0
  727. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -0
  728. package/lib/module/store/apis/queries/selectReactionsForMessages.js +27 -0
  729. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -0
  730. package/lib/module/store/apis/queries/selectReadsForChannels.js +27 -0
  731. package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -0
  732. package/lib/module/store/apis/updateMessage.js +69 -0
  733. package/lib/module/store/apis/updateMessage.js.map +1 -0
  734. package/lib/module/store/apis/updateReaction.js +53 -0
  735. package/lib/module/store/apis/updateReaction.js.map +1 -0
  736. package/lib/module/store/apis/upsertChannelData.js +26 -0
  737. package/lib/module/store/apis/upsertChannelData.js.map +1 -0
  738. package/lib/module/store/apis/upsertChannels.js +83 -0
  739. package/lib/module/store/apis/upsertChannels.js.map +1 -0
  740. package/lib/module/store/apis/upsertCidsForQuery.js +34 -0
  741. package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -0
  742. package/lib/module/store/apis/upsertLastSyncedAt.js +22 -0
  743. package/lib/module/store/apis/upsertLastSyncedAt.js.map +1 -0
  744. package/lib/module/store/apis/upsertMembers.js +39 -0
  745. package/lib/module/store/apis/upsertMembers.js.map +1 -0
  746. package/lib/module/store/apis/upsertMessages.js +52 -0
  747. package/lib/module/store/apis/upsertMessages.js.map +1 -0
  748. package/lib/module/store/apis/upsertReads.js +39 -0
  749. package/lib/module/store/apis/upsertReads.js.map +1 -0
  750. package/lib/module/store/apis/utils/convertFilterSortToQuery.js +13 -0
  751. package/lib/module/store/apis/utils/convertFilterSortToQuery.js.map +1 -0
  752. package/lib/module/store/constants.js +11 -0
  753. package/lib/module/store/constants.js.map +1 -0
  754. package/lib/module/store/mappers/mapChannelDataToStorable.js +67 -0
  755. package/lib/module/store/mappers/mapChannelDataToStorable.js.map +1 -0
  756. package/lib/module/store/mappers/mapDateTimeToStorable.js +12 -0
  757. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -0
  758. package/lib/module/store/mappers/mapMemberToStorable.js +39 -0
  759. package/lib/module/store/mappers/mapMemberToStorable.js.map +1 -0
  760. package/lib/module/store/mappers/mapMessageToStorable.js +42 -0
  761. package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -0
  762. package/lib/module/store/mappers/mapReactionToStorable.js +34 -0
  763. package/lib/module/store/mappers/mapReactionToStorable.js.map +1 -0
  764. package/lib/module/store/mappers/mapReadToStorable.js +23 -0
  765. package/lib/module/store/mappers/mapReadToStorable.js.map +1 -0
  766. package/lib/module/store/mappers/mapStorableToChannel.js +65 -0
  767. package/lib/module/store/mappers/mapStorableToChannel.js.map +1 -0
  768. package/lib/module/store/mappers/mapStorableToMember.js +38 -0
  769. package/lib/module/store/mappers/mapStorableToMember.js.map +1 -0
  770. package/lib/module/store/mappers/mapStorableToMessage.js +50 -0
  771. package/lib/module/store/mappers/mapStorableToMessage.js.map +1 -0
  772. package/lib/module/store/mappers/mapStorableToReaction.js +31 -0
  773. package/lib/module/store/mappers/mapStorableToReaction.js.map +1 -0
  774. package/lib/module/store/mappers/mapStorableToRead.js +20 -0
  775. package/lib/module/store/mappers/mapStorableToRead.js.map +1 -0
  776. package/lib/module/store/mappers/mapStorableToUser.js +31 -0
  777. package/lib/module/store/mappers/mapStorableToUser.js.map +1 -0
  778. package/lib/module/store/mappers/mapUserToStorable.js +34 -0
  779. package/lib/module/store/mappers/mapUserToStorable.js.map +1 -0
  780. package/lib/module/store/schema.js +161 -0
  781. package/lib/module/store/schema.js.map +1 -0
  782. package/lib/module/store/sqlite-utils/appendWhereCluase.js +37 -0
  783. package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -0
  784. package/lib/module/store/sqlite-utils/createCreateTableQuery.js +35 -0
  785. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -0
  786. package/lib/module/store/sqlite-utils/createDeleteQuery.js +14 -0
  787. package/lib/module/store/sqlite-utils/createDeleteQuery.js.map +1 -0
  788. package/lib/module/store/sqlite-utils/createSelectQuery.js +26 -0
  789. package/lib/module/store/sqlite-utils/createSelectQuery.js.map +1 -0
  790. package/lib/module/store/sqlite-utils/createUpdateQuery.js +29 -0
  791. package/lib/module/store/sqlite-utils/createUpdateQuery.js.map +1 -0
  792. package/lib/module/store/sqlite-utils/createUpsertQuery.js +30 -0
  793. package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -0
  794. package/lib/module/store/sqlite-utils/printRow.js +33 -0
  795. package/lib/module/store/sqlite-utils/printRow.js.map +1 -0
  796. package/lib/module/store/types.js +4 -0
  797. package/lib/module/store/types.js.map +1 -0
  798. package/lib/module/version.json +1 -1
  799. package/lib/typescript/__tests__/utils/BetterSqlite.d.ts +8 -0
  800. package/lib/typescript/components/Channel/Channel.d.ts +3 -5
  801. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  802. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +1 -1
  803. package/lib/typescript/components/ChannelList/hooks/listeners/handleEventToSyncDB.d.ts +2 -0
  804. package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +3 -2
  805. package/lib/typescript/components/ChannelList/hooks/listeners/useSyncDatabase.d.ts +6 -0
  806. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +4 -2
  807. package/lib/typescript/components/Chat/Chat.d.ts +4 -0
  808. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  809. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  810. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +17 -0
  811. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +1 -0
  812. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +4 -0
  813. package/lib/typescript/hooks/useImageErrorHandler.d.ts +5 -0
  814. package/lib/typescript/index.d.ts +2 -0
  815. package/lib/typescript/store/QuickSqliteClient.d.ts +18 -0
  816. package/lib/typescript/store/apis/deleteChannel.d.ts +4 -0
  817. package/lib/typescript/store/apis/deleteMember.d.ts +6 -0
  818. package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts +4 -0
  819. package/lib/typescript/store/apis/deleteReactions.d.ts +4 -0
  820. package/lib/typescript/store/apis/getAllChannelIds.d.ts +1 -0
  821. package/lib/typescript/store/apis/getChannelMessages.d.ts +6 -0
  822. package/lib/typescript/store/apis/getChannels.d.ts +7 -0
  823. package/lib/typescript/store/apis/getLastSyncedAt.d.ts +3 -0
  824. package/lib/typescript/store/apis/getMembers.d.ts +5 -0
  825. package/lib/typescript/store/apis/getReads.d.ts +5 -0
  826. package/lib/typescript/store/apis/queries/selectChannelIdsForFilterSort.d.ts +6 -0
  827. package/lib/typescript/store/apis/queries/selectChannels.d.ts +4 -0
  828. package/lib/typescript/store/apis/queries/selectMembersForChannels.d.ts +2 -0
  829. package/lib/typescript/store/apis/queries/selectMessagesForChannels.d.ts +2 -0
  830. package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts +2 -0
  831. package/lib/typescript/store/apis/queries/selectReadsForChannels.d.ts +2 -0
  832. package/lib/typescript/store/apis/updateMessage.d.ts +6 -0
  833. package/lib/typescript/store/apis/updateReaction.d.ts +7 -0
  834. package/lib/typescript/store/apis/upsertChannelData.d.ts +5 -0
  835. package/lib/typescript/store/apis/upsertChannels.d.ts +9 -0
  836. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts +7 -0
  837. package/lib/typescript/store/apis/upsertLastSyncedAt.d.ts +4 -0
  838. package/lib/typescript/store/apis/upsertMembers.d.ts +7 -0
  839. package/lib/typescript/store/apis/upsertMessages.d.ts +6 -0
  840. package/lib/typescript/store/apis/upsertReads.d.ts +7 -0
  841. package/lib/typescript/store/apis/utils/convertFilterSortToQuery.d.ts +6 -0
  842. package/lib/typescript/store/constants.d.ts +3 -0
  843. package/lib/typescript/store/mappers/mapChannelDataToStorable.d.ts +4 -0
  844. package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts +1 -0
  845. package/lib/typescript/store/mappers/mapMemberToStorable.d.ts +7 -0
  846. package/lib/typescript/store/mappers/mapMessageToStorable.d.ts +3 -0
  847. package/lib/typescript/store/mappers/mapReactionToStorable.d.ts +3 -0
  848. package/lib/typescript/store/mappers/mapReadToStorable.d.ts +7 -0
  849. package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +4 -0
  850. package/lib/typescript/store/mappers/mapStorableToMember.d.ts +4 -0
  851. package/lib/typescript/store/mappers/mapStorableToMessage.d.ts +8 -0
  852. package/lib/typescript/store/mappers/mapStorableToReaction.d.ts +4 -0
  853. package/lib/typescript/store/mappers/mapStorableToRead.d.ts +4 -0
  854. package/lib/typescript/store/mappers/mapStorableToUser.d.ts +4 -0
  855. package/lib/typescript/store/mappers/mapUserToStorable.d.ts +3 -0
  856. package/lib/typescript/store/schema.d.ts +110 -0
  857. package/lib/typescript/store/sqlite-utils/__tests__/createSelectQuery.test.d.ts +1 -0
  858. package/lib/typescript/store/sqlite-utils/appendWhereCluase.d.ts +2 -0
  859. package/lib/typescript/store/sqlite-utils/createCreateTableQuery.d.ts +2 -0
  860. package/lib/typescript/store/sqlite-utils/createDeleteQuery.d.ts +12 -0
  861. package/lib/typescript/store/sqlite-utils/createSelectQuery.d.ts +13 -0
  862. package/lib/typescript/store/sqlite-utils/createUpdateQuery.d.ts +13 -0
  863. package/lib/typescript/store/sqlite-utils/createUpsertQuery.d.ts +11 -0
  864. package/lib/typescript/store/sqlite-utils/printRow.d.ts +2 -0
  865. package/lib/typescript/store/types.d.ts +8 -0
  866. package/package.json +5 -3
  867. package/src/__tests__/offline-feature.test.js +619 -0
  868. package/src/__tests__/utils/BetterSqlite.js +44 -0
  869. package/src/components/Avatar/Avatar.tsx +46 -31
  870. package/src/components/Avatar/GroupAvatar.tsx +55 -43
  871. package/src/components/Channel/Channel.tsx +101 -136
  872. package/src/components/Channel/hooks/useCreateChannelContext.ts +2 -0
  873. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +2 -0
  874. package/src/components/ChannelList/ChannelList.tsx +25 -2
  875. package/src/components/ChannelList/ChannelListMessenger.tsx +4 -0
  876. package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +1 -0
  877. package/src/components/ChannelList/hooks/listeners/handleEventToSyncDB.ts +175 -0
  878. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +2 -2
  879. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +2 -2
  880. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +2 -2
  881. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +2 -2
  882. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +2 -2
  883. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +2 -2
  884. package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +59 -14
  885. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +3 -2
  886. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +2 -2
  887. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +2 -2
  888. package/src/components/ChannelList/hooks/listeners/useSyncDatabase.ts +30 -0
  889. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +5 -4
  890. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +34 -10
  891. package/src/components/ChannelPreview/ChannelAvatar.tsx +3 -3
  892. package/src/components/ChannelPreview/ChannelPreview.tsx +8 -8
  893. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +10 -9
  894. package/src/components/Chat/Chat.tsx +24 -3
  895. package/src/components/Chat/hooks/useCreateChatContext.ts +7 -3
  896. package/src/components/Chat/hooks/useMutedUsers.ts +5 -3
  897. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +16 -12
  898. package/src/components/MessageList/MessageList.tsx +166 -108
  899. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +45 -42
  900. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +2 -0
  901. package/src/contexts/channelContext/ChannelContext.tsx +15 -0
  902. package/src/contexts/chatContext/ChatContext.tsx +1 -0
  903. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +4 -0
  904. package/src/hooks/useImageErrorHandler.ts +16 -0
  905. package/src/index.ts +3 -0
  906. package/src/mock-builders/DB/consts.ts +2 -0
  907. package/src/mock-builders/DB/mock.ts +114 -0
  908. package/src/mock-builders/api/channelMocks.tsx +1 -0
  909. package/src/mock-builders/event/memberAdded.js +9 -0
  910. package/src/mock-builders/event/memberRemoved.js +9 -0
  911. package/src/mock-builders/event/memberUpdated.js +9 -0
  912. package/src/mock-builders/event/reactionDeleted.js +10 -0
  913. package/src/mock-builders/event/reactionNew.js +10 -0
  914. package/src/mock-builders/event/reactionUpdated.js +10 -0
  915. package/src/mock-builders/generator/reaction.js +1 -1
  916. package/src/store/QuickSqliteClient.ts +120 -0
  917. package/src/store/apis/deleteChannel.ts +14 -0
  918. package/src/store/apis/deleteMember.ts +25 -0
  919. package/src/store/apis/deleteMessagesForChannel.ts +19 -0
  920. package/src/store/apis/deleteReactions.ts +24 -0
  921. package/src/store/apis/getAllChannelIds.ts +7 -0
  922. package/src/store/apis/getChannelMessages.ts +50 -0
  923. package/src/store/apis/getChannels.ts +43 -0
  924. package/src/store/apis/getLastSyncedAt.ts +13 -0
  925. package/src/store/apis/getMembers.ts +26 -0
  926. package/src/store/apis/getReads.ts +26 -0
  927. package/src/store/apis/queries/selectChannelIdsForFilterSort.ts +28 -0
  928. package/src/store/apis/queries/selectChannels.ts +19 -0
  929. package/src/store/apis/queries/selectMembersForChannels.ts +32 -0
  930. package/src/store/apis/queries/selectMessagesForChannels.ts +40 -0
  931. package/src/store/apis/queries/selectReactionsForMessages.ts +33 -0
  932. package/src/store/apis/queries/selectReadsForChannels.ts +30 -0
  933. package/src/store/apis/updateMessage.ts +65 -0
  934. package/src/store/apis/updateReaction.ts +54 -0
  935. package/src/store/apis/upsertChannelData.ts +20 -0
  936. package/src/store/apis/upsertChannels.ts +79 -0
  937. package/src/store/apis/upsertCidsForQuery.ts +30 -0
  938. package/src/store/apis/upsertLastSyncedAt.ts +17 -0
  939. package/src/store/apis/upsertMembers.ts +41 -0
  940. package/src/store/apis/upsertMessages.ts +43 -0
  941. package/src/store/apis/upsertReads.ts +41 -0
  942. package/src/store/apis/utils/convertFilterSortToQuery.ts +14 -0
  943. package/src/store/constants.ts +3 -0
  944. package/src/store/mappers/mapChannelDataToStorable.ts +67 -0
  945. package/src/store/mappers/mapDateTimeToStorable.ts +5 -0
  946. package/src/store/mappers/mapMemberToStorable.ts +45 -0
  947. package/src/store/mappers/mapMessageToStorable.ts +35 -0
  948. package/src/store/mappers/mapReactionToStorable.ts +19 -0
  949. package/src/store/mappers/mapReadToStorable.ts +25 -0
  950. package/src/store/mappers/mapStorableToChannel.ts +69 -0
  951. package/src/store/mappers/mapStorableToMember.ts +42 -0
  952. package/src/store/mappers/mapStorableToMessage.ts +40 -0
  953. package/src/store/mappers/mapStorableToReaction.ts +25 -0
  954. package/src/store/mappers/mapStorableToRead.ts +21 -0
  955. package/src/store/mappers/mapStorableToUser.ts +23 -0
  956. package/src/store/mappers/mapUserToStorable.ts +18 -0
  957. package/src/store/schema.ts +284 -0
  958. package/src/store/sqlite-utils/__tests__/createSelectQuery.test.ts +21 -0
  959. package/src/store/sqlite-utils/appendWhereCluase.ts +31 -0
  960. package/src/store/sqlite-utils/createCreateTableQuery.ts +39 -0
  961. package/src/store/sqlite-utils/createDeleteQuery.ts +23 -0
  962. package/src/store/sqlite-utils/createSelectQuery.ts +25 -0
  963. package/src/store/sqlite-utils/createUpdateQuery.ts +27 -0
  964. package/src/store/sqlite-utils/createUpsertQuery.ts +48 -0
  965. package/src/store/sqlite-utils/printRow.ts +28 -0
  966. package/src/store/types.ts +11 -0
  967. package/src/version.json +1 -1
@@ -50,7 +50,7 @@ var _ThreadContext = require("../../contexts/threadContext/ThreadContext");
50
50
  var _TranslationContext = require("../../contexts/translationContext/TranslationContext");
51
51
 
52
52
  var _this = this,
53
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageList/MessageList.tsx";
53
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/MessageList/MessageList.tsx";
54
54
 
55
55
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
56
56
 
@@ -111,6 +111,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
111
111
  FlatList = props.FlatList,
112
112
  _props$FooterComponen = props.FooterComponent,
113
113
  FooterComponent = _props$FooterComponen === void 0 ? LoadingMoreIndicator : _props$FooterComponen,
114
+ hasNoMoreRecentMessagesToLoad = props.hasNoMoreRecentMessagesToLoad,
114
115
  _props$HeaderComponen = props.HeaderComponent,
115
116
  HeaderComponent = _props$HeaderComponen === void 0 ? _InlineLoadingMoreRecentIndicator.InlineLoadingMoreRecentIndicator : _props$HeaderComponen,
116
117
  hideStickyDateHeader = props.hideStickyDateHeader,
@@ -122,7 +123,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
122
123
  _props$isListActive = props.isListActive,
123
124
  isListActive = _props$isListActive === void 0 ? false : _props$isListActive,
124
125
  legacyImageViewerSwipeBehaviour = props.legacyImageViewerSwipeBehaviour,
125
- loadChannelAtMessage = props.loadChannelAtMessage,
126
+ loadChannelAroundMessage = props.loadChannelAroundMessage,
126
127
  loading = props.loading,
127
128
  LoadingIndicator = props.LoadingIndicator,
128
129
  loadMore = props.loadMore,
@@ -189,8 +190,11 @@ var MessageListWithContext = function MessageListWithContext(props) {
189
190
  var onStartReachedInPromise = (0, _react.useRef)(null);
190
191
  var onEndReachedInPromise = (0, _react.useRef)(null);
191
192
  var flatListRef = (0, _react.useRef)(null);
192
- var initialScrollSet = (0, _react.useRef)(false);
193
+ var initialScrollSet = (0, _react.useRef)(!initialScrollToFirstUnreadMessage);
193
194
  var channelResyncScrollSet = (0, _react.useRef)(true);
195
+ var scrollToDebounceTimeoutRef = (0, _react.useRef)();
196
+ var messageIdToScrollToRef = (0, _react.useRef)();
197
+ var messageIdLastScrolledToRef = (0, _react.useRef)();
194
198
 
195
199
  var _useState3 = (0, _react.useState)(false),
196
200
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
@@ -213,35 +217,13 @@ var MessageListWithContext = function MessageListWithContext(props) {
213
217
  setStickyHeaderDate = _useState10[1];
214
218
 
215
219
  var stickyHeaderDateRef = (0, _react.useRef)();
216
-
217
- var getLastReadSafely = function getLastReadSafely() {
218
- return channel != null && channel.initialized ? channel.lastRead() : undefined;
219
- };
220
-
221
- var channelLastRead = (0, _react.useRef)(getLastReadSafely());
222
-
223
- var isUnreadMessage = function isUnreadMessage(message, lastRead) {
220
+ var isUnreadMessageRef = (0, _react.useRef)(function (message, lastRead) {
224
221
  return message && lastRead && message.created_at && lastRead < message.created_at;
225
- };
226
-
227
- var setInitialScrollIfNeeded = function setInitialScrollIfNeeded() {
228
- if (!initialScrollToFirstUnreadMessage || initialScrollSet.current) {
229
- initialScrollSet.current = true;
230
- return;
231
- }
232
-
233
- if (isUnreadMessage(topMessageBeforeUpdate.current, channelLastRead.current)) {
234
- if (flatListRef.current) {
235
- flatListRef.current.scrollToEnd();
236
- }
237
-
238
- setTimeout(function () {
239
- initialScrollSet.current = true;
240
- }, 500);
241
- } else if (!initialScrollSet.current) {
242
- initialScrollSet.current = true;
243
- }
244
- };
222
+ });
223
+ var channelLastReadRef = (0, _react.useRef)(channel != null && channel.initialized ? channel.lastRead() : undefined);
224
+ (0, _react.useEffect)(function () {
225
+ channelLastReadRef.current = channel != null && channel.initialized ? channel.lastRead() : undefined;
226
+ }, [channel]);
245
227
 
246
228
  var updateStickyHeaderDateIfNeeded = function updateStickyHeaderDateIfNeeded(viewableItems) {
247
229
  if (viewableItems.length) {
@@ -267,15 +249,11 @@ var MessageListWithContext = function MessageListWithContext(props) {
267
249
  if (viewableItems && !hideStickyDateHeader) {
268
250
  updateStickyHeaderDateIfNeeded(viewableItems);
269
251
  }
270
-
271
- setInitialScrollIfNeeded();
272
252
  });
273
-
274
- var resetPaginationTrackers = function resetPaginationTrackers() {
253
+ var resetPaginationTrackersRef = (0, _react.useRef)(function () {
275
254
  onStartReachedTracker.current = {};
276
255
  onEndReachedTracker.current = {};
277
- };
278
-
256
+ });
279
257
  (0, _react.useEffect)(function () {
280
258
  setScrollToBottomButtonVisible(false);
281
259
  }, [disabled]);
@@ -304,11 +282,11 @@ var MessageListWithContext = function MessageListWithContext(props) {
304
282
  if (hasNewMessage && isMyMessage || messageListLengthAfterUpdate < messageListLengthBeforeUpdate.current || (_topMessageBeforeUpda = topMessageBeforeUpdate.current) != null && _topMessageBeforeUpda.created_at && topMessageAfterUpdate != null && topMessageAfterUpdate.created_at && topMessageBeforeUpdate.current.created_at < topMessageAfterUpdate.created_at) {
305
283
  channelResyncScrollSet.current = false;
306
284
  setScrollToBottomButtonVisible(false);
307
- resetPaginationTrackers();
285
+ resetPaginationTrackersRef.current();
308
286
  setTimeout(function () {
309
287
  var _flatListRef$current;
310
288
 
311
- return (_flatListRef$current = flatListRef.current) == null ? void 0 : _flatListRef$current.scrollToOffset({
289
+ (_flatListRef$current = flatListRef.current) == null ? void 0 : _flatListRef$current.scrollToOffset({
312
290
  offset: 0
313
291
  });
314
292
  }, 50);
@@ -322,30 +300,22 @@ var MessageListWithContext = function MessageListWithContext(props) {
322
300
  }
323
301
  };
324
302
 
325
- if (threadList || channel != null && channel.state.isUpToDate) {
303
+ if (threadList || hasNoMoreRecentMessagesToLoad) {
326
304
  scrollToBottomIfNeeded();
327
305
  } else if (!scrollToBottomButtonVisible) {
328
306
  setScrollToBottomButtonVisible(true);
329
307
  }
330
308
 
331
- if (!(channel != null && channel.state.isUpToDate) && flatListRef.current && messageListLengthBeforeUpdate.current === 0 && messageListLengthAfterUpdate < 10) {
309
+ if (!hasNoMoreRecentMessagesToLoad && flatListRef.current && messageListLengthBeforeUpdate.current === 0 && messageListLengthAfterUpdate < 10) {
332
310
  maybeCallOnStartReached(10);
333
311
  }
334
312
 
335
- if (initialScrollToFirstUnreadMessage && !initialScrollSet.current) {
336
- channelLastRead.current = getLastReadSafely();
337
- }
338
-
339
313
  messageListLengthBeforeUpdate.current = messageListLengthAfterUpdate;
340
314
  topMessageBeforeUpdate.current = topMessageAfterUpdate;
341
315
  }, [messageListLengthAfterUpdate, topMessageAfterUpdate == null ? void 0 : topMessageAfterUpdate.id]);
342
316
  (0, _react.useEffect)(function () {
343
- if (!(channel != null && channel.state.isUpToDate) && autoscrollToTop) {
344
- setAutoscrollToTop(false);
345
- } else if (channel != null && channel.state.isUpToDate && !autoscrollToTop) {
346
- setAutoscrollToTop(true);
347
- }
348
- }, [messageListLengthAfterUpdate]);
317
+ setAutoscrollToTop(hasNoMoreRecentMessagesToLoad);
318
+ }, [messageList, hasNoMoreRecentMessagesToLoad]);
349
319
 
350
320
  var renderItem = function renderItem(_ref2) {
351
321
  var _message$user;
@@ -353,10 +323,10 @@ var MessageListWithContext = function MessageListWithContext(props) {
353
323
  var index = _ref2.index,
354
324
  message = _ref2.item;
355
325
  if (!channel || !channel.initialized) return null;
356
- var lastRead = getLastReadSafely();
326
+ var lastRead = channel.lastRead();
357
327
  var lastMessage = messageList == null ? void 0 : messageList[index + 1];
358
- var showUnreadUnderlay = !!isUnreadMessage(message, lastRead) && scrollToBottomButtonVisible;
359
- var insertInlineUnreadIndicator = showUnreadUnderlay && !isUnreadMessage(lastMessage, lastRead);
328
+ var showUnreadUnderlay = !!isUnreadMessageRef.current(message, lastRead) && scrollToBottomButtonVisible;
329
+ var insertInlineUnreadIndicator = showUnreadUnderlay && !isUnreadMessageRef.current(lastMessage, lastRead);
360
330
 
361
331
  if (message.type === 'system') {
362
332
  return _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactNative.View, {
@@ -364,7 +334,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
364
334
  __self: _this,
365
335
  __source: {
366
336
  fileName: _jsxFileName,
367
- lineNumber: 555,
337
+ lineNumber: 547,
368
338
  columnNumber: 11
369
339
  }
370
340
  }, _react["default"].createElement(MessageSystem, {
@@ -373,14 +343,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
373
343
  __self: _this,
374
344
  __source: {
375
345
  fileName: _jsxFileName,
376
- lineNumber: 556,
346
+ lineNumber: 548,
377
347
  columnNumber: 13
378
348
  }
379
349
  })), insertInlineUnreadIndicator && _react["default"].createElement(InlineUnreadIndicator, {
380
350
  __self: _this,
381
351
  __source: {
382
352
  fileName: _jsxFileName,
383
- lineNumber: 558,
353
+ lineNumber: 550,
384
354
  columnNumber: 43
385
355
  }
386
356
  }));
@@ -392,7 +362,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
392
362
  __self: _this,
393
363
  __source: {
394
364
  fileName: _jsxFileName,
395
- lineNumber: 566,
365
+ lineNumber: 558,
396
366
  columnNumber: 9
397
367
  }
398
368
  }, _react["default"].createElement(_reactNative.View, {
@@ -400,7 +370,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
400
370
  __self: _this,
401
371
  __source: {
402
372
  fileName: _jsxFileName,
403
- lineNumber: 567,
373
+ lineNumber: 559,
404
374
  columnNumber: 11
405
375
  }
406
376
  }, _react["default"].createElement(Message, {
@@ -416,7 +386,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
416
386
  __self: _this,
417
387
  __source: {
418
388
  fileName: _jsxFileName,
419
- lineNumber: 568,
389
+ lineNumber: 560,
420
390
  columnNumber: 13
421
391
  }
422
392
  }))), (0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message) && message.dateSeparator && _react["default"].createElement(InlineDateSeparator, {
@@ -424,14 +394,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
424
394
  __self: _this,
425
395
  __source: {
426
396
  fileName: _jsxFileName,
427
- lineNumber: 584,
397
+ lineNumber: 576,
428
398
  columnNumber: 11
429
399
  }
430
400
  }), insertInlineUnreadIndicator && _react["default"].createElement(InlineUnreadIndicator, {
431
401
  __self: _this,
432
402
  __source: {
433
403
  fileName: _jsxFileName,
434
- lineNumber: 587,
404
+ lineNumber: 579,
435
405
  columnNumber: 41
436
406
  }
437
407
  })) : _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactNative.View, {
@@ -439,7 +409,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
439
409
  __self: _this,
440
410
  __source: {
441
411
  fileName: _jsxFileName,
442
- lineNumber: 591,
412
+ lineNumber: 583,
443
413
  columnNumber: 9
444
414
  }
445
415
  }, _react["default"].createElement(Message, {
@@ -455,7 +425,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
455
425
  __self: _this,
456
426
  __source: {
457
427
  fileName: _jsxFileName,
458
- lineNumber: 592,
428
+ lineNumber: 584,
459
429
  columnNumber: 11
460
430
  }
461
431
  })), (0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message) && message.dateSeparator && _react["default"].createElement(InlineDateSeparator, {
@@ -463,139 +433,79 @@ var MessageListWithContext = function MessageListWithContext(props) {
463
433
  __self: _this,
464
434
  __source: {
465
435
  fileName: _jsxFileName,
466
- lineNumber: 611,
436
+ lineNumber: 603,
467
437
  columnNumber: 11
468
438
  }
469
439
  }), insertInlineUnreadIndicator && _react["default"].createElement(InlineUnreadIndicator, {
470
440
  __self: _this,
471
441
  __source: {
472
442
  fileName: _jsxFileName,
473
- lineNumber: 614,
443
+ lineNumber: 606,
474
444
  columnNumber: 41
475
445
  }
476
446
  }));
477
447
  };
478
448
 
479
- var maybeCallOnStartReached = function () {
480
- var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(limit) {
481
- var callback, onError;
482
- return _regenerator["default"].wrap(function _callee$(_context) {
483
- while (1) {
484
- switch (_context.prev = _context.next) {
485
- case 0:
486
- if (!(messageList != null && messageList.length && onStartReachedTracker.current[messageList.length])) {
487
- _context.next = 2;
488
- break;
489
- }
490
-
491
- return _context.abrupt("return");
492
-
493
- case 2:
494
- if (messageList != null && messageList.length) {
495
- onStartReachedTracker.current[messageList.length] = true;
496
- }
497
-
498
- callback = function callback() {
499
- onStartReachedInPromise.current = null;
500
- return Promise.resolve();
501
- };
502
-
503
- onError = function onError() {
504
- setTimeout(function () {
505
- onStartReachedTracker.current = {};
506
- }, 2000);
507
- };
508
-
509
- if (!onEndReachedInPromise.current) {
510
- _context.next = 11;
511
- break;
512
- }
513
-
514
- _context.next = 8;
515
- return onEndReachedInPromise.current;
516
-
517
- case 8:
518
- onStartReachedInPromise.current = loadMoreRecent(limit).then(callback)["catch"](onError);
519
- _context.next = 12;
520
- break;
521
-
522
- case 11:
523
- onStartReachedInPromise.current = loadMoreRecent(limit).then(callback)["catch"](onError);
449
+ var maybeCallOnStartReached = function maybeCallOnStartReached(limit) {
450
+ if (messageList != null && messageList.length && onStartReachedTracker.current[messageList.length]) {
451
+ return;
452
+ }
524
453
 
525
- case 12:
526
- case "end":
527
- return _context.stop();
528
- }
529
- }
530
- }, _callee);
531
- }));
454
+ if (messageList != null && messageList.length) {
455
+ onStartReachedTracker.current[messageList.length] = true;
456
+ }
532
457
 
533
- return function maybeCallOnStartReached(_x) {
534
- return _ref3.apply(this, arguments);
458
+ var callback = function callback() {
459
+ onStartReachedInPromise.current = null;
460
+ return Promise.resolve();
535
461
  };
536
- }();
537
-
538
- var maybeCallOnEndReached = function () {
539
- var _ref4 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() {
540
- var callback, onError;
541
- return _regenerator["default"].wrap(function _callee2$(_context2) {
542
- while (1) {
543
- switch (_context2.prev = _context2.next) {
544
- case 0:
545
- if (!(messageList != null && messageList.length && onEndReachedTracker.current[messageList.length])) {
546
- _context2.next = 2;
547
- break;
548
- }
549
-
550
- return _context2.abrupt("return");
551
-
552
- case 2:
553
- if (messageList != null && messageList.length) {
554
- onEndReachedTracker.current[messageList.length] = true;
555
- }
556
-
557
- callback = function callback() {
558
- onEndReachedInPromise.current = null;
559
- return Promise.resolve();
560
- };
561
462
 
562
- onError = function onError() {
563
- setTimeout(function () {
564
- onEndReachedTracker.current = {};
565
- }, 2000);
566
- };
567
-
568
- if (!onStartReachedInPromise.current) {
569
- _context2.next = 11;
570
- break;
571
- }
463
+ var onError = function onError() {
464
+ setTimeout(function () {
465
+ onStartReachedTracker.current = {};
466
+ }, 2000);
467
+ };
572
468
 
573
- _context2.next = 8;
574
- return onStartReachedInPromise.current;
469
+ if (onEndReachedInPromise.current) {
470
+ onEndReachedInPromise.current["finally"](function () {
471
+ onStartReachedInPromise.current = loadMoreRecent(limit).then(callback)["catch"](onError);
472
+ });
473
+ } else {
474
+ onStartReachedInPromise.current = loadMoreRecent(limit).then(callback)["catch"](onError);
475
+ }
476
+ };
575
477
 
576
- case 8:
577
- onEndReachedInPromise.current = (threadList ? loadMoreThread() : loadMore()).then(callback)["catch"](onError);
578
- _context2.next = 12;
579
- break;
478
+ var maybeCallOnEndReached = function maybeCallOnEndReached() {
479
+ if (messageList != null && messageList.length && onEndReachedTracker.current[messageList.length]) {
480
+ return;
481
+ }
580
482
 
581
- case 11:
582
- onEndReachedInPromise.current = (threadList ? loadMoreThread() : loadMore()).then(callback)["catch"](onError);
483
+ if (messageList != null && messageList.length) {
484
+ onEndReachedTracker.current[messageList.length] = true;
485
+ }
583
486
 
584
- case 12:
585
- case "end":
586
- return _context2.stop();
587
- }
588
- }
589
- }, _callee2);
590
- }));
487
+ var callback = function callback() {
488
+ onEndReachedInPromise.current = null;
489
+ return Promise.resolve();
490
+ };
591
491
 
592
- return function maybeCallOnEndReached() {
593
- return _ref4.apply(this, arguments);
492
+ var onError = function onError() {
493
+ setTimeout(function () {
494
+ onEndReachedTracker.current = {};
495
+ }, 2000);
594
496
  };
595
- }();
497
+
498
+ if (onStartReachedInPromise.current) {
499
+ onStartReachedInPromise.current["finally"](function () {
500
+ onEndReachedInPromise.current = (threadList ? loadMoreThread() : loadMore()).then(callback)["catch"](onError);
501
+ });
502
+ } else {
503
+ onEndReachedInPromise.current = (threadList ? loadMoreThread() : loadMore()).then(callback)["catch"](onError);
504
+ }
505
+ };
596
506
 
597
507
  var handleScroll = function handleScroll(event) {
598
- if (!channel || !initialScrollSet.current || !channelResyncScrollSet.current) {
508
+ if (!channel || !channelResyncScrollSet.current) {
599
509
  return;
600
510
  }
601
511
 
@@ -614,18 +524,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
614
524
  }
615
525
 
616
526
  var isScrollAtBottom = offset <= 300;
617
- var showScrollToBottomButton = !isScrollAtBottom || !(channel != null && channel.state.isUpToDate);
618
- var shouldMarkRead = !threadList && offset <= 0 && (channel == null ? void 0 : channel.state.isUpToDate) && channel.countUnread() > 0;
527
+ var showScrollToBottomButton = !isScrollAtBottom || !hasNoMoreRecentMessagesToLoad;
528
+ var shouldMarkRead = !threadList && offset <= 0 && hasNoMoreRecentMessagesToLoad && channel.countUnread() > 0;
619
529
 
620
530
  if (shouldMarkRead) {
621
531
  markRead();
622
532
  }
623
533
 
624
- if (showScrollToBottomButton && !scrollToBottomButtonVisible) {
625
- setScrollToBottomButtonVisible(true);
626
- } else if (!showScrollToBottomButton && scrollToBottomButtonVisible) {
627
- setScrollToBottomButtonVisible(false);
628
- }
534
+ setScrollToBottomButtonVisible(showScrollToBottomButton);
629
535
 
630
536
  if (onListScroll) {
631
537
  onListScroll(event);
@@ -633,22 +539,22 @@ var MessageListWithContext = function MessageListWithContext(props) {
633
539
  };
634
540
 
635
541
  var goToNewMessages = function () {
636
- var _ref5 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
637
- return _regenerator["default"].wrap(function _callee3$(_context3) {
542
+ var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
543
+ return _regenerator["default"].wrap(function _callee$(_context) {
638
544
  while (1) {
639
- switch (_context3.prev = _context3.next) {
545
+ switch (_context.prev = _context.next) {
640
546
  case 0:
641
- if (channel != null && channel.state.isUpToDate) {
642
- _context3.next = 6;
547
+ if (hasNoMoreRecentMessagesToLoad) {
548
+ _context.next = 6;
643
549
  break;
644
550
  }
645
551
 
646
- resetPaginationTrackers();
647
- _context3.next = 4;
552
+ resetPaginationTrackersRef.current();
553
+ _context.next = 4;
648
554
  return reloadChannel();
649
555
 
650
556
  case 4:
651
- _context3.next = 7;
557
+ _context.next = 7;
652
558
  break;
653
559
 
654
560
  case 6:
@@ -667,40 +573,98 @@ var MessageListWithContext = function MessageListWithContext(props) {
667
573
 
668
574
  case 9:
669
575
  case "end":
670
- return _context3.stop();
576
+ return _context.stop();
671
577
  }
672
578
  }
673
- }, _callee3);
579
+ }, _callee);
674
580
  }));
675
581
 
676
582
  return function goToNewMessages() {
677
- return _ref5.apply(this, arguments);
583
+ return _ref3.apply(this, arguments);
678
584
  };
679
585
  }();
680
586
 
587
+ var onScrollToIndexFailedRef = (0, _react.useRef)(function (info) {
588
+ if (flatListRef.current) {
589
+ flatListRef.current.scrollToOffset({
590
+ animated: false,
591
+ offset: info.averageItemLength * info.index
592
+ });
593
+ setTimeout(function () {
594
+ var _flatListRef$current2;
595
+
596
+ (_flatListRef$current2 = flatListRef.current) == null ? void 0 : _flatListRef$current2.scrollToIndex({
597
+ animated: false,
598
+ index: info.index,
599
+ viewPosition: 0.5
600
+ });
601
+
602
+ if (messageIdLastScrolledToRef.current) {
603
+ setTargetedMessage(messageIdLastScrolledToRef.current);
604
+ }
605
+ }, 150);
606
+ }
607
+ });
681
608
  var goToMessage = (0, _react.useCallback)(function (messageId) {
682
609
  var indexOfParentInMessageList = messageList.findIndex(function (message) {
683
610
  return (message == null ? void 0 : message.id) === messageId;
684
611
  });
685
612
 
686
- if (indexOfParentInMessageList > -1) {
687
- try {
688
- if (flatListRef.current) {
689
- flatListRef.current.scrollToIndex({
690
- index: indexOfParentInMessageList,
691
- viewPosition: 0.5
692
- });
693
- setTargetedMessage(messageId);
694
- return;
695
- }
696
- } catch (_) {}
613
+ if (indexOfParentInMessageList !== -1 && flatListRef.current) {
614
+ flatListRef.current.scrollToIndex({
615
+ animated: true,
616
+ index: indexOfParentInMessageList,
617
+ viewPosition: 0.5
618
+ });
619
+ messageIdLastScrolledToRef.current = messageId;
620
+ setTargetedMessage(messageId);
621
+ return;
697
622
  }
698
623
 
699
- loadChannelAtMessage({
624
+ messageIdToScrollToRef.current = messageId;
625
+ loadChannelAroundMessage({
700
626
  messageId: messageId
701
627
  });
702
- resetPaginationTrackers();
703
- }, [messageListLengthAfterUpdate]);
628
+ resetPaginationTrackersRef.current();
629
+ }, [messageList]);
630
+ (0, _react.useEffect)(function () {
631
+ if (scrollToDebounceTimeoutRef.current) clearTimeout(scrollToDebounceTimeoutRef.current);
632
+ scrollToDebounceTimeoutRef.current = setTimeout(function () {
633
+ var messageIdToScroll = messageIdToScrollToRef.current;
634
+
635
+ if (!initialScrollSet.current && initialScrollToFirstUnreadMessage) {
636
+ for (var index = messageList.length - 1; index >= 0; index--) {
637
+ if (isUnreadMessageRef.current(messageList[index], channelLastReadRef.current)) {
638
+ messageIdToScroll = messageList[index].id;
639
+ break;
640
+ }
641
+ }
642
+ } else if (targetedMessage && messageIdLastScrolledToRef.current !== targetedMessage) {
643
+ messageIdToScroll = targetedMessage;
644
+ }
645
+
646
+ if (!messageIdToScroll) return;
647
+ var indexOfParentInMessageList = messageList.findIndex(function (message) {
648
+ return (message == null ? void 0 : message.id) === messageIdToScroll;
649
+ });
650
+
651
+ if (indexOfParentInMessageList !== -1 && flatListRef.current) {
652
+ flatListRef.current.scrollToIndex({
653
+ animated: false,
654
+ index: indexOfParentInMessageList,
655
+ viewPosition: 0.5
656
+ });
657
+ messageIdToScrollToRef.current = undefined;
658
+ messageIdLastScrolledToRef.current = messageIdToScroll;
659
+
660
+ if (!initialScrollSet.current && initialScrollToFirstUnreadMessage) {
661
+ initialScrollSet.current = true;
662
+ } else {
663
+ setTargetedMessage(messageIdToScroll);
664
+ }
665
+ }
666
+ }, 150);
667
+ }, [messageList, targetedMessage, initialScrollToFirstUnreadMessage]);
704
668
  var messagesWithImages = legacyImageViewerSwipeBehaviour && messageList.filter(function (message) {
705
669
  var isMessageTypeDeleted = message.type === 'deleted';
706
670
 
@@ -760,7 +724,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
760
724
  __self: _this,
761
725
  __source: {
762
726
  fileName: _jsxFileName,
763
- lineNumber: 888,
727
+ lineNumber: 942,
764
728
  columnNumber: 5
765
729
  }
766
730
  }, _react["default"].createElement(EmptyStateIndicator, {
@@ -768,7 +732,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
768
732
  __self: _this,
769
733
  __source: {
770
734
  fileName: _jsxFileName,
771
- lineNumber: 889,
735
+ lineNumber: 943,
772
736
  columnNumber: 7
773
737
  }
774
738
  }));
@@ -782,7 +746,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
782
746
  __self: _this,
783
747
  __source: {
784
748
  fileName: _jsxFileName,
785
- lineNumber: 897,
749
+ lineNumber: 951,
786
750
  columnNumber: 7
787
751
  }
788
752
  }, _react["default"].createElement(LoadingIndicator, {
@@ -790,7 +754,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
790
754
  __self: _this,
791
755
  __source: {
792
756
  fileName: _jsxFileName,
793
- lineNumber: 898,
757
+ lineNumber: 952,
794
758
  columnNumber: 9
795
759
  }
796
760
  }));
@@ -804,13 +768,13 @@ var MessageListWithContext = function MessageListWithContext(props) {
804
768
  __self: _this,
805
769
  __source: {
806
770
  fileName: _jsxFileName,
807
- lineNumber: 904,
771
+ lineNumber: 958,
808
772
  columnNumber: 5
809
773
  }
810
774
  }, _react["default"].createElement(FlatList, (0, _extends2["default"])({
811
775
  contentContainerStyle: [styles.contentContainer, contentContainer],
812
776
  data: messageList,
813
- extraData: disabled || !(channel != null && channel.state.isUpToDate),
777
+ extraData: disabled || !hasNoMoreRecentMessagesToLoad,
814
778
  inverted: inverted,
815
779
  keyboardShouldPersistTaps: "handled",
816
780
  keyExtractor: keyExtractor,
@@ -821,9 +785,11 @@ var MessageListWithContext = function MessageListWithContext(props) {
821
785
  autoscrollToTopThreshold: autoscrollToTop ? 10 : undefined,
822
786
  minIndexForVisible: 1
823
787
  },
788
+ maxToRenderPerBatch: 30,
824
789
  onScroll: handleScroll,
825
790
  onScrollBeginDrag: onScrollBeginDrag,
826
791
  onScrollEndDrag: onScrollEndDrag,
792
+ onScrollToIndexFailed: onScrollToIndexFailedRef.current,
827
793
  onTouchEnd: dismissImagePicker,
828
794
  onViewableItemsChanged: onViewableItemsChanged.current,
829
795
  ref: refCallback,
@@ -836,7 +802,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
836
802
  __self: _this,
837
803
  __source: {
838
804
  fileName: _jsxFileName,
839
- lineNumber: 908,
805
+ lineNumber: 962,
840
806
  columnNumber: 7
841
807
  }
842
808
  })), !loading && _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactNative.View, {
@@ -844,7 +810,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
844
810
  __self: _this,
845
811
  __source: {
846
812
  fileName: _jsxFileName,
847
- lineNumber: 938,
813
+ lineNumber: 994,
848
814
  columnNumber: 11
849
815
  }
850
816
  }, stickyHeaderDateToRender && (StickyHeader ? _react["default"].createElement(StickyHeader, {
@@ -852,7 +818,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
852
818
  __self: _this,
853
819
  __source: {
854
820
  fileName: _jsxFileName,
855
- lineNumber: 941,
821
+ lineNumber: 997,
856
822
  columnNumber: 17
857
823
  }
858
824
  }) : messageListLengthAfterUpdate ? _react["default"].createElement(DateHeader, {
@@ -860,21 +826,21 @@ var MessageListWithContext = function MessageListWithContext(props) {
860
826
  __self: _this,
861
827
  __source: {
862
828
  fileName: _jsxFileName,
863
- lineNumber: 943,
829
+ lineNumber: 999,
864
830
  columnNumber: 17
865
831
  }
866
832
  }) : null)), !disableTypingIndicator && TypingIndicator && _react["default"].createElement(TypingIndicatorContainer, {
867
833
  __self: _this,
868
834
  __source: {
869
835
  fileName: _jsxFileName,
870
- lineNumber: 947,
836
+ lineNumber: 1003,
871
837
  columnNumber: 13
872
838
  }
873
839
  }, _react["default"].createElement(TypingIndicator, {
874
840
  __self: _this,
875
841
  __source: {
876
842
  fileName: _jsxFileName,
877
- lineNumber: 948,
843
+ lineNumber: 1004,
878
844
  columnNumber: 15
879
845
  }
880
846
  })), _react["default"].createElement(ScrollToBottomButton, {
@@ -884,14 +850,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
884
850
  __self: _this,
885
851
  __source: {
886
852
  fileName: _jsxFileName,
887
- lineNumber: 951,
853
+ lineNumber: 1007,
888
854
  columnNumber: 11
889
855
  }
890
856
  })), _react["default"].createElement(NetworkDownIndicator, {
891
857
  __self: _this,
892
858
  __source: {
893
859
  fileName: _jsxFileName,
894
- lineNumber: 958,
860
+ lineNumber: 1014,
895
861
  columnNumber: 7
896
862
  }
897
863
  }));
@@ -911,7 +877,7 @@ var MessageList = function MessageList(props) {
911
877
  error = _useChannelContext.error,
912
878
  hideStickyDateHeader = _useChannelContext.hideStickyDateHeader,
913
879
  isChannelActive = _useChannelContext.isChannelActive,
914
- loadChannelAtMessage = _useChannelContext.loadChannelAtMessage,
880
+ loadChannelAroundMessage = _useChannelContext.loadChannelAroundMessage,
915
881
  loading = _useChannelContext.loading,
916
882
  LoadingIndicator = _useChannelContext.LoadingIndicator,
917
883
  markRead = _useChannelContext.markRead,
@@ -945,6 +911,7 @@ var MessageList = function MessageList(props) {
945
911
  TypingIndicatorContainer = _useMessagesContext.TypingIndicatorContainer;
946
912
 
947
913
  var _usePaginatedMessageL = (0, _PaginatedMessageListContext.usePaginatedMessageListContext)(),
914
+ hasNoMoreRecentMessagesToLoad = _usePaginatedMessageL.hasNoMoreRecentMessagesToLoad,
948
915
  loadMore = _usePaginatedMessageL.loadMore,
949
916
  loadMoreRecent = _usePaginatedMessageL.loadMoreRecent;
950
917
 
@@ -971,13 +938,14 @@ var MessageList = function MessageList(props) {
971
938
  enableMessageGroupingByUser: enableMessageGroupingByUser,
972
939
  error: error,
973
940
  FlatList: FlatList,
941
+ hasNoMoreRecentMessagesToLoad: hasNoMoreRecentMessagesToLoad,
974
942
  hideStickyDateHeader: hideStickyDateHeader,
975
943
  initialScrollToFirstUnreadMessage: initialScrollToFirstUnreadMessage,
976
944
  InlineDateSeparator: InlineDateSeparator,
977
945
  InlineUnreadIndicator: InlineUnreadIndicator,
978
946
  isListActive: isChannelActive,
979
947
  legacyImageViewerSwipeBehaviour: legacyImageViewerSwipeBehaviour,
980
- loadChannelAtMessage: loadChannelAtMessage,
948
+ loadChannelAroundMessage: loadChannelAroundMessage,
981
949
  loading: loading,
982
950
  LoadingIndicator: LoadingIndicator,
983
951
  loadMore: loadMore,
@@ -1008,7 +976,7 @@ var MessageList = function MessageList(props) {
1008
976
  __self: _this,
1009
977
  __source: {
1010
978
  fileName: _jsxFileName,
1011
- lineNumber: 1016,
979
+ lineNumber: 1073,
1012
980
  columnNumber: 5
1013
981
  }
1014
982
  }));