stream-chat-react-native-core 4.15.0-beta.2 → 5.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1030) 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/AudioAttachment.js +1 -1
  4. package/lib/commonjs/components/Attachment/Card.js +1 -1
  5. package/lib/commonjs/components/Attachment/FileAttachment.js +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +1 -1
  7. package/lib/commonjs/components/Attachment/FileIcon.js +1 -1
  8. package/lib/commonjs/components/Attachment/Gallery.js +19 -19
  9. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  10. package/lib/commonjs/components/Attachment/GalleryImage.js +1 -1
  11. package/lib/commonjs/components/Attachment/Giphy.js +40 -40
  12. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  14. package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js +1 -1
  15. package/lib/commonjs/components/Attachment/VideoThumbnail.js +1 -1
  16. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +1 -1
  17. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  18. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  19. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  20. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  21. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  22. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  23. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  24. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  25. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  26. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  27. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  28. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  29. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  30. package/lib/commonjs/components/Avatar/Avatar.js +31 -18
  31. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  32. package/lib/commonjs/components/Avatar/GroupAvatar.js +28 -21
  33. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  34. package/lib/commonjs/components/Channel/Channel.js +227 -257
  35. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  36. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +2 -0
  37. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  38. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +2 -0
  39. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  40. package/lib/commonjs/components/ChannelList/ChannelList.js +41 -10
  41. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  42. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  43. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  44. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  45. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  46. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +20 -8
  47. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  48. package/lib/commonjs/components/ChannelList/Skeleton.js +1 -1
  49. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  50. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  51. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -2
  52. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  53. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -2
  54. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  55. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js +2 -2
  56. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  57. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -2
  58. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  59. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  60. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  62. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +2 -2
  64. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  65. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -2
  66. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  67. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js +4 -4
  68. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  69. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +57 -22
  70. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  71. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +1 -1
  72. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +3 -3
  73. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  74. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +8 -6
  75. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  76. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  77. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  78. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  79. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  80. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  81. package/lib/commonjs/components/Chat/Chat.js +45 -9
  82. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  83. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js +144 -0
  84. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js.map +1 -0
  85. package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js +171 -0
  86. package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js.map +1 -0
  87. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +7 -3
  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/Chat/hooks/useSyncDatabase.js +29 -0
  92. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js.map +1 -0
  93. package/lib/commonjs/components/ImageGallery/ImageGallery.js +36 -30
  94. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  95. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  96. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  97. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
  98. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  99. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  100. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  101. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +3 -3
  102. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  103. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +1 -1
  104. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js +6 -0
  105. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  106. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +1 -1
  107. package/lib/commonjs/components/Indicators/LoadingDot.js +1 -1
  108. package/lib/commonjs/components/Indicators/LoadingDots.js +1 -1
  109. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +1 -1
  110. package/lib/commonjs/components/Indicators/LoadingIndicator.js +1 -1
  111. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  112. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  113. package/lib/commonjs/components/Message/Message.js +1 -1
  114. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +1 -1
  115. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +1 -1
  116. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +1 -1
  117. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +1 -1
  118. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  119. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +1 -1
  120. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  121. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +1 -1
  122. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +1 -1
  123. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  124. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +1 -1
  125. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +1 -1
  126. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  127. package/lib/commonjs/components/Message/hooks/useMessageActions.js +1 -1
  128. package/lib/commonjs/components/MessageInput/AttachButton.js +1 -1
  129. package/lib/commonjs/components/MessageInput/CommandsButton.js +1 -1
  130. package/lib/commonjs/components/MessageInput/CooldownTimer.js +1 -1
  131. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +1 -1
  132. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +1 -1
  133. package/lib/commonjs/components/MessageInput/InputButtons.js +1 -1
  134. package/lib/commonjs/components/MessageInput/MessageInput.js +1 -1
  135. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +1 -1
  136. package/lib/commonjs/components/MessageInput/SendButton.js +1 -1
  137. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  138. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  139. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +1 -1
  140. package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  141. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js +1 -1
  142. package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  143. package/lib/commonjs/components/MessageList/DateHeader.js +1 -1
  144. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +1 -1
  145. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  146. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  147. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  148. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +1 -1
  149. package/lib/commonjs/components/MessageList/MessageList.js +140 -112
  150. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  151. package/lib/commonjs/components/MessageList/MessageSystem.js +1 -1
  152. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +1 -1
  153. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +1 -1
  154. package/lib/commonjs/components/MessageList/TypingIndicator.js +1 -1
  155. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +1 -1
  156. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +1 -1
  157. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +1 -1
  158. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +1 -1
  159. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
  160. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +1 -1
  161. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +1 -1
  162. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  163. package/lib/commonjs/components/ProgressControl/ProgressControl.js +1 -1
  164. package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  165. package/lib/commonjs/components/Reply/Reply.js +1 -1
  166. package/lib/commonjs/components/Spinner/Spinner.js +1 -1
  167. package/lib/commonjs/components/Thread/Thread.js +1 -1
  168. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +1 -1
  169. package/lib/commonjs/components/index.js +26 -13
  170. package/lib/commonjs/components/index.js.map +1 -1
  171. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  172. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  173. package/lib/commonjs/contexts/channelContext/ChannelContext.js +3 -3
  174. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  175. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +1 -1
  176. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  177. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +5 -5
  178. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  179. package/lib/commonjs/contexts/chatContext/ChatContext.js +3 -3
  180. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  181. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +14 -15
  182. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  183. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.md +1 -1
  184. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -1
  185. package/lib/commonjs/contexts/messageContext/MessageContext.js +1 -1
  186. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +1 -1
  187. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  188. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  189. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +1 -1
  190. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  191. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +13 -26
  192. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  193. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  194. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  195. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  196. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  197. package/lib/commonjs/contexts/themeContext/ThemeContext.js +1 -1
  198. package/lib/commonjs/contexts/threadContext/ThreadContext.js +1 -1
  199. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
  200. package/lib/commonjs/contexts/typingContext/TypingContext.js +1 -1
  201. package/lib/commonjs/{components/Attachment/hooks → hooks}/useLoadingImage.js +10 -0
  202. package/lib/commonjs/hooks/useLoadingImage.js.map +1 -0
  203. package/lib/commonjs/icons/ArrowRight.js +1 -1
  204. package/lib/commonjs/icons/AtMentions.js +1 -1
  205. package/lib/commonjs/icons/Attach.js +1 -1
  206. package/lib/commonjs/icons/Audio.js +1 -1
  207. package/lib/commonjs/icons/CSV.js +1 -1
  208. package/lib/commonjs/icons/Camera.js +1 -1
  209. package/lib/commonjs/icons/Check.js +1 -1
  210. package/lib/commonjs/icons/CheckAll.js +1 -1
  211. package/lib/commonjs/icons/CheckSend.js +1 -1
  212. package/lib/commonjs/icons/CircleClose.js +1 -1
  213. package/lib/commonjs/icons/CirclePlus.js +1 -1
  214. package/lib/commonjs/icons/CircleRight.js +1 -1
  215. package/lib/commonjs/icons/Close.js +1 -1
  216. package/lib/commonjs/icons/Copy.js +1 -1
  217. package/lib/commonjs/icons/CurveLineLeftUp.js +1 -1
  218. package/lib/commonjs/icons/DOC.js +1 -1
  219. package/lib/commonjs/icons/DOCX.js +1 -1
  220. package/lib/commonjs/icons/Delete.js +1 -1
  221. package/lib/commonjs/icons/Down.js +1 -1
  222. package/lib/commonjs/icons/DownloadArrow.js +1 -1
  223. package/lib/commonjs/icons/DownloadCloud.js +1 -1
  224. package/lib/commonjs/icons/Edit.js +1 -1
  225. package/lib/commonjs/icons/Error.js +1 -1
  226. package/lib/commonjs/icons/Eye.js +1 -1
  227. package/lib/commonjs/icons/Flag.js +1 -1
  228. package/lib/commonjs/icons/Folder.js +1 -1
  229. package/lib/commonjs/icons/GenericFile.js +1 -1
  230. package/lib/commonjs/icons/GiphyIcon.js +1 -1
  231. package/lib/commonjs/icons/Grid.js +1 -1
  232. package/lib/commonjs/icons/Group.js +1 -1
  233. package/lib/commonjs/icons/HTML.js +1 -1
  234. package/lib/commonjs/icons/Imgur.js +1 -1
  235. package/lib/commonjs/icons/LOLReaction.js +1 -1
  236. package/lib/commonjs/icons/Lightning.js +1 -1
  237. package/lib/commonjs/icons/Link.js +1 -1
  238. package/lib/commonjs/icons/Loading.js +1 -1
  239. package/lib/commonjs/icons/Logo.js +1 -1
  240. package/lib/commonjs/icons/LoveReaction.js +1 -1
  241. package/lib/commonjs/icons/MD.js +1 -1
  242. package/lib/commonjs/icons/MailOpen.js +1 -1
  243. package/lib/commonjs/icons/MenuPointHorizontal.js +1 -1
  244. package/lib/commonjs/icons/MenuPointVertical.js +1 -1
  245. package/lib/commonjs/icons/MessageFlag.js +1 -1
  246. package/lib/commonjs/icons/MessageIcon.js +1 -1
  247. package/lib/commonjs/icons/Mute.js +1 -1
  248. package/lib/commonjs/icons/Notification.js +1 -1
  249. package/lib/commonjs/icons/ODT.js +1 -1
  250. package/lib/commonjs/icons/PDF.js +1 -1
  251. package/lib/commonjs/icons/PPT.js +1 -1
  252. package/lib/commonjs/icons/PPTX.js +1 -1
  253. package/lib/commonjs/icons/Pause.js +1 -1
  254. package/lib/commonjs/icons/Picture.js +1 -1
  255. package/lib/commonjs/icons/Pin.js +1 -1
  256. package/lib/commonjs/icons/PinHeader.js +1 -1
  257. package/lib/commonjs/icons/Play.js +1 -1
  258. package/lib/commonjs/icons/RAR.js +1 -1
  259. package/lib/commonjs/icons/RTF.js +1 -1
  260. package/lib/commonjs/icons/Recorder.js +1 -1
  261. package/lib/commonjs/icons/Refresh.js +1 -1
  262. package/lib/commonjs/icons/SEVEN_Z.js +1 -1
  263. package/lib/commonjs/icons/Search.js +1 -1
  264. package/lib/commonjs/icons/SendRight.js +1 -1
  265. package/lib/commonjs/icons/SendUp.js +1 -1
  266. package/lib/commonjs/icons/Share.js +1 -1
  267. package/lib/commonjs/icons/ShareRightArrow.js +1 -1
  268. package/lib/commonjs/icons/Smile.js +1 -1
  269. package/lib/commonjs/icons/Sound.js +1 -1
  270. package/lib/commonjs/icons/TAR.js +1 -1
  271. package/lib/commonjs/icons/TXT.js +1 -1
  272. package/lib/commonjs/icons/ThreadReply.js +1 -1
  273. package/lib/commonjs/icons/ThumbsDownReaction.js +1 -1
  274. package/lib/commonjs/icons/ThumbsUpReaction.js +1 -1
  275. package/lib/commonjs/icons/Time.js +1 -1
  276. package/lib/commonjs/icons/Unknown.js +1 -1
  277. package/lib/commonjs/icons/Unpin.js +1 -1
  278. package/lib/commonjs/icons/User.js +1 -1
  279. package/lib/commonjs/icons/UserAdd.js +1 -1
  280. package/lib/commonjs/icons/UserAdmin.js +1 -1
  281. package/lib/commonjs/icons/UserDelete.js +1 -1
  282. package/lib/commonjs/icons/UserMinus.js +1 -1
  283. package/lib/commonjs/icons/Video.js +1 -1
  284. package/lib/commonjs/icons/Warning.js +1 -1
  285. package/lib/commonjs/icons/WutReaction.js +1 -1
  286. package/lib/commonjs/icons/XLS.js +1 -1
  287. package/lib/commonjs/icons/XLSX.js +1 -1
  288. package/lib/commonjs/icons/ZIP.js +1 -1
  289. package/lib/commonjs/icons/utils/base.js +1 -1
  290. package/lib/commonjs/index.js +22 -1
  291. package/lib/commonjs/index.js.map +1 -1
  292. package/lib/commonjs/mock-builders/DB/consts.js +15 -0
  293. package/lib/commonjs/mock-builders/DB/consts.js.map +1 -0
  294. package/lib/commonjs/mock-builders/DB/mock.js +113 -0
  295. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -0
  296. package/lib/commonjs/mock-builders/event/memberAdded.js +17 -0
  297. package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -0
  298. package/lib/commonjs/mock-builders/event/memberRemoved.js +17 -0
  299. package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -0
  300. package/lib/commonjs/mock-builders/event/memberUpdated.js +17 -0
  301. package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -0
  302. package/lib/commonjs/mock-builders/event/reactionDeleted.js +18 -0
  303. package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -0
  304. package/lib/commonjs/mock-builders/event/reactionNew.js +18 -0
  305. package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -0
  306. package/lib/commonjs/mock-builders/event/reactionUpdated.js +18 -0
  307. package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -0
  308. package/lib/commonjs/mock-builders/generator/reaction.js +1 -1
  309. package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
  310. package/lib/commonjs/store/QuickSqliteClient.js +160 -0
  311. package/lib/commonjs/store/QuickSqliteClient.js.map +1 -0
  312. package/lib/commonjs/store/apis/deleteChannel.js +26 -0
  313. package/lib/commonjs/store/apis/deleteChannel.js.map +1 -0
  314. package/lib/commonjs/store/apis/deleteMember.js +28 -0
  315. package/lib/commonjs/store/apis/deleteMember.js.map +1 -0
  316. package/lib/commonjs/store/apis/deleteMessagesForChannel.js +26 -0
  317. package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -0
  318. package/lib/commonjs/store/apis/deleteReactions.js +28 -0
  319. package/lib/commonjs/store/apis/deleteReactions.js.map +1 -0
  320. package/lib/commonjs/store/apis/getAllChannelIds.js +16 -0
  321. package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -0
  322. package/lib/commonjs/store/apis/getChannelMessages.js +45 -0
  323. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -0
  324. package/lib/commonjs/store/apis/getChannels.js +47 -0
  325. package/lib/commonjs/store/apis/getChannels.js.map +1 -0
  326. package/lib/commonjs/store/apis/getChannelsForFilterSort.js +37 -0
  327. package/lib/commonjs/store/apis/getChannelsForFilterSort.js.map +1 -0
  328. package/lib/commonjs/store/apis/getLastSyncedAt.js +23 -0
  329. package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -0
  330. package/lib/commonjs/store/apis/getMembers.js +25 -0
  331. package/lib/commonjs/store/apis/getMembers.js.map +1 -0
  332. package/lib/commonjs/store/apis/getReads.js +25 -0
  333. package/lib/commonjs/store/apis/getReads.js.map +1 -0
  334. package/lib/commonjs/store/apis/index.js +264 -0
  335. package/lib/commonjs/store/apis/index.js.map +1 -0
  336. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js +31 -0
  337. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -0
  338. package/lib/commonjs/store/apis/queries/selectChannels.js +30 -0
  339. package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -0
  340. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js +27 -0
  341. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -0
  342. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +27 -0
  343. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -0
  344. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +27 -0
  345. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -0
  346. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js +27 -0
  347. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -0
  348. package/lib/commonjs/store/apis/updateMessage.js +69 -0
  349. package/lib/commonjs/store/apis/updateMessage.js.map +1 -0
  350. package/lib/commonjs/store/apis/updateReaction.js +53 -0
  351. package/lib/commonjs/store/apis/updateReaction.js.map +1 -0
  352. package/lib/commonjs/store/apis/upsertChannelData.js +26 -0
  353. package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -0
  354. package/lib/commonjs/store/apis/upsertChannels.js +83 -0
  355. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -0
  356. package/lib/commonjs/store/apis/upsertCidsForQuery.js +34 -0
  357. package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -0
  358. package/lib/commonjs/store/apis/upsertLastSyncedAt.js +22 -0
  359. package/lib/commonjs/store/apis/upsertLastSyncedAt.js.map +1 -0
  360. package/lib/commonjs/store/apis/upsertMembers.js +39 -0
  361. package/lib/commonjs/store/apis/upsertMembers.js.map +1 -0
  362. package/lib/commonjs/store/apis/upsertMessages.js +52 -0
  363. package/lib/commonjs/store/apis/upsertMessages.js.map +1 -0
  364. package/lib/commonjs/store/apis/upsertReads.js +39 -0
  365. package/lib/commonjs/store/apis/upsertReads.js.map +1 -0
  366. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js +13 -0
  367. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js.map +1 -0
  368. package/lib/commonjs/store/constants.js +11 -0
  369. package/lib/commonjs/store/constants.js.map +1 -0
  370. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js +67 -0
  371. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js.map +1 -0
  372. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js +12 -0
  373. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -0
  374. package/lib/commonjs/store/mappers/mapMemberToStorable.js +39 -0
  375. package/lib/commonjs/store/mappers/mapMemberToStorable.js.map +1 -0
  376. package/lib/commonjs/store/mappers/mapMessageToStorable.js +42 -0
  377. package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -0
  378. package/lib/commonjs/store/mappers/mapReactionToStorable.js +34 -0
  379. package/lib/commonjs/store/mappers/mapReactionToStorable.js.map +1 -0
  380. package/lib/commonjs/store/mappers/mapReadToStorable.js +23 -0
  381. package/lib/commonjs/store/mappers/mapReadToStorable.js.map +1 -0
  382. package/lib/commonjs/store/mappers/mapStorableToChannel.js +65 -0
  383. package/lib/commonjs/store/mappers/mapStorableToChannel.js.map +1 -0
  384. package/lib/commonjs/store/mappers/mapStorableToMember.js +38 -0
  385. package/lib/commonjs/store/mappers/mapStorableToMember.js.map +1 -0
  386. package/lib/commonjs/store/mappers/mapStorableToMessage.js +50 -0
  387. package/lib/commonjs/store/mappers/mapStorableToMessage.js.map +1 -0
  388. package/lib/commonjs/store/mappers/mapStorableToReaction.js +31 -0
  389. package/lib/commonjs/store/mappers/mapStorableToReaction.js.map +1 -0
  390. package/lib/commonjs/store/mappers/mapStorableToRead.js +20 -0
  391. package/lib/commonjs/store/mappers/mapStorableToRead.js.map +1 -0
  392. package/lib/commonjs/store/mappers/mapStorableToUser.js +31 -0
  393. package/lib/commonjs/store/mappers/mapStorableToUser.js.map +1 -0
  394. package/lib/commonjs/store/mappers/mapUserToStorable.js +34 -0
  395. package/lib/commonjs/store/mappers/mapUserToStorable.js.map +1 -0
  396. package/lib/commonjs/store/schema.js +161 -0
  397. package/lib/commonjs/store/schema.js.map +1 -0
  398. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js +37 -0
  399. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -0
  400. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js +35 -0
  401. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -0
  402. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js +14 -0
  403. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js.map +1 -0
  404. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js +26 -0
  405. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js.map +1 -0
  406. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js +29 -0
  407. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js.map +1 -0
  408. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js +30 -0
  409. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -0
  410. package/lib/commonjs/store/sqlite-utils/printRow.js +23 -0
  411. package/lib/commonjs/store/sqlite-utils/printRow.js.map +1 -0
  412. package/lib/commonjs/store/types.js +4 -0
  413. package/lib/commonjs/store/types.js.map +1 -0
  414. package/lib/commonjs/test-utils/BetterSqlite.js +54 -0
  415. package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -0
  416. package/lib/commonjs/version.json +1 -1
  417. package/lib/module/components/Attachment/Attachment.js +1 -1
  418. package/lib/module/components/Attachment/AttachmentActions.js +1 -1
  419. package/lib/module/components/Attachment/AudioAttachment.js +1 -1
  420. package/lib/module/components/Attachment/Card.js +1 -1
  421. package/lib/module/components/Attachment/FileAttachment.js +1 -1
  422. package/lib/module/components/Attachment/FileAttachmentGroup.js +1 -1
  423. package/lib/module/components/Attachment/FileIcon.js +1 -1
  424. package/lib/module/components/Attachment/Gallery.js +19 -19
  425. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  426. package/lib/module/components/Attachment/GalleryImage.js +1 -1
  427. package/lib/module/components/Attachment/Giphy.js +40 -40
  428. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  429. package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  430. package/lib/module/components/Attachment/ImageLoadingIndicator.js +1 -1
  431. package/lib/module/components/Attachment/VideoThumbnail.js +1 -1
  432. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +1 -1
  433. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  434. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  435. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  436. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  437. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  438. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  439. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  440. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  441. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  442. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  443. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  444. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  445. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  446. package/lib/module/components/Avatar/Avatar.js +31 -18
  447. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  448. package/lib/module/components/Avatar/GroupAvatar.js +28 -21
  449. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  450. package/lib/module/components/Channel/Channel.js +227 -257
  451. package/lib/module/components/Channel/Channel.js.map +1 -1
  452. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +2 -0
  453. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  454. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +2 -0
  455. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  456. package/lib/module/components/ChannelList/ChannelList.js +41 -10
  457. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  458. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  459. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  460. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  461. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  462. package/lib/module/components/ChannelList/ChannelListMessenger.js +20 -8
  463. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  464. package/lib/module/components/ChannelList/Skeleton.js +1 -1
  465. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  466. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  467. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -2
  468. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  469. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -2
  470. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  471. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js +2 -2
  472. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  473. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -2
  474. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  475. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  476. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  477. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  478. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  479. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +2 -2
  480. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  481. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -2
  482. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  483. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js +4 -4
  484. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  485. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +57 -22
  486. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  487. package/lib/module/components/ChannelPreview/ChannelAvatar.js +1 -1
  488. package/lib/module/components/ChannelPreview/ChannelPreview.js +3 -3
  489. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  490. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +8 -6
  491. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  492. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  493. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  494. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  495. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  496. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  497. package/lib/module/components/Chat/Chat.js +45 -9
  498. package/lib/module/components/Chat/Chat.js.map +1 -1
  499. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js +144 -0
  500. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js.map +1 -0
  501. package/lib/module/components/Chat/hooks/useConnectionRecovered.js +171 -0
  502. package/lib/module/components/Chat/hooks/useConnectionRecovered.js.map +1 -0
  503. package/lib/module/components/Chat/hooks/useCreateChatContext.js +7 -3
  504. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  505. package/lib/module/components/Chat/hooks/useMutedUsers.js +3 -3
  506. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  507. package/lib/module/components/Chat/hooks/useSyncDatabase.js +29 -0
  508. package/lib/module/components/Chat/hooks/useSyncDatabase.js.map +1 -0
  509. package/lib/module/components/ImageGallery/ImageGallery.js +36 -30
  510. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  511. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  512. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  513. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
  514. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  515. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  516. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  517. package/lib/module/components/ImageGallery/components/ImageGrid.js +3 -3
  518. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  519. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +1 -1
  520. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js +6 -0
  521. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  522. package/lib/module/components/Indicators/EmptyStateIndicator.js +1 -1
  523. package/lib/module/components/Indicators/LoadingDot.js +1 -1
  524. package/lib/module/components/Indicators/LoadingDots.js +1 -1
  525. package/lib/module/components/Indicators/LoadingErrorIndicator.js +1 -1
  526. package/lib/module/components/Indicators/LoadingIndicator.js +1 -1
  527. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  528. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  529. package/lib/module/components/Message/Message.js +1 -1
  530. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +1 -1
  531. package/lib/module/components/Message/MessageSimple/MessageContent.js +1 -1
  532. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +1 -1
  533. package/lib/module/components/Message/MessageSimple/MessageFooter.js +1 -1
  534. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  535. package/lib/module/components/Message/MessageSimple/MessageReplies.js +1 -1
  536. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  537. package/lib/module/components/Message/MessageSimple/MessageSimple.js +1 -1
  538. package/lib/module/components/Message/MessageSimple/MessageStatus.js +1 -1
  539. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  540. package/lib/module/components/Message/MessageSimple/ReactionList.js +1 -1
  541. package/lib/module/components/Message/MessageSimple/utils/renderText.js +1 -1
  542. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  543. package/lib/module/components/Message/hooks/useMessageActions.js +1 -1
  544. package/lib/module/components/MessageInput/AttachButton.js +1 -1
  545. package/lib/module/components/MessageInput/CommandsButton.js +1 -1
  546. package/lib/module/components/MessageInput/CooldownTimer.js +1 -1
  547. package/lib/module/components/MessageInput/FileUploadPreview.js +1 -1
  548. package/lib/module/components/MessageInput/ImageUploadPreview.js +1 -1
  549. package/lib/module/components/MessageInput/InputButtons.js +1 -1
  550. package/lib/module/components/MessageInput/MessageInput.js +1 -1
  551. package/lib/module/components/MessageInput/MoreOptionsButton.js +1 -1
  552. package/lib/module/components/MessageInput/SendButton.js +1 -1
  553. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  554. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  555. package/lib/module/components/MessageInput/UploadProgressIndicator.js +1 -1
  556. package/lib/module/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  557. package/lib/module/components/MessageInput/components/InputGiphySearch.js +1 -1
  558. package/lib/module/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  559. package/lib/module/components/MessageList/DateHeader.js +1 -1
  560. package/lib/module/components/MessageList/InlineDateSeparator.js +1 -1
  561. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  562. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  563. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  564. package/lib/module/components/MessageList/InlineUnreadIndicator.js +1 -1
  565. package/lib/module/components/MessageList/MessageList.js +140 -112
  566. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  567. package/lib/module/components/MessageList/MessageSystem.js +1 -1
  568. package/lib/module/components/MessageList/NetworkDownIndicator.js +1 -1
  569. package/lib/module/components/MessageList/ScrollToBottomButton.js +1 -1
  570. package/lib/module/components/MessageList/TypingIndicator.js +1 -1
  571. package/lib/module/components/MessageList/TypingIndicatorContainer.js +1 -1
  572. package/lib/module/components/MessageOverlay/MessageActionList.js +1 -1
  573. package/lib/module/components/MessageOverlay/MessageActionListItem.js +1 -1
  574. package/lib/module/components/MessageOverlay/MessageOverlay.js +1 -1
  575. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
  576. package/lib/module/components/MessageOverlay/OverlayReactionList.js +1 -1
  577. package/lib/module/components/MessageOverlay/OverlayReactions.js +1 -1
  578. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  579. package/lib/module/components/ProgressControl/ProgressControl.js +1 -1
  580. package/lib/module/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  581. package/lib/module/components/Reply/Reply.js +1 -1
  582. package/lib/module/components/Spinner/Spinner.js +1 -1
  583. package/lib/module/components/Thread/Thread.js +1 -1
  584. package/lib/module/components/Thread/components/ThreadFooterComponent.js +1 -1
  585. package/lib/module/components/index.js +26 -13
  586. package/lib/module/components/index.js.map +1 -1
  587. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  588. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  589. package/lib/module/contexts/channelContext/ChannelContext.js +3 -3
  590. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  591. package/lib/module/contexts/channelsContext/ChannelsContext.js +1 -1
  592. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  593. package/lib/module/contexts/channelsStateContext/useChannelState.js +5 -5
  594. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  595. package/lib/module/contexts/chatContext/ChatContext.js +3 -3
  596. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  597. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +14 -15
  598. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  599. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.md +1 -1
  600. package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -1
  601. package/lib/module/contexts/messageContext/MessageContext.js +1 -1
  602. package/lib/module/contexts/messageInputContext/MessageInputContext.js +1 -1
  603. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  604. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  605. package/lib/module/contexts/messagesContext/MessagesContext.js +1 -1
  606. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  607. package/lib/module/contexts/overlayContext/OverlayProvider.js +13 -26
  608. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  609. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  610. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  611. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  612. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  613. package/lib/module/contexts/themeContext/ThemeContext.js +1 -1
  614. package/lib/module/contexts/threadContext/ThreadContext.js +1 -1
  615. package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
  616. package/lib/module/contexts/typingContext/TypingContext.js +1 -1
  617. package/lib/module/{components/Attachment/hooks → hooks}/useLoadingImage.js +10 -0
  618. package/lib/module/hooks/useLoadingImage.js.map +1 -0
  619. package/lib/module/icons/ArrowRight.js +1 -1
  620. package/lib/module/icons/AtMentions.js +1 -1
  621. package/lib/module/icons/Attach.js +1 -1
  622. package/lib/module/icons/Audio.js +1 -1
  623. package/lib/module/icons/CSV.js +1 -1
  624. package/lib/module/icons/Camera.js +1 -1
  625. package/lib/module/icons/Check.js +1 -1
  626. package/lib/module/icons/CheckAll.js +1 -1
  627. package/lib/module/icons/CheckSend.js +1 -1
  628. package/lib/module/icons/CircleClose.js +1 -1
  629. package/lib/module/icons/CirclePlus.js +1 -1
  630. package/lib/module/icons/CircleRight.js +1 -1
  631. package/lib/module/icons/Close.js +1 -1
  632. package/lib/module/icons/Copy.js +1 -1
  633. package/lib/module/icons/CurveLineLeftUp.js +1 -1
  634. package/lib/module/icons/DOC.js +1 -1
  635. package/lib/module/icons/DOCX.js +1 -1
  636. package/lib/module/icons/Delete.js +1 -1
  637. package/lib/module/icons/Down.js +1 -1
  638. package/lib/module/icons/DownloadArrow.js +1 -1
  639. package/lib/module/icons/DownloadCloud.js +1 -1
  640. package/lib/module/icons/Edit.js +1 -1
  641. package/lib/module/icons/Error.js +1 -1
  642. package/lib/module/icons/Eye.js +1 -1
  643. package/lib/module/icons/Flag.js +1 -1
  644. package/lib/module/icons/Folder.js +1 -1
  645. package/lib/module/icons/GenericFile.js +1 -1
  646. package/lib/module/icons/GiphyIcon.js +1 -1
  647. package/lib/module/icons/Grid.js +1 -1
  648. package/lib/module/icons/Group.js +1 -1
  649. package/lib/module/icons/HTML.js +1 -1
  650. package/lib/module/icons/Imgur.js +1 -1
  651. package/lib/module/icons/LOLReaction.js +1 -1
  652. package/lib/module/icons/Lightning.js +1 -1
  653. package/lib/module/icons/Link.js +1 -1
  654. package/lib/module/icons/Loading.js +1 -1
  655. package/lib/module/icons/Logo.js +1 -1
  656. package/lib/module/icons/LoveReaction.js +1 -1
  657. package/lib/module/icons/MD.js +1 -1
  658. package/lib/module/icons/MailOpen.js +1 -1
  659. package/lib/module/icons/MenuPointHorizontal.js +1 -1
  660. package/lib/module/icons/MenuPointVertical.js +1 -1
  661. package/lib/module/icons/MessageFlag.js +1 -1
  662. package/lib/module/icons/MessageIcon.js +1 -1
  663. package/lib/module/icons/Mute.js +1 -1
  664. package/lib/module/icons/Notification.js +1 -1
  665. package/lib/module/icons/ODT.js +1 -1
  666. package/lib/module/icons/PDF.js +1 -1
  667. package/lib/module/icons/PPT.js +1 -1
  668. package/lib/module/icons/PPTX.js +1 -1
  669. package/lib/module/icons/Pause.js +1 -1
  670. package/lib/module/icons/Picture.js +1 -1
  671. package/lib/module/icons/Pin.js +1 -1
  672. package/lib/module/icons/PinHeader.js +1 -1
  673. package/lib/module/icons/Play.js +1 -1
  674. package/lib/module/icons/RAR.js +1 -1
  675. package/lib/module/icons/RTF.js +1 -1
  676. package/lib/module/icons/Recorder.js +1 -1
  677. package/lib/module/icons/Refresh.js +1 -1
  678. package/lib/module/icons/SEVEN_Z.js +1 -1
  679. package/lib/module/icons/Search.js +1 -1
  680. package/lib/module/icons/SendRight.js +1 -1
  681. package/lib/module/icons/SendUp.js +1 -1
  682. package/lib/module/icons/Share.js +1 -1
  683. package/lib/module/icons/ShareRightArrow.js +1 -1
  684. package/lib/module/icons/Smile.js +1 -1
  685. package/lib/module/icons/Sound.js +1 -1
  686. package/lib/module/icons/TAR.js +1 -1
  687. package/lib/module/icons/TXT.js +1 -1
  688. package/lib/module/icons/ThreadReply.js +1 -1
  689. package/lib/module/icons/ThumbsDownReaction.js +1 -1
  690. package/lib/module/icons/ThumbsUpReaction.js +1 -1
  691. package/lib/module/icons/Time.js +1 -1
  692. package/lib/module/icons/Unknown.js +1 -1
  693. package/lib/module/icons/Unpin.js +1 -1
  694. package/lib/module/icons/User.js +1 -1
  695. package/lib/module/icons/UserAdd.js +1 -1
  696. package/lib/module/icons/UserAdmin.js +1 -1
  697. package/lib/module/icons/UserDelete.js +1 -1
  698. package/lib/module/icons/UserMinus.js +1 -1
  699. package/lib/module/icons/Video.js +1 -1
  700. package/lib/module/icons/Warning.js +1 -1
  701. package/lib/module/icons/WutReaction.js +1 -1
  702. package/lib/module/icons/XLS.js +1 -1
  703. package/lib/module/icons/XLSX.js +1 -1
  704. package/lib/module/icons/ZIP.js +1 -1
  705. package/lib/module/icons/utils/base.js +1 -1
  706. package/lib/module/index.js +22 -1
  707. package/lib/module/index.js.map +1 -1
  708. package/lib/module/mock-builders/DB/consts.js +15 -0
  709. package/lib/module/mock-builders/DB/consts.js.map +1 -0
  710. package/lib/module/mock-builders/DB/mock.js +113 -0
  711. package/lib/module/mock-builders/DB/mock.js.map +1 -0
  712. package/lib/module/mock-builders/event/memberAdded.js +17 -0
  713. package/lib/module/mock-builders/event/memberAdded.js.map +1 -0
  714. package/lib/module/mock-builders/event/memberRemoved.js +17 -0
  715. package/lib/module/mock-builders/event/memberRemoved.js.map +1 -0
  716. package/lib/module/mock-builders/event/memberUpdated.js +17 -0
  717. package/lib/module/mock-builders/event/memberUpdated.js.map +1 -0
  718. package/lib/module/mock-builders/event/reactionDeleted.js +18 -0
  719. package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -0
  720. package/lib/module/mock-builders/event/reactionNew.js +18 -0
  721. package/lib/module/mock-builders/event/reactionNew.js.map +1 -0
  722. package/lib/module/mock-builders/event/reactionUpdated.js +18 -0
  723. package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -0
  724. package/lib/module/mock-builders/generator/reaction.js +1 -1
  725. package/lib/module/mock-builders/generator/reaction.js.map +1 -1
  726. package/lib/module/store/QuickSqliteClient.js +160 -0
  727. package/lib/module/store/QuickSqliteClient.js.map +1 -0
  728. package/lib/module/store/apis/deleteChannel.js +26 -0
  729. package/lib/module/store/apis/deleteChannel.js.map +1 -0
  730. package/lib/module/store/apis/deleteMember.js +28 -0
  731. package/lib/module/store/apis/deleteMember.js.map +1 -0
  732. package/lib/module/store/apis/deleteMessagesForChannel.js +26 -0
  733. package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -0
  734. package/lib/module/store/apis/deleteReactions.js +28 -0
  735. package/lib/module/store/apis/deleteReactions.js.map +1 -0
  736. package/lib/module/store/apis/getAllChannelIds.js +16 -0
  737. package/lib/module/store/apis/getAllChannelIds.js.map +1 -0
  738. package/lib/module/store/apis/getChannelMessages.js +45 -0
  739. package/lib/module/store/apis/getChannelMessages.js.map +1 -0
  740. package/lib/module/store/apis/getChannels.js +47 -0
  741. package/lib/module/store/apis/getChannels.js.map +1 -0
  742. package/lib/module/store/apis/getChannelsForFilterSort.js +37 -0
  743. package/lib/module/store/apis/getChannelsForFilterSort.js.map +1 -0
  744. package/lib/module/store/apis/getLastSyncedAt.js +23 -0
  745. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -0
  746. package/lib/module/store/apis/getMembers.js +25 -0
  747. package/lib/module/store/apis/getMembers.js.map +1 -0
  748. package/lib/module/store/apis/getReads.js +25 -0
  749. package/lib/module/store/apis/getReads.js.map +1 -0
  750. package/lib/module/store/apis/index.js +264 -0
  751. package/lib/module/store/apis/index.js.map +1 -0
  752. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js +31 -0
  753. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -0
  754. package/lib/module/store/apis/queries/selectChannels.js +30 -0
  755. package/lib/module/store/apis/queries/selectChannels.js.map +1 -0
  756. package/lib/module/store/apis/queries/selectMembersForChannels.js +27 -0
  757. package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -0
  758. package/lib/module/store/apis/queries/selectMessagesForChannels.js +27 -0
  759. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -0
  760. package/lib/module/store/apis/queries/selectReactionsForMessages.js +27 -0
  761. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -0
  762. package/lib/module/store/apis/queries/selectReadsForChannels.js +27 -0
  763. package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -0
  764. package/lib/module/store/apis/updateMessage.js +69 -0
  765. package/lib/module/store/apis/updateMessage.js.map +1 -0
  766. package/lib/module/store/apis/updateReaction.js +53 -0
  767. package/lib/module/store/apis/updateReaction.js.map +1 -0
  768. package/lib/module/store/apis/upsertChannelData.js +26 -0
  769. package/lib/module/store/apis/upsertChannelData.js.map +1 -0
  770. package/lib/module/store/apis/upsertChannels.js +83 -0
  771. package/lib/module/store/apis/upsertChannels.js.map +1 -0
  772. package/lib/module/store/apis/upsertCidsForQuery.js +34 -0
  773. package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -0
  774. package/lib/module/store/apis/upsertLastSyncedAt.js +22 -0
  775. package/lib/module/store/apis/upsertLastSyncedAt.js.map +1 -0
  776. package/lib/module/store/apis/upsertMembers.js +39 -0
  777. package/lib/module/store/apis/upsertMembers.js.map +1 -0
  778. package/lib/module/store/apis/upsertMessages.js +52 -0
  779. package/lib/module/store/apis/upsertMessages.js.map +1 -0
  780. package/lib/module/store/apis/upsertReads.js +39 -0
  781. package/lib/module/store/apis/upsertReads.js.map +1 -0
  782. package/lib/module/store/apis/utils/convertFilterSortToQuery.js +13 -0
  783. package/lib/module/store/apis/utils/convertFilterSortToQuery.js.map +1 -0
  784. package/lib/module/store/constants.js +11 -0
  785. package/lib/module/store/constants.js.map +1 -0
  786. package/lib/module/store/mappers/mapChannelDataToStorable.js +67 -0
  787. package/lib/module/store/mappers/mapChannelDataToStorable.js.map +1 -0
  788. package/lib/module/store/mappers/mapDateTimeToStorable.js +12 -0
  789. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -0
  790. package/lib/module/store/mappers/mapMemberToStorable.js +39 -0
  791. package/lib/module/store/mappers/mapMemberToStorable.js.map +1 -0
  792. package/lib/module/store/mappers/mapMessageToStorable.js +42 -0
  793. package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -0
  794. package/lib/module/store/mappers/mapReactionToStorable.js +34 -0
  795. package/lib/module/store/mappers/mapReactionToStorable.js.map +1 -0
  796. package/lib/module/store/mappers/mapReadToStorable.js +23 -0
  797. package/lib/module/store/mappers/mapReadToStorable.js.map +1 -0
  798. package/lib/module/store/mappers/mapStorableToChannel.js +65 -0
  799. package/lib/module/store/mappers/mapStorableToChannel.js.map +1 -0
  800. package/lib/module/store/mappers/mapStorableToMember.js +38 -0
  801. package/lib/module/store/mappers/mapStorableToMember.js.map +1 -0
  802. package/lib/module/store/mappers/mapStorableToMessage.js +50 -0
  803. package/lib/module/store/mappers/mapStorableToMessage.js.map +1 -0
  804. package/lib/module/store/mappers/mapStorableToReaction.js +31 -0
  805. package/lib/module/store/mappers/mapStorableToReaction.js.map +1 -0
  806. package/lib/module/store/mappers/mapStorableToRead.js +20 -0
  807. package/lib/module/store/mappers/mapStorableToRead.js.map +1 -0
  808. package/lib/module/store/mappers/mapStorableToUser.js +31 -0
  809. package/lib/module/store/mappers/mapStorableToUser.js.map +1 -0
  810. package/lib/module/store/mappers/mapUserToStorable.js +34 -0
  811. package/lib/module/store/mappers/mapUserToStorable.js.map +1 -0
  812. package/lib/module/store/schema.js +161 -0
  813. package/lib/module/store/schema.js.map +1 -0
  814. package/lib/module/store/sqlite-utils/appendWhereCluase.js +37 -0
  815. package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -0
  816. package/lib/module/store/sqlite-utils/createCreateTableQuery.js +35 -0
  817. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -0
  818. package/lib/module/store/sqlite-utils/createDeleteQuery.js +14 -0
  819. package/lib/module/store/sqlite-utils/createDeleteQuery.js.map +1 -0
  820. package/lib/module/store/sqlite-utils/createSelectQuery.js +26 -0
  821. package/lib/module/store/sqlite-utils/createSelectQuery.js.map +1 -0
  822. package/lib/module/store/sqlite-utils/createUpdateQuery.js +29 -0
  823. package/lib/module/store/sqlite-utils/createUpdateQuery.js.map +1 -0
  824. package/lib/module/store/sqlite-utils/createUpsertQuery.js +30 -0
  825. package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -0
  826. package/lib/module/store/sqlite-utils/printRow.js +23 -0
  827. package/lib/module/store/sqlite-utils/printRow.js.map +1 -0
  828. package/lib/module/store/types.js +4 -0
  829. package/lib/module/store/types.js.map +1 -0
  830. package/lib/module/test-utils/BetterSqlite.js +54 -0
  831. package/lib/module/test-utils/BetterSqlite.js.map +1 -0
  832. package/lib/module/version.json +1 -1
  833. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
  834. package/lib/typescript/components/Attachment/Giphy.d.ts +1 -1
  835. package/lib/typescript/components/Channel/Channel.d.ts +3 -5
  836. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  837. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +1 -1
  838. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +4 -2
  839. package/lib/typescript/components/Chat/Chat.d.ts +4 -0
  840. package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts +2 -0
  841. package/lib/typescript/components/Chat/hooks/useConnectionRecovered.d.ts +10 -0
  842. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  843. package/lib/typescript/components/Chat/hooks/useSyncDatabase.d.ts +8 -0
  844. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +1 -1
  845. package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts +2 -1
  846. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  847. package/lib/typescript/components/index.d.ts +2 -1
  848. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +17 -0
  849. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +3 -1
  850. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +9 -10
  851. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +4 -0
  852. package/lib/typescript/{components/Attachment/hooks → hooks}/useLoadingImage.d.ts +0 -0
  853. package/lib/typescript/index.d.ts +3 -0
  854. package/lib/typescript/store/QuickSqliteClient.d.ts +22 -0
  855. package/lib/typescript/store/apis/deleteChannel.d.ts +4 -0
  856. package/lib/typescript/store/apis/deleteMember.d.ts +6 -0
  857. package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts +4 -0
  858. package/lib/typescript/store/apis/deleteReactions.d.ts +4 -0
  859. package/lib/typescript/store/apis/getAllChannelIds.d.ts +1 -0
  860. package/lib/typescript/store/apis/getChannelMessages.d.ts +6 -0
  861. package/lib/typescript/store/apis/getChannels.d.ts +15 -0
  862. package/lib/typescript/store/apis/getChannelsForFilterSort.d.ts +17 -0
  863. package/lib/typescript/store/apis/getLastSyncedAt.d.ts +3 -0
  864. package/lib/typescript/store/apis/getMembers.d.ts +5 -0
  865. package/lib/typescript/store/apis/getReads.d.ts +5 -0
  866. package/lib/typescript/store/apis/index.d.ts +20 -0
  867. package/lib/typescript/store/apis/queries/selectChannelIdsForFilterSort.d.ts +15 -0
  868. package/lib/typescript/store/apis/queries/selectChannels.d.ts +4 -0
  869. package/lib/typescript/store/apis/queries/selectMembersForChannels.d.ts +2 -0
  870. package/lib/typescript/store/apis/queries/selectMessagesForChannels.d.ts +2 -0
  871. package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts +2 -0
  872. package/lib/typescript/store/apis/queries/selectReadsForChannels.d.ts +2 -0
  873. package/lib/typescript/store/apis/updateMessage.d.ts +6 -0
  874. package/lib/typescript/store/apis/updateReaction.d.ts +7 -0
  875. package/lib/typescript/store/apis/upsertChannelData.d.ts +5 -0
  876. package/lib/typescript/store/apis/upsertChannels.d.ts +9 -0
  877. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts +7 -0
  878. package/lib/typescript/store/apis/upsertLastSyncedAt.d.ts +4 -0
  879. package/lib/typescript/store/apis/upsertMembers.d.ts +7 -0
  880. package/lib/typescript/store/apis/upsertMessages.d.ts +6 -0
  881. package/lib/typescript/store/apis/upsertReads.d.ts +7 -0
  882. package/lib/typescript/store/apis/utils/convertFilterSortToQuery.d.ts +6 -0
  883. package/lib/typescript/store/constants.d.ts +3 -0
  884. package/lib/typescript/store/mappers/mapChannelDataToStorable.d.ts +4 -0
  885. package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts +1 -0
  886. package/lib/typescript/store/mappers/mapMemberToStorable.d.ts +7 -0
  887. package/lib/typescript/store/mappers/mapMessageToStorable.d.ts +3 -0
  888. package/lib/typescript/store/mappers/mapReactionToStorable.d.ts +3 -0
  889. package/lib/typescript/store/mappers/mapReadToStorable.d.ts +7 -0
  890. package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +4 -0
  891. package/lib/typescript/store/mappers/mapStorableToMember.d.ts +4 -0
  892. package/lib/typescript/store/mappers/mapStorableToMessage.d.ts +8 -0
  893. package/lib/typescript/store/mappers/mapStorableToReaction.d.ts +4 -0
  894. package/lib/typescript/store/mappers/mapStorableToRead.d.ts +4 -0
  895. package/lib/typescript/store/mappers/mapStorableToUser.d.ts +4 -0
  896. package/lib/typescript/store/mappers/mapUserToStorable.d.ts +3 -0
  897. package/lib/typescript/store/schema.d.ts +110 -0
  898. package/lib/typescript/store/sqlite-utils/__tests__/createSelectQuery.test.d.ts +1 -0
  899. package/lib/typescript/store/sqlite-utils/appendWhereCluase.d.ts +3 -0
  900. package/lib/typescript/store/sqlite-utils/createCreateTableQuery.d.ts +2 -0
  901. package/lib/typescript/store/sqlite-utils/createDeleteQuery.d.ts +12 -0
  902. package/lib/typescript/store/sqlite-utils/createSelectQuery.d.ts +13 -0
  903. package/lib/typescript/store/sqlite-utils/createUpdateQuery.d.ts +13 -0
  904. package/lib/typescript/store/sqlite-utils/createUpsertQuery.d.ts +11 -0
  905. package/lib/typescript/store/sqlite-utils/printRow.d.ts +2 -0
  906. package/lib/typescript/store/types.d.ts +9 -0
  907. package/lib/typescript/test-utils/BetterSqlite.d.ts +8 -0
  908. package/package.json +5 -2
  909. package/src/__tests__/offline-feature.test.js +656 -0
  910. package/src/components/Attachment/Gallery.tsx +18 -17
  911. package/src/components/Attachment/Giphy.tsx +9 -10
  912. package/src/components/Avatar/Avatar.tsx +45 -31
  913. package/src/components/Avatar/GroupAvatar.tsx +46 -35
  914. package/src/components/Channel/Channel.tsx +101 -136
  915. package/src/components/Channel/hooks/useCreateChannelContext.ts +2 -0
  916. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +2 -0
  917. package/src/components/ChannelList/ChannelList.tsx +28 -8
  918. package/src/components/ChannelList/ChannelListMessenger.tsx +4 -0
  919. package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +2 -0
  920. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +2 -2
  921. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +2 -2
  922. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +2 -2
  923. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +2 -2
  924. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +2 -2
  925. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +2 -2
  926. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +2 -2
  927. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +2 -2
  928. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +2 -2
  929. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +5 -4
  930. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +46 -10
  931. package/src/components/ChannelPreview/ChannelPreview.tsx +2 -2
  932. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +10 -9
  933. package/src/components/Chat/Chat.tsx +41 -4
  934. package/src/components/Chat/hooks/handleEventToSyncDB.ts +142 -0
  935. package/src/components/Chat/hooks/useConnectionRecovered.ts +92 -0
  936. package/src/components/Chat/hooks/useCreateChatContext.ts +9 -3
  937. package/src/components/Chat/hooks/useMutedUsers.ts +5 -3
  938. package/src/components/Chat/hooks/useSyncDatabase.ts +30 -0
  939. package/src/components/ImageGallery/ImageGallery.tsx +30 -18
  940. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +6 -6
  941. package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +3 -3
  942. package/src/components/ImageGallery/__tests__/ImageGalleryGrid.test.tsx +3 -3
  943. package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +3 -3
  944. package/src/components/ImageGallery/components/ImageGrid.tsx +3 -3
  945. package/src/components/ImageGallery/hooks/useImageGalleryGestures.tsx +16 -0
  946. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +1 -0
  947. package/src/components/MessageList/MessageList.tsx +162 -106
  948. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +6 -0
  949. package/src/components/index.ts +2 -1
  950. package/src/contexts/channelContext/ChannelContext.tsx +15 -0
  951. package/src/contexts/channelsStateContext/useChannelState.ts +2 -2
  952. package/src/contexts/chatContext/ChatContext.tsx +3 -1
  953. package/src/contexts/imageGalleryContext/ImageGalleryContext.md +1 -1
  954. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +19 -14
  955. package/src/contexts/overlayContext/OverlayProvider.tsx +1 -5
  956. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +4 -0
  957. package/src/{components/Attachment/hooks → hooks}/useLoadingImage.tsx +9 -1
  958. package/src/index.ts +4 -0
  959. package/src/mock-builders/DB/consts.ts +2 -0
  960. package/src/mock-builders/DB/mock.ts +107 -0
  961. package/src/mock-builders/event/memberAdded.js +8 -0
  962. package/src/mock-builders/event/memberRemoved.js +8 -0
  963. package/src/mock-builders/event/memberUpdated.js +8 -0
  964. package/src/mock-builders/event/reactionDeleted.js +9 -0
  965. package/src/mock-builders/event/reactionNew.js +9 -0
  966. package/src/mock-builders/event/reactionUpdated.js +9 -0
  967. package/src/mock-builders/generator/reaction.js +1 -1
  968. package/src/store/QuickSqliteClient.ts +144 -0
  969. package/src/store/apis/deleteChannel.ts +14 -0
  970. package/src/store/apis/deleteMember.ts +25 -0
  971. package/src/store/apis/deleteMessagesForChannel.ts +19 -0
  972. package/src/store/apis/deleteReactions.ts +24 -0
  973. package/src/store/apis/getAllChannelIds.ts +7 -0
  974. package/src/store/apis/getChannelMessages.ts +50 -0
  975. package/src/store/apis/getChannels.ts +46 -0
  976. package/src/store/apis/getChannelsForFilterSort.ts +45 -0
  977. package/src/store/apis/getLastSyncedAt.ts +17 -0
  978. package/src/store/apis/getMembers.ts +26 -0
  979. package/src/store/apis/getReads.ts +26 -0
  980. package/src/store/apis/index.ts +20 -0
  981. package/src/store/apis/queries/selectChannelIdsForFilterSort.ts +38 -0
  982. package/src/store/apis/queries/selectChannels.ts +25 -0
  983. package/src/store/apis/queries/selectMembersForChannels.ts +32 -0
  984. package/src/store/apis/queries/selectMessagesForChannels.ts +40 -0
  985. package/src/store/apis/queries/selectReactionsForMessages.ts +33 -0
  986. package/src/store/apis/queries/selectReadsForChannels.ts +30 -0
  987. package/src/store/apis/updateMessage.ts +65 -0
  988. package/src/store/apis/updateReaction.ts +54 -0
  989. package/src/store/apis/upsertChannelData.ts +20 -0
  990. package/src/store/apis/upsertChannels.ts +79 -0
  991. package/src/store/apis/upsertCidsForQuery.ts +30 -0
  992. package/src/store/apis/upsertLastSyncedAt.ts +17 -0
  993. package/src/store/apis/upsertMembers.ts +41 -0
  994. package/src/store/apis/upsertMessages.ts +43 -0
  995. package/src/store/apis/upsertReads.ts +41 -0
  996. package/src/store/apis/utils/convertFilterSortToQuery.ts +14 -0
  997. package/src/store/constants.ts +3 -0
  998. package/src/store/mappers/mapChannelDataToStorable.ts +67 -0
  999. package/src/store/mappers/mapDateTimeToStorable.ts +5 -0
  1000. package/src/store/mappers/mapMemberToStorable.ts +45 -0
  1001. package/src/store/mappers/mapMessageToStorable.ts +35 -0
  1002. package/src/store/mappers/mapReactionToStorable.ts +19 -0
  1003. package/src/store/mappers/mapReadToStorable.ts +25 -0
  1004. package/src/store/mappers/mapStorableToChannel.ts +69 -0
  1005. package/src/store/mappers/mapStorableToMember.ts +42 -0
  1006. package/src/store/mappers/mapStorableToMessage.ts +40 -0
  1007. package/src/store/mappers/mapStorableToReaction.ts +25 -0
  1008. package/src/store/mappers/mapStorableToRead.ts +21 -0
  1009. package/src/store/mappers/mapStorableToUser.ts +23 -0
  1010. package/src/store/mappers/mapUserToStorable.ts +18 -0
  1011. package/src/store/schema.ts +284 -0
  1012. package/src/store/sqlite-utils/__tests__/createSelectQuery.test.ts +21 -0
  1013. package/src/store/sqlite-utils/appendWhereCluase.ts +32 -0
  1014. package/src/store/sqlite-utils/createCreateTableQuery.ts +39 -0
  1015. package/src/store/sqlite-utils/createDeleteQuery.ts +23 -0
  1016. package/src/store/sqlite-utils/createSelectQuery.ts +25 -0
  1017. package/src/store/sqlite-utils/createUpdateQuery.ts +27 -0
  1018. package/src/store/sqlite-utils/createUpsertQuery.ts +48 -0
  1019. package/src/store/sqlite-utils/printRow.ts +19 -0
  1020. package/src/store/types.ts +12 -0
  1021. package/src/test-utils/BetterSqlite.js +44 -0
  1022. package/src/version.json +1 -1
  1023. package/lib/commonjs/components/Attachment/hooks/useLoadingImage.js.map +0 -1
  1024. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js +0 -45
  1025. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +0 -1
  1026. package/lib/module/components/Attachment/hooks/useLoadingImage.js.map +0 -1
  1027. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js +0 -45
  1028. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +0 -1
  1029. package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +0 -8
  1030. package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +0 -41
@@ -191,7 +191,7 @@ var _excluded = ["attachments", "mentioned_users", "parent_id", "text"],
191
191
  _excluded2 = ["__html", "attachments", "created_at", "html", "id", "mentioned_users", "parent_id", "quoted_message", "reactions", "status", "text", "type", "updated_at", "user"];
192
192
 
193
193
  var _this = this,
194
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Channel/Channel.tsx";
194
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Channel/Channel.tsx";
195
195
 
196
196
  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); }
197
197
 
@@ -232,10 +232,9 @@ var debounceOptions = {
232
232
  leading: true,
233
233
  trailing: true
234
234
  };
235
- var unreadMessagesOnInitialLoadLimit = 2;
236
235
 
237
236
  var ChannelWithContext = function ChannelWithContext(props) {
238
- var _client$user, _channel$data, _ref21, _ref22;
237
+ var _client$user, _channel$data, _ref22, _ref23;
239
238
 
240
239
  var additionalKeyboardAvoidingViewProps = props.additionalKeyboardAvoidingViewProps,
241
240
  additionalTextInputProps = props.additionalTextInputProps,
@@ -312,8 +311,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
312
311
  giphyEnabled = props.giphyEnabled,
313
312
  _props$giphyVersion = props.giphyVersion,
314
313
  giphyVersion = _props$giphyVersion === void 0 ? 'fixed_height' : _props$giphyVersion,
315
- _props$globalUnreadCo = props.globalUnreadCountLimit,
316
- globalUnreadCountLimit = _props$globalUnreadCo === void 0 ? 255 : _props$globalUnreadCo,
317
314
  handleBlock = props.handleBlock,
318
315
  handleCopy = props.handleCopy,
319
316
  handleDelete = props.handleDelete,
@@ -544,14 +541,19 @@ var ChannelWithContext = function ChannelWithContext(props) {
544
541
  syncingChannel = _useState26[0],
545
542
  setSyncingChannel = _useState26[1];
546
543
 
547
- var _useTargetedMessage = (0, _useTargetedMessage2.useTargetedMessage)(messageId),
544
+ var _useState27 = (0, _react.useState)(true),
545
+ _useState28 = (0, _slicedToArray2["default"])(_useState27, 2),
546
+ hasNoMoreRecentMessagesToLoad = _useState28[0],
547
+ setHasNoMoreRecentMessagesToLoad = _useState28[1];
548
+
549
+ var _useTargetedMessage = (0, _useTargetedMessage2.useTargetedMessage)(),
548
550
  setTargetedMessage = _useTargetedMessage.setTargetedMessage,
549
551
  targetedMessage = _useTargetedMessage.targetedMessage;
550
552
 
551
553
  var channelId = (channel == null ? void 0 : channel.id) || '';
552
554
  (0, _react.useEffect)(function () {
553
555
  var initChannel = function initChannel() {
554
- if (!channel || !shouldSyncChannel) return;
556
+ if (!channel || !shouldSyncChannel || channel.staticState) return;
555
557
 
556
558
  if (!channel.initialized) {
557
559
  loadChannel();
@@ -559,7 +561,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
559
561
  }
560
562
 
561
563
  if (messageId) {
562
- loadChannelAtMessage({
564
+ loadChannelAroundMessage({
563
565
  messageId: messageId
564
566
  });
565
567
  return;
@@ -714,34 +716,31 @@ var ChannelWithContext = function ChannelWithContext(props) {
714
716
  });
715
717
  };
716
718
  }, [channelId, connectionChangedHandler, connectionRecoveredHandler, handleEvent]);
717
-
718
- var channelQueryCall = function () {
719
- var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
720
- var queryCall,
719
+ var channelQueryCallRef = (0, _react.useRef)(function () {
720
+ var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(queryCall) {
721
+ var onAfterQueryCall,
721
722
  _args = arguments;
722
723
  return _regenerator["default"].wrap(function _callee$(_context) {
723
724
  while (1) {
724
725
  switch (_context.prev = _context.next) {
725
726
  case 0:
726
- queryCall = _args.length > 0 && _args[0] !== undefined ? _args[0] : function () {
727
- return null;
728
- };
727
+ onAfterQueryCall = _args.length > 1 && _args[1] !== undefined ? _args[1] : undefined;
729
728
  setError(false);
730
- setLoading(!(channel != null && channel.state.messages.length));
731
- _context.prev = 3;
732
- _context.next = 6;
729
+ _context.prev = 2;
730
+ _context.next = 5;
733
731
  return queryCall();
734
732
 
735
- case 6:
733
+ case 5:
736
734
  setLastRead(new Date());
737
735
  setHasMore(true);
738
736
  copyChannelState();
737
+ onAfterQueryCall == null ? void 0 : onAfterQueryCall();
739
738
  _context.next = 16;
740
739
  break;
741
740
 
742
741
  case 11:
743
742
  _context.prev = 11;
744
- _context.t0 = _context["catch"](3);
743
+ _context.t0 = _context["catch"](2);
745
744
 
746
745
  if (_context.t0 instanceof Error) {
747
746
  setError(_context.t0);
@@ -757,108 +756,104 @@ var ChannelWithContext = function ChannelWithContext(props) {
757
756
  return _context.stop();
758
757
  }
759
758
  }
760
- }, _callee, null, [[3, 11]]);
759
+ }, _callee, null, [[2, 11]]);
761
760
  }));
762
761
 
763
- return function channelQueryCall() {
762
+ return function (_x) {
764
763
  return _ref.apply(this, arguments);
765
764
  };
766
- }();
765
+ }());
767
766
 
768
767
  var loadChannelAtFirstUnreadMessage = function loadChannelAtFirstUnreadMessage() {
769
768
  if (!channel) return;
770
769
  var unreadCount = channel.countUnread();
771
770
  if (unreadCount <= scrollToFirstUnreadThreshold) return;
772
- channel.state.clearMessages();
773
- channel.state.setIsUpToDate(false);
774
- return channelQueryCall((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() {
775
- var offset, mostRecentMessage, _mostRecentMessage;
776
-
771
+ setMessages([]);
772
+ return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() {
773
+ var lastReadDate;
777
774
  return _regenerator["default"].wrap(function _callee2$(_context2) {
778
775
  while (1) {
779
776
  switch (_context2.prev = _context2.next) {
780
777
  case 0:
781
- if (!(unreadCount < globalUnreadCountLimit)) {
782
- _context2.next = 10;
783
- break;
784
- }
785
-
786
- offset = unreadCount - unreadMessagesOnInitialLoadLimit;
778
+ setLoading(true);
779
+ lastReadDate = channel.lastRead() || new Date(0);
787
780
  _context2.next = 4;
788
- return query(offset, 30);
789
-
790
- case 4:
791
- if (!(channel.state.messages.length && channel.state.messages.length <= scrollToFirstUnreadThreshold && !channel.state.isUpToDate)) {
792
- _context2.next = 8;
793
- break;
794
- }
795
-
796
- mostRecentMessage = channel.state.messages[channel.state.messages.length - 1];
797
- _context2.next = 8;
798
- return queryAfterMessage(mostRecentMessage.id, 10 - channel.state.messages.length);
799
-
800
- case 8:
801
- _context2.next = 21;
802
- break;
803
-
804
- case 10:
805
- _context2.next = 12;
806
781
  return channel.query({
807
782
  messages: {
808
- created_at_before_or_equal: channel.lastRead() || new Date(0),
809
- limit: 30
783
+ created_at_around: lastReadDate,
784
+ limit: 25
810
785
  }
811
786
  });
812
787
 
813
- case 12:
814
- if (!(channel.state.messages.length <= unreadMessagesOnInitialLoadLimit && !channel.state.isUpToDate)) {
815
- _context2.next = 21;
816
- break;
817
- }
788
+ case 4:
789
+ setLoading(false);
790
+
791
+ case 5:
792
+ case "end":
793
+ return _context2.stop();
794
+ }
795
+ }
796
+ }, _callee2);
797
+ })));
798
+ };
818
799
 
819
- if (!(channel.state.messages.length > 0)) {
820
- _context2.next = 19;
800
+ var loadChannelAroundMessage = function loadChannelAroundMessage(_ref3) {
801
+ var messageId = _ref3.messageId;
802
+ return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
803
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
804
+ while (1) {
805
+ switch (_context3.prev = _context3.next) {
806
+ case 0:
807
+ setHasNoMoreRecentMessagesToLoad(false);
808
+ setLoading(true);
809
+
810
+ if (!messageId) {
811
+ _context3.next = 7;
821
812
  break;
822
813
  }
823
814
 
824
- _mostRecentMessage = channel.state.messages[channel.state.messages.length - 1];
825
- _context2.next = 17;
826
- return queryAfterMessage(_mostRecentMessage.id, 5);
815
+ _context3.next = 5;
816
+ return channel.state.loadMessageIntoState(messageId);
827
817
 
828
- case 17:
829
- _context2.next = 21;
818
+ case 5:
819
+ _context3.next = 10;
830
820
  break;
831
821
 
832
- case 19:
833
- _context2.next = 21;
834
- return channel.query({
835
- messages: {
836
- created_at_after: channel.lastRead() || new Date(0),
837
- limit: 10
838
- }
839
- });
822
+ case 7:
823
+ _context3.next = 9;
824
+ return channel.state.loadMessageIntoState('latest');
840
825
 
841
- case 21:
826
+ case 9:
827
+ channel.state.setIsUpToDate(true);
828
+
829
+ case 10:
830
+ setLoading(false);
831
+
832
+ case 11:
842
833
  case "end":
843
- return _context2.stop();
834
+ return _context3.stop();
844
835
  }
845
836
  }
846
- }, _callee2);
847
- })));
837
+ }, _callee3);
838
+ })), function () {
839
+ if (messageId) {
840
+ setTargetedMessage(messageId);
841
+ }
842
+ });
848
843
  };
849
844
 
850
- var loadChannelAtMessage = function loadChannelAtMessage(_ref3) {
851
- var _ref3$after = _ref3.after,
852
- after = _ref3$after === void 0 ? 2 : _ref3$after,
853
- _ref3$before = _ref3.before,
854
- before = _ref3$before === void 0 ? 30 : _ref3$before,
855
- messageId = _ref3.messageId;
856
- return channelQueryCall((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
857
- return _regenerator["default"].wrap(function _callee3$(_context3) {
845
+ var loadChannelAtMessage = function loadChannelAtMessage(_ref5) {
846
+ var _ref5$after = _ref5.after,
847
+ after = _ref5$after === void 0 ? 2 : _ref5$after,
848
+ _ref5$before = _ref5.before,
849
+ before = _ref5$before === void 0 ? 30 : _ref5$before,
850
+ messageId = _ref5.messageId;
851
+ return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() {
852
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
858
853
  while (1) {
859
- switch (_context3.prev = _context3.next) {
854
+ switch (_context4.prev = _context4.next) {
860
855
  case 0:
861
- _context3.next = 2;
856
+ _context4.next = 2;
862
857
  return queryAtMessage({
863
858
  after: after,
864
859
  before: before,
@@ -872,78 +867,85 @@ var ChannelWithContext = function ChannelWithContext(props) {
872
867
 
873
868
  case 3:
874
869
  case "end":
875
- return _context3.stop();
870
+ return _context4.stop();
876
871
  }
877
872
  }
878
- }, _callee3);
873
+ }, _callee4);
879
874
  })));
880
875
  };
881
876
 
882
877
  var loadChannel = function loadChannel() {
883
- return channelQueryCall((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() {
884
- return _regenerator["default"].wrap(function _callee4$(_context4) {
878
+ return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5() {
879
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
885
880
  while (1) {
886
- switch (_context4.prev = _context4.next) {
881
+ switch (_context5.prev = _context5.next) {
887
882
  case 0:
888
883
  if (!(!(channel != null && channel.initialized) || !channel.state.isUpToDate)) {
889
- _context4.next = 4;
884
+ _context5.next = 7;
890
885
  break;
891
886
  }
892
887
 
893
- _context4.next = 3;
888
+ _context5.next = 3;
894
889
  return channel == null ? void 0 : channel.watch();
895
890
 
896
891
  case 3:
892
+ setHasNoMoreRecentMessagesToLoad(true);
897
893
  channel == null ? void 0 : channel.state.setIsUpToDate(true);
894
+ _context5.next = 9;
895
+ break;
898
896
 
899
- case 4:
900
- return _context4.abrupt("return");
897
+ case 7:
898
+ _context5.next = 9;
899
+ return channel.state.loadMessageIntoState('latest');
901
900
 
902
- case 5:
901
+ case 9:
902
+ return _context5.abrupt("return");
903
+
904
+ case 10:
903
905
  case "end":
904
- return _context4.stop();
906
+ return _context5.stop();
905
907
  }
906
908
  }
907
- }, _callee4);
909
+ }, _callee5);
908
910
  })));
909
911
  };
910
912
 
911
913
  var reloadThread = function () {
912
- var _ref6 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5() {
914
+ var _ref8 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6() {
913
915
  var parentID, limit, queryResponse, updatedHasMore, updatedThreadMessages, _yield$channel$getMes, _messages, _messages2, threadMessage, formattedMessage;
914
916
 
915
- return _regenerator["default"].wrap(function _callee5$(_context5) {
917
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
916
918
  while (1) {
917
- switch (_context5.prev = _context5.next) {
919
+ switch (_context6.prev = _context6.next) {
918
920
  case 0:
919
921
  if (!(!channel || !(thread != null && thread.id))) {
920
- _context5.next = 2;
922
+ _context6.next = 2;
921
923
  break;
922
924
  }
923
925
 
924
- return _context5.abrupt("return");
926
+ return _context6.abrupt("return");
925
927
 
926
928
  case 2:
927
929
  setThreadLoadingMore(true);
928
- _context5.prev = 3;
930
+ _context6.prev = 3;
929
931
  parentID = thread.id;
930
932
  limit = 50;
931
933
  channel.state.threads[parentID] = [];
932
- _context5.next = 9;
934
+ _context6.next = 9;
933
935
  return channel.getReplies(parentID, {
934
936
  limit: limit
935
937
  });
936
938
 
937
939
  case 9:
938
- queryResponse = _context5.sent;
940
+ queryResponse = _context6.sent;
939
941
  updatedHasMore = queryResponse.messages.length === limit;
940
942
  updatedThreadMessages = channel.state.threads[parentID] || [];
941
943
  loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);
942
- _context5.next = 15;
944
+ _context6.next = 15;
943
945
  return channel.getMessagesById([parentID]);
944
946
 
945
947
  case 15:
946
- _yield$channel$getMes = _context5.sent;
948
+ _yield$channel$getMes = _context6.sent;
947
949
  _messages = _yield$channel$getMes.messages;
948
950
  _messages2 = (0, _slicedToArray2["default"])(_messages, 1), threadMessage = _messages2[0];
949
951
 
@@ -952,56 +954,56 @@ var ChannelWithContext = function ChannelWithContext(props) {
952
954
  setThread(formattedMessage);
953
955
  }
954
956
 
955
- _context5.next = 27;
957
+ _context6.next = 27;
956
958
  break;
957
959
 
958
960
  case 21:
959
- _context5.prev = 21;
960
- _context5.t0 = _context5["catch"](3);
961
- console.warn('Thread loading request failed with error', _context5.t0);
961
+ _context6.prev = 21;
962
+ _context6.t0 = _context6["catch"](3);
963
+ console.warn('Thread loading request failed with error', _context6.t0);
962
964
 
963
- if (_context5.t0 instanceof Error) {
964
- setError(_context5.t0);
965
+ if (_context6.t0 instanceof Error) {
966
+ setError(_context6.t0);
965
967
  } else {
966
968
  setError(true);
967
969
  }
968
970
 
969
971
  setThreadLoadingMore(false);
970
- throw _context5.t0;
972
+ throw _context6.t0;
971
973
 
972
974
  case 27:
973
975
  case "end":
974
- return _context5.stop();
976
+ return _context6.stop();
975
977
  }
976
978
  }
977
- }, _callee5, null, [[3, 21]]);
979
+ }, _callee6, null, [[3, 21]]);
978
980
  }));
979
981
 
980
982
  return function reloadThread() {
981
- return _ref6.apply(this, arguments);
983
+ return _ref8.apply(this, arguments);
982
984
  };
983
985
  }();
984
986
 
985
987
  var resyncChannel = function () {
986
- var _ref7 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6() {
988
+ var _ref9 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7() {
987
989
  var _messages$, state, oldListTopMessage, oldListTopMessageId, oldListBottomMessage, newListTopMessage, newListBottomMessage, parseMessage, failedMessages, failedThreadMessages, oldListTopMessageCreatedAt, oldListBottomMessageCreatedAt, newListTopMessageCreatedAt, newListBottomMessageCreatedAt, finalMessages, index;
988
990
 
989
- return _regenerator["default"].wrap(function _callee6$(_context6) {
991
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
990
992
  while (1) {
991
- switch (_context6.prev = _context6.next) {
993
+ switch (_context7.prev = _context7.next) {
992
994
  case 0:
993
995
  if (!(!channel || syncingChannel)) {
994
- _context6.next = 2;
996
+ _context7.next = 2;
995
997
  break;
996
998
  }
997
999
 
998
- return _context6.abrupt("return");
1000
+ return _context7.abrupt("return");
999
1001
 
1000
1002
  case 2:
1001
1003
  setSyncingChannel(true);
1002
1004
  setError(false);
1003
- _context6.prev = 4;
1004
- _context6.next = 7;
1005
+ _context7.prev = 4;
1006
+ _context7.next = 7;
1005
1007
  return channel.watch({
1006
1008
  messages: {
1007
1009
  limit: messages.length + 30
@@ -1009,7 +1011,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1009
1011
  });
1010
1012
 
1011
1013
  case 7:
1012
- state = _context6.sent;
1014
+ state = _context7.sent;
1013
1015
  oldListTopMessage = messages[0];
1014
1016
  oldListTopMessageId = (_messages$ = messages[0]) == null ? void 0 : _messages$.id;
1015
1017
  oldListBottomMessage = messages[messages.length - 1];
@@ -1017,7 +1019,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1017
1019
  newListBottomMessage = state.messages[state.messages.length - 1];
1018
1020
 
1019
1021
  if (!(!oldListTopMessage || !oldListBottomMessage || !newListTopMessage || !newListBottomMessage)) {
1020
- _context6.next = 19;
1022
+ _context7.next = 19;
1021
1023
  break;
1022
1024
  }
1023
1025
 
@@ -1025,7 +1027,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1025
1027
  channel.state.setIsUpToDate(true);
1026
1028
  channel.state.addMessagesSorted(state.messages);
1027
1029
  copyChannelState();
1028
- return _context6.abrupt("return");
1030
+ return _context7.abrupt("return");
1029
1031
 
1030
1032
  case 19:
1031
1033
  parseMessage = function parseMessage(message) {
@@ -1059,6 +1061,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1059
1061
  finalMessages = state.messages;
1060
1062
  }
1061
1063
 
1064
+ setHasNoMoreRecentMessagesToLoad(true);
1062
1065
  channel.state.setIsUpToDate(true);
1063
1066
  channel.state.clearMessages();
1064
1067
  channel.state.addMessagesSorted(finalMessages);
@@ -1070,122 +1073,79 @@ var ChannelWithContext = function ChannelWithContext(props) {
1070
1073
  copyChannelState();
1071
1074
  }
1072
1075
 
1073
- _context6.next = 36;
1076
+ _context7.next = 37;
1074
1077
  return reloadThread();
1075
1078
 
1076
- case 36:
1079
+ case 37:
1077
1080
  if (thread && failedThreadMessages.length) {
1078
1081
  channel.state.addMessagesSorted(failedThreadMessages);
1079
1082
  setThreadMessages((0, _toConsumableArray2["default"])(channel.state.threads[thread.id]));
1080
1083
  }
1081
1084
 
1082
- _context6.next = 43;
1085
+ _context7.next = 44;
1083
1086
  break;
1084
1087
 
1085
- case 39:
1086
- _context6.prev = 39;
1087
- _context6.t0 = _context6["catch"](4);
1088
+ case 40:
1089
+ _context7.prev = 40;
1090
+ _context7.t0 = _context7["catch"](4);
1088
1091
 
1089
- if (_context6.t0 instanceof Error) {
1090
- setError(_context6.t0);
1092
+ if (_context7.t0 instanceof Error) {
1093
+ setError(_context7.t0);
1091
1094
  } else {
1092
1095
  setError(true);
1093
1096
  }
1094
1097
 
1095
1098
  setLoading(false);
1096
1099
 
1097
- case 43:
1100
+ case 44:
1098
1101
  setSyncingChannel(false);
1099
1102
 
1100
- case 44:
1103
+ case 45:
1101
1104
  case "end":
1102
- return _context6.stop();
1105
+ return _context7.stop();
1103
1106
  }
1104
1107
  }
1105
- }, _callee6, null, [[4, 39]]);
1108
+ }, _callee7, null, [[4, 40]]);
1106
1109
  }));
1107
1110
 
1108
1111
  return function resyncChannel() {
1109
- return _ref7.apply(this, arguments);
1112
+ return _ref9.apply(this, arguments);
1110
1113
  };
1111
1114
  }();
1112
1115
 
1113
1116
  var reloadChannel = function reloadChannel() {
1114
- return channelQueryCall((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7() {
1115
- return _regenerator["default"].wrap(function _callee7$(_context7) {
1116
- while (1) {
1117
- switch (_context7.prev = _context7.next) {
1118
- case 0:
1119
- _context7.next = 2;
1120
- return channel == null ? void 0 : channel.watch();
1121
-
1122
- case 2:
1123
- channel == null ? void 0 : channel.state.setIsUpToDate(true);
1124
-
1125
- case 3:
1126
- case "end":
1127
- return _context7.stop();
1128
- }
1129
- }
1130
- }, _callee7);
1131
- })));
1132
- };
1133
-
1134
- var query = function () {
1135
- var _ref9 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8() {
1136
- var offset,
1137
- limit,
1138
- _args8 = arguments;
1117
+ return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8() {
1139
1118
  return _regenerator["default"].wrap(function _callee8$(_context8) {
1140
1119
  while (1) {
1141
1120
  switch (_context8.prev = _context8.next) {
1142
1121
  case 0:
1143
- offset = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : 0;
1144
- limit = _args8.length > 1 && _args8[1] !== undefined ? _args8[1] : 30;
1145
-
1146
- if (channel) {
1147
- _context8.next = 4;
1148
- break;
1149
- }
1150
-
1151
- return _context8.abrupt("return");
1152
-
1153
- case 4:
1154
- channel.state.clearMessages();
1155
- _context8.next = 7;
1156
- return channel.query({
1157
- messages: {
1158
- limit: limit,
1159
- offset: offset
1160
- },
1161
- watch: true
1162
- });
1122
+ setLoading(true);
1123
+ _context8.next = 3;
1124
+ return channel.state.loadMessageIntoState('latest');
1163
1125
 
1164
- case 7:
1165
- channel.state.setIsUpToDate(offset === 0);
1126
+ case 3:
1127
+ setLoading(false);
1128
+ setHasNoMoreRecentMessagesToLoad(true);
1129
+ channel == null ? void 0 : channel.state.setIsUpToDate(true);
1166
1130
 
1167
- case 8:
1131
+ case 6:
1168
1132
  case "end":
1169
1133
  return _context8.stop();
1170
1134
  }
1171
1135
  }
1172
1136
  }, _callee8);
1173
- }));
1174
-
1175
- return function query() {
1176
- return _ref9.apply(this, arguments);
1177
- };
1178
- }();
1137
+ })));
1138
+ };
1179
1139
 
1180
1140
  var queryAtMessage = function () {
1181
- var _ref11 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(_ref10) {
1182
- var _ref10$after, after, _ref10$before, before, messageId;
1141
+ var _ref12 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(_ref11) {
1142
+ var _ref11$after, after, _ref11$before, before, messageId;
1183
1143
 
1184
1144
  return _regenerator["default"].wrap(function _callee9$(_context9) {
1185
1145
  while (1) {
1186
1146
  switch (_context9.prev = _context9.next) {
1187
1147
  case 0:
1188
- _ref10$after = _ref10.after, after = _ref10$after === void 0 ? 10 : _ref10$after, _ref10$before = _ref10.before, before = _ref10$before === void 0 ? 10 : _ref10$before, messageId = _ref10.messageId;
1148
+ _ref11$after = _ref11.after, after = _ref11$after === void 0 ? 10 : _ref11$after, _ref11$before = _ref11.before, before = _ref11$before === void 0 ? 10 : _ref11$before, messageId = _ref11.messageId;
1189
1149
 
1190
1150
  if (channel) {
1191
1151
  _context9.next = 3;
@@ -1232,13 +1192,13 @@ var ChannelWithContext = function ChannelWithContext(props) {
1232
1192
  }, _callee9);
1233
1193
  }));
1234
1194
 
1235
- return function queryAtMessage(_x) {
1236
- return _ref11.apply(this, arguments);
1195
+ return function queryAtMessage(_x2) {
1196
+ return _ref12.apply(this, arguments);
1237
1197
  };
1238
1198
  }();
1239
1199
 
1240
1200
  var queryBeforeMessage = function () {
1241
- var _ref12 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10(messageId) {
1201
+ var _ref13 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10(messageId) {
1242
1202
  var limit,
1243
1203
  _args10 = arguments;
1244
1204
  return _regenerator["default"].wrap(function _callee10$(_context10) {
@@ -1275,13 +1235,13 @@ var ChannelWithContext = function ChannelWithContext(props) {
1275
1235
  }, _callee10);
1276
1236
  }));
1277
1237
 
1278
- return function queryBeforeMessage(_x2) {
1279
- return _ref12.apply(this, arguments);
1238
+ return function queryBeforeMessage(_x3) {
1239
+ return _ref13.apply(this, arguments);
1280
1240
  };
1281
1241
  }();
1282
1242
 
1283
1243
  var queryAfterMessage = function () {
1284
- var _ref13 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee11(messageId) {
1244
+ var _ref14 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee11(messageId) {
1285
1245
  var limit,
1286
1246
  state,
1287
1247
  _args11 = arguments;
@@ -1325,8 +1285,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
1325
1285
  }, _callee11);
1326
1286
  }));
1327
1287
 
1328
- return function queryAfterMessage(_x3) {
1329
- return _ref13.apply(this, arguments);
1288
+ return function queryAfterMessage(_x4) {
1289
+ return _ref14.apply(this, arguments);
1330
1290
  };
1331
1291
  }();
1332
1292
 
@@ -1370,12 +1330,12 @@ var ChannelWithContext = function ChannelWithContext(props) {
1370
1330
  }
1371
1331
  };
1372
1332
 
1373
- var createMessagePreview = function createMessagePreview(_ref14) {
1374
- var attachments = _ref14.attachments,
1375
- mentioned_users = _ref14.mentioned_users,
1376
- parent_id = _ref14.parent_id,
1377
- text = _ref14.text,
1378
- extraFields = (0, _objectWithoutProperties2["default"])(_ref14, _excluded);
1333
+ var createMessagePreview = function createMessagePreview(_ref15) {
1334
+ var attachments = _ref15.attachments,
1335
+ mentioned_users = _ref15.mentioned_users,
1336
+ parent_id = _ref15.parent_id,
1337
+ text = _ref15.text,
1338
+ extraFields = (0, _objectWithoutProperties2["default"])(_ref15, _excluded);
1379
1339
  var preview = (0, _extends2["default"])({
1380
1340
  __html: text,
1381
1341
  attachments: attachments,
@@ -1409,7 +1369,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1409
1369
  };
1410
1370
 
1411
1371
  var sendMessageRequest = function () {
1412
- var _ref15 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee12(message, retrying) {
1372
+ var _ref16 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee12(message, retrying) {
1413
1373
  var __html, attachments, created_at, html, id, mentioned_users, parent_id, quoted_message, reactions, status, text, type, updated_at, user, extraFields, messageData, messageResponse;
1414
1374
 
1415
1375
  return _regenerator["default"].wrap(function _callee12$(_context12) {
@@ -1483,13 +1443,13 @@ var ChannelWithContext = function ChannelWithContext(props) {
1483
1443
  }, _callee12, null, [[2, 17]]);
1484
1444
  }));
1485
1445
 
1486
- return function sendMessageRequest(_x4, _x5) {
1487
- return _ref15.apply(this, arguments);
1446
+ return function sendMessageRequest(_x5, _x6) {
1447
+ return _ref16.apply(this, arguments);
1488
1448
  };
1489
1449
  }();
1490
1450
 
1491
1451
  var sendMessage = function () {
1492
- var _ref16 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee13(message) {
1452
+ var _ref17 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee13(message) {
1493
1453
  var _channel$state;
1494
1454
 
1495
1455
  var messagePreview;
@@ -1529,13 +1489,13 @@ var ChannelWithContext = function ChannelWithContext(props) {
1529
1489
  }, _callee13);
1530
1490
  }));
1531
1491
 
1532
- return function sendMessage(_x6) {
1533
- return _ref16.apply(this, arguments);
1492
+ return function sendMessage(_x7) {
1493
+ return _ref17.apply(this, arguments);
1534
1494
  };
1535
1495
  }();
1536
1496
 
1537
1497
  var retrySendMessage = function () {
1538
- var _ref17 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee14(message) {
1498
+ var _ref18 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee14(message) {
1539
1499
  var statusPendingMessage;
1540
1500
  return _regenerator["default"].wrap(function _callee14$(_context14) {
1541
1501
  while (1) {
@@ -1556,8 +1516,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
1556
1516
  }, _callee14);
1557
1517
  }));
1558
1518
 
1559
- return function retrySendMessage(_x7) {
1560
- return _ref17.apply(this, arguments);
1519
+ return function retrySendMessage(_x8) {
1520
+ return _ref18.apply(this, arguments);
1561
1521
  };
1562
1522
  }();
1563
1523
 
@@ -1569,7 +1529,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1569
1529
  }, defaultDebounceInterval, debounceOptions)).current;
1570
1530
 
1571
1531
  var loadMore = function () {
1572
- var _ref18 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee15() {
1532
+ var _ref19 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee15() {
1573
1533
  var limit,
1574
1534
  oldestMessage,
1575
1535
  oldestID,
@@ -1632,13 +1592,12 @@ var ChannelWithContext = function ChannelWithContext(props) {
1632
1592
  loadMoreFinished(updatedHasMore, channel.state.messages);
1633
1593
 
1634
1594
  case 17:
1635
- _context15.next = 25;
1595
+ _context15.next = 24;
1636
1596
  break;
1637
1597
 
1638
1598
  case 19:
1639
1599
  _context15.prev = 19;
1640
1600
  _context15.t0 = _context15["catch"](10);
1641
- console.warn('Message pagination request failed with error', _context15.t0);
1642
1601
 
1643
1602
  if (_context15.t0 instanceof Error) {
1644
1603
  setError(_context15.t0);
@@ -1649,7 +1608,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1649
1608
  setLoadingMore(false);
1650
1609
  throw _context15.t0;
1651
1610
 
1652
- case 25:
1611
+ case 24:
1653
1612
  case "end":
1654
1613
  return _context15.stop();
1655
1614
  }
@@ -1658,14 +1617,15 @@ var ChannelWithContext = function ChannelWithContext(props) {
1658
1617
  }));
1659
1618
 
1660
1619
  return function loadMore() {
1661
- return _ref18.apply(this, arguments);
1620
+ return _ref19.apply(this, arguments);
1662
1621
  };
1663
1622
  }();
1664
1623
 
1665
1624
  var loadMoreRecent = function () {
1666
- var _ref19 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee16() {
1625
+ var _ref20 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee16() {
1667
1626
  var limit,
1668
1627
  recentMessage,
1628
+ state,
1669
1629
  _args16 = arguments;
1670
1630
  return _regenerator["default"].wrap(function _callee16$(_context16) {
1671
1631
  while (1) {
@@ -1673,7 +1633,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1673
1633
  case 0:
1674
1634
  limit = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : 5;
1675
1635
 
1676
- if (!(channel != null && channel.state.isUpToDate)) {
1636
+ if (!hasNoMoreRecentMessagesToLoad) {
1677
1637
  _context16.next = 3;
1678
1638
  break;
1679
1639
  }
@@ -1696,22 +1656,30 @@ var ChannelWithContext = function ChannelWithContext(props) {
1696
1656
  _context16.prev = 8;
1697
1657
 
1698
1658
  if (!channel) {
1699
- _context16.next = 13;
1659
+ _context16.next = 15;
1700
1660
  break;
1701
1661
  }
1702
1662
 
1703
1663
  _context16.next = 12;
1704
- return queryAfterMessage(recentMessage.id, limit);
1664
+ return channel.query({
1665
+ messages: {
1666
+ id_gte: recentMessage.id,
1667
+ limit: limit
1668
+ },
1669
+ watch: true
1670
+ });
1705
1671
 
1706
1672
  case 12:
1673
+ state = _context16.sent;
1674
+ setHasNoMoreRecentMessagesToLoad(state.messages.length < limit);
1707
1675
  loadMoreRecentFinished(channel.state.messages);
1708
1676
 
1709
- case 13:
1710
- _context16.next = 21;
1677
+ case 15:
1678
+ _context16.next = 23;
1711
1679
  break;
1712
1680
 
1713
- case 15:
1714
- _context16.prev = 15;
1681
+ case 17:
1682
+ _context16.prev = 17;
1715
1683
  _context16.t0 = _context16["catch"](8);
1716
1684
  console.warn('Message pagination request failed with error', _context16.t0);
1717
1685
 
@@ -1724,16 +1692,16 @@ var ChannelWithContext = function ChannelWithContext(props) {
1724
1692
  setLoadingMoreRecent(false);
1725
1693
  throw _context16.t0;
1726
1694
 
1727
- case 21:
1695
+ case 23:
1728
1696
  case "end":
1729
1697
  return _context16.stop();
1730
1698
  }
1731
1699
  }
1732
- }, _callee16, null, [[8, 15]]);
1700
+ }, _callee16, null, [[8, 17]]);
1733
1701
  }));
1734
1702
 
1735
1703
  return function loadMoreRecent() {
1736
- return _ref19.apply(this, arguments);
1704
+ return _ref20.apply(this, arguments);
1737
1705
  };
1738
1706
  }();
1739
1707
 
@@ -1793,7 +1761,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1793
1761
  }, defaultDebounceInterval, debounceOptions)).current;
1794
1762
 
1795
1763
  var loadMoreThread = function () {
1796
- var _ref20 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee17() {
1764
+ var _ref21 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee17() {
1797
1765
  var _threadMessages$, parentID, oldestMessageID, limit, queryResponse, updatedHasMore, updatedThreadMessages;
1798
1766
 
1799
1767
  return _regenerator["default"].wrap(function _callee17$(_context17) {
@@ -1859,7 +1827,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1859
1827
  }));
1860
1828
 
1861
1829
  return function loadMoreThread() {
1862
- return _ref20.apply(this, arguments);
1830
+ return _ref21.apply(this, arguments);
1863
1831
  };
1864
1832
  }();
1865
1833
 
@@ -1874,7 +1842,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1874
1842
  enableMessageGroupingByUser: enableMessageGroupingByUser,
1875
1843
  enforceUniqueReaction: enforceUniqueReaction,
1876
1844
  error: error,
1877
- giphyEnabled: giphyEnabled != null ? giphyEnabled : !!((_ref21 = (clientChannelConfig == null ? void 0 : clientChannelConfig.commands) || []) != null && _ref21.some(function (command) {
1845
+ giphyEnabled: giphyEnabled != null ? giphyEnabled : !!((_ref22 = (clientChannelConfig == null ? void 0 : clientChannelConfig.commands) || []) != null && _ref22.some(function (command) {
1878
1846
  return command.name === 'giphy';
1879
1847
  })),
1880
1848
  hideDateSeparators: hideDateSeparators,
@@ -1884,6 +1852,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1884
1852
  isModerator: isModerator,
1885
1853
  isOwner: isOwner,
1886
1854
  lastRead: lastRead,
1855
+ loadChannelAroundMessage: loadChannelAroundMessage,
1887
1856
  loadChannelAtMessage: loadChannelAtMessage,
1888
1857
  loading: loading,
1889
1858
  LoadingIndicator: LoadingIndicator,
@@ -1928,7 +1897,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1928
1897
  InputEditingStateHeader: InputEditingStateHeader,
1929
1898
  InputGiphySearch: InputGiphySearch,
1930
1899
  InputReplyStateHeader: InputReplyStateHeader,
1931
- maxMessageLength: (_ref22 = maxMessageLengthProp != null ? maxMessageLengthProp : clientChannelConfig == null ? void 0 : clientChannelConfig.max_message_length) != null ? _ref22 : undefined,
1900
+ maxMessageLength: (_ref23 = maxMessageLengthProp != null ? maxMessageLengthProp : clientChannelConfig == null ? void 0 : clientChannelConfig.max_message_length) != null ? _ref23 : undefined,
1932
1901
  maxNumberOfFiles: maxNumberOfFiles,
1933
1902
  mentionAllAppUsersEnabled: mentionAllAppUsersEnabled,
1934
1903
  mentionAllAppUsersQuery: mentionAllAppUsersQuery,
@@ -1948,6 +1917,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1948
1917
  var messageListContext = (0, _useCreatePaginatedMessageListContext.useCreatePaginatedMessageListContext)({
1949
1918
  channelId: channelId,
1950
1919
  hasMore: hasMore,
1920
+ hasNoMoreRecentMessagesToLoad: hasNoMoreRecentMessagesToLoad,
1951
1921
  loadingMore: loadingMoreProp !== undefined ? loadingMoreProp : loadingMore,
1952
1922
  loadingMoreRecent: loadingMoreRecentProp !== undefined ? loadingMoreRecentProp : loadingMoreRecent,
1953
1923
  loadMore: loadMore,
@@ -1993,7 +1963,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1993
1963
  handleThreadReply: handleThreadReply,
1994
1964
  ImageLoadingFailedIndicator: ImageLoadingFailedIndicator,
1995
1965
  ImageLoadingIndicator: ImageLoadingIndicator,
1996
- initialScrollToFirstUnreadMessage: initialScrollToFirstUnreadMessage,
1966
+ initialScrollToFirstUnreadMessage: !messageId && initialScrollToFirstUnreadMessage,
1997
1967
  InlineDateSeparator: InlineDateSeparator,
1998
1968
  InlineUnreadIndicator: InlineUnreadIndicator,
1999
1969
  isAttachmentEqual: isAttachmentEqual,
@@ -2066,7 +2036,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2066
2036
  __self: _this,
2067
2037
  __source: {
2068
2038
  fileName: _jsxFileName,
2069
- lineNumber: 1786,
2039
+ lineNumber: 1751,
2070
2040
  columnNumber: 12
2071
2041
  }
2072
2042
  });
@@ -2081,7 +2051,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2081
2051
  __self: _this,
2082
2052
  __source: {
2083
2053
  fileName: _jsxFileName,
2084
- lineNumber: 1791,
2054
+ lineNumber: 1756,
2085
2055
  columnNumber: 7
2086
2056
  }
2087
2057
  }, t('Please select a channel first'));
@@ -2095,7 +2065,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2095
2065
  __self: _this,
2096
2066
  __source: {
2097
2067
  fileName: _jsxFileName,
2098
- lineNumber: 1798,
2068
+ lineNumber: 1763,
2099
2069
  columnNumber: 5
2100
2070
  }
2101
2071
  }), _react["default"].createElement(_ChannelContext.ChannelProvider, {
@@ -2103,7 +2073,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2103
2073
  __self: _this,
2104
2074
  __source: {
2105
2075
  fileName: _jsxFileName,
2106
- lineNumber: 1804,
2076
+ lineNumber: 1769,
2107
2077
  columnNumber: 7
2108
2078
  }
2109
2079
  }, _react["default"].createElement(_OwnCapabilitiesContext.OwnCapabilitiesProvider, {
@@ -2111,7 +2081,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2111
2081
  __self: _this,
2112
2082
  __source: {
2113
2083
  fileName: _jsxFileName,
2114
- lineNumber: 1805,
2084
+ lineNumber: 1770,
2115
2085
  columnNumber: 9
2116
2086
  }
2117
2087
  }, _react["default"].createElement(_TypingContext.TypingProvider, {
@@ -2119,7 +2089,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2119
2089
  __self: _this,
2120
2090
  __source: {
2121
2091
  fileName: _jsxFileName,
2122
- lineNumber: 1806,
2092
+ lineNumber: 1771,
2123
2093
  columnNumber: 11
2124
2094
  }
2125
2095
  }, _react["default"].createElement(_PaginatedMessageListContext.PaginatedMessageListProvider, {
@@ -2127,7 +2097,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2127
2097
  __self: _this,
2128
2098
  __source: {
2129
2099
  fileName: _jsxFileName,
2130
- lineNumber: 1807,
2100
+ lineNumber: 1772,
2131
2101
  columnNumber: 13
2132
2102
  }
2133
2103
  }, _react["default"].createElement(_MessagesContext.MessagesProvider, {
@@ -2135,7 +2105,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2135
2105
  __self: _this,
2136
2106
  __source: {
2137
2107
  fileName: _jsxFileName,
2138
- lineNumber: 1808,
2108
+ lineNumber: 1773,
2139
2109
  columnNumber: 15
2140
2110
  }
2141
2111
  }, _react["default"].createElement(_ThreadContext.ThreadProvider, {
@@ -2143,7 +2113,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2143
2113
  __self: _this,
2144
2114
  __source: {
2145
2115
  fileName: _jsxFileName,
2146
- lineNumber: 1809,
2116
+ lineNumber: 1774,
2147
2117
  columnNumber: 17
2148
2118
  }
2149
2119
  }, _react["default"].createElement(_SuggestionsContext.SuggestionsProvider, {
@@ -2151,7 +2121,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2151
2121
  __self: _this,
2152
2122
  __source: {
2153
2123
  fileName: _jsxFileName,
2154
- lineNumber: 1810,
2124
+ lineNumber: 1775,
2155
2125
  columnNumber: 19
2156
2126
  }
2157
2127
  }, _react["default"].createElement(_MessageInputContext.MessageInputProvider, {
@@ -2159,7 +2129,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2159
2129
  __self: _this,
2160
2130
  __source: {
2161
2131
  fileName: _jsxFileName,
2162
- lineNumber: 1811,
2132
+ lineNumber: 1776,
2163
2133
  columnNumber: 21
2164
2134
  }
2165
2135
  }, _react["default"].createElement(_reactNative.View, {
@@ -2169,7 +2139,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2169
2139
  __self: _this,
2170
2140
  __source: {
2171
2141
  fileName: _jsxFileName,
2172
- lineNumber: 1812,
2142
+ lineNumber: 1777,
2173
2143
  columnNumber: 23
2174
2144
  }
2175
2145
  }, children))))))))));
@@ -2224,7 +2194,7 @@ var Channel = function Channel(props) {
2224
2194
  __self: _this,
2225
2195
  __source: {
2226
2196
  fileName: _jsxFileName,
2227
- lineNumber: 1869,
2197
+ lineNumber: 1834,
2228
2198
  columnNumber: 5
2229
2199
  }
2230
2200
  }));