stream-chat-react-native-core 5.11.2 → 5.11.3-beta.2

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 (887) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +15 -33
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/AudioAttachment.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  7. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/Gallery.js +1 -7
  10. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
  12. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js.map +1 -1
  14. package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js.map +1 -1
  15. package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -1
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
  22. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
  23. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -1
  24. package/lib/commonjs/components/Attachment/utils/getGiphyMimeType.js.map +1 -1
  25. package/lib/commonjs/components/Attachment/utils/openUrlSafely.js.map +1 -1
  26. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +1 -7
  27. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  28. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js.map +1 -1
  29. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js.map +1 -1
  30. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js.map +1 -1
  31. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  32. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  33. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js.map +1 -1
  34. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js.map +1 -1
  35. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js.map +1 -1
  36. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js.map +1 -1
  37. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  38. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  39. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  40. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  41. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  42. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  43. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  44. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  45. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  46. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  47. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  48. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  49. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  50. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  51. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  52. package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  53. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  54. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  55. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  56. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  57. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  58. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +1 -7
  59. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  60. package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  62. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  64. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  65. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  66. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  67. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  68. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  69. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  70. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  71. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  72. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  73. package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
  74. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  75. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  76. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  77. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  78. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  79. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  80. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  81. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  82. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  83. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  84. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  85. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  86. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  87. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js.map +1 -1
  88. package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
  89. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  90. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  91. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  92. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js.map +1 -1
  93. package/lib/commonjs/components/ImageBackground.js.map +1 -1
  94. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  95. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  96. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  97. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  98. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  99. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
  100. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  101. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  102. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  103. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  104. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
  105. package/lib/commonjs/components/Indicators/LoadingDot.js.map +1 -1
  106. package/lib/commonjs/components/Indicators/LoadingDots.js.map +1 -1
  107. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  108. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  109. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  110. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js.map +1 -1
  111. package/lib/commonjs/components/Message/Message.js.map +1 -1
  112. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  113. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  114. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  115. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +2 -14
  116. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  117. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  118. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  119. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  120. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +1 -7
  121. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  122. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  123. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  124. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  125. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
  126. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
  127. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  128. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +1 -7
  129. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
  130. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  131. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  132. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  133. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  134. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  135. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  136. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -1
  137. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +1 -7
  138. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  139. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  140. package/lib/commonjs/components/MessageInput/InputButtons.js +1 -7
  141. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  142. package/lib/commonjs/components/MessageInput/MessageInput.js +2 -14
  143. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  144. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  145. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  146. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  147. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  148. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  149. package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js.map +1 -1
  150. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js.map +1 -1
  151. package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js.map +1 -1
  152. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
  153. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -1
  154. package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
  155. package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
  156. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  157. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  158. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  159. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  160. package/lib/commonjs/components/MessageList/MessageList.js +4 -28
  161. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  162. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  163. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js.map +1 -1
  164. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
  165. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  166. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  167. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  168. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  169. package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  170. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  171. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  172. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  173. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  174. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
  175. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  176. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  177. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  178. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  179. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  180. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -1
  181. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  182. package/lib/commonjs/components/ProgressControl/ProgressControl.js.map +1 -1
  183. package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js.map +1 -1
  184. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  185. package/lib/commonjs/components/Spinner/Spinner.js.map +1 -1
  186. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  187. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  188. package/lib/commonjs/components/docs/data.js.map +1 -1
  189. package/lib/commonjs/components/index.js.map +1 -1
  190. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  191. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  192. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  193. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  194. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  195. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  196. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  197. package/lib/commonjs/contexts/debugContext/DebugContext.js.map +1 -1
  198. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  199. package/lib/commonjs/contexts/index.js.map +1 -1
  200. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  201. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  202. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +8 -8
  203. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  204. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  205. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  206. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  207. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -1
  208. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -7
  209. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
  210. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  211. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  212. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  213. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
  214. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  215. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  216. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  217. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  218. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  219. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  220. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  221. package/lib/commonjs/contexts/utils/defaultBaseContextValue.js.map +1 -1
  222. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  223. package/lib/commonjs/contexts/utils/isTestEnvironment.js.map +1 -1
  224. package/lib/commonjs/emoji-data/compile.js.map +1 -1
  225. package/lib/commonjs/emoji-data/compiled.js.map +1 -1
  226. package/lib/commonjs/emoji-data/index.js.map +1 -1
  227. package/lib/commonjs/hooks/index.js.map +1 -1
  228. package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
  229. package/lib/commonjs/hooks/useIsMountedRef.js.map +1 -1
  230. package/lib/commonjs/hooks/useLoadingImage.js.map +1 -1
  231. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  232. package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
  233. package/lib/commonjs/icons/ArrowRight.js.map +1 -1
  234. package/lib/commonjs/icons/AtMentions.js.map +1 -1
  235. package/lib/commonjs/icons/Attach.js.map +1 -1
  236. package/lib/commonjs/icons/Audio.js.map +1 -1
  237. package/lib/commonjs/icons/CSV.js.map +1 -1
  238. package/lib/commonjs/icons/Camera.js.map +1 -1
  239. package/lib/commonjs/icons/Check.js.map +1 -1
  240. package/lib/commonjs/icons/CheckAll.js.map +1 -1
  241. package/lib/commonjs/icons/CheckSend.js.map +1 -1
  242. package/lib/commonjs/icons/CircleClose.js.map +1 -1
  243. package/lib/commonjs/icons/CirclePlus.js.map +1 -1
  244. package/lib/commonjs/icons/CircleRight.js.map +1 -1
  245. package/lib/commonjs/icons/Close.js.map +1 -1
  246. package/lib/commonjs/icons/Copy.js.map +1 -1
  247. package/lib/commonjs/icons/CurveLineLeftUp.js.map +1 -1
  248. package/lib/commonjs/icons/DOC.js.map +1 -1
  249. package/lib/commonjs/icons/DOCX.js.map +1 -1
  250. package/lib/commonjs/icons/Delete.js.map +1 -1
  251. package/lib/commonjs/icons/Down.js.map +1 -1
  252. package/lib/commonjs/icons/DownloadArrow.js.map +1 -1
  253. package/lib/commonjs/icons/DownloadCloud.js.map +1 -1
  254. package/lib/commonjs/icons/Edit.js.map +1 -1
  255. package/lib/commonjs/icons/Error.js.map +1 -1
  256. package/lib/commonjs/icons/Eye.js.map +1 -1
  257. package/lib/commonjs/icons/Flag.js.map +1 -1
  258. package/lib/commonjs/icons/Folder.js.map +1 -1
  259. package/lib/commonjs/icons/GenericFile.js.map +1 -1
  260. package/lib/commonjs/icons/GiphyIcon.js.map +1 -1
  261. package/lib/commonjs/icons/Grid.js.map +1 -1
  262. package/lib/commonjs/icons/Group.js.map +1 -1
  263. package/lib/commonjs/icons/HTML.js.map +1 -1
  264. package/lib/commonjs/icons/Imgur.js.map +1 -1
  265. package/lib/commonjs/icons/LOLReaction.js.map +1 -1
  266. package/lib/commonjs/icons/Lightning.js.map +1 -1
  267. package/lib/commonjs/icons/Link.js.map +1 -1
  268. package/lib/commonjs/icons/Loading.js.map +1 -1
  269. package/lib/commonjs/icons/Logo.js.map +1 -1
  270. package/lib/commonjs/icons/LoveReaction.js.map +1 -1
  271. package/lib/commonjs/icons/MD.js.map +1 -1
  272. package/lib/commonjs/icons/MailOpen.js.map +1 -1
  273. package/lib/commonjs/icons/MenuPointHorizontal.js.map +1 -1
  274. package/lib/commonjs/icons/MenuPointVertical.js.map +1 -1
  275. package/lib/commonjs/icons/MessageFlag.js.map +1 -1
  276. package/lib/commonjs/icons/MessageIcon.js.map +1 -1
  277. package/lib/commonjs/icons/Mute.js.map +1 -1
  278. package/lib/commonjs/icons/Notification.js.map +1 -1
  279. package/lib/commonjs/icons/ODT.js.map +1 -1
  280. package/lib/commonjs/icons/PDF.js.map +1 -1
  281. package/lib/commonjs/icons/PPT.js.map +1 -1
  282. package/lib/commonjs/icons/PPTX.js.map +1 -1
  283. package/lib/commonjs/icons/Pause.js.map +1 -1
  284. package/lib/commonjs/icons/Picture.js.map +1 -1
  285. package/lib/commonjs/icons/Pin.js.map +1 -1
  286. package/lib/commonjs/icons/PinHeader.js.map +1 -1
  287. package/lib/commonjs/icons/Play.js.map +1 -1
  288. package/lib/commonjs/icons/RAR.js.map +1 -1
  289. package/lib/commonjs/icons/RTF.js.map +1 -1
  290. package/lib/commonjs/icons/Recorder.js.map +1 -1
  291. package/lib/commonjs/icons/Refresh.js.map +1 -1
  292. package/lib/commonjs/icons/SEVEN_Z.js.map +1 -1
  293. package/lib/commonjs/icons/Search.js.map +1 -1
  294. package/lib/commonjs/icons/SendRight.js.map +1 -1
  295. package/lib/commonjs/icons/SendUp.js.map +1 -1
  296. package/lib/commonjs/icons/Share.js.map +1 -1
  297. package/lib/commonjs/icons/ShareRightArrow.js.map +1 -1
  298. package/lib/commonjs/icons/Smile.js.map +1 -1
  299. package/lib/commonjs/icons/Sound.js.map +1 -1
  300. package/lib/commonjs/icons/TAR.js.map +1 -1
  301. package/lib/commonjs/icons/TXT.js.map +1 -1
  302. package/lib/commonjs/icons/ThreadReply.js.map +1 -1
  303. package/lib/commonjs/icons/ThumbsDownReaction.js.map +1 -1
  304. package/lib/commonjs/icons/ThumbsUpReaction.js.map +1 -1
  305. package/lib/commonjs/icons/Time.js.map +1 -1
  306. package/lib/commonjs/icons/Unknown.js.map +1 -1
  307. package/lib/commonjs/icons/Unpin.js.map +1 -1
  308. package/lib/commonjs/icons/User.js.map +1 -1
  309. package/lib/commonjs/icons/UserAdd.js.map +1 -1
  310. package/lib/commonjs/icons/UserAdmin.js.map +1 -1
  311. package/lib/commonjs/icons/UserDelete.js.map +1 -1
  312. package/lib/commonjs/icons/UserMinus.js.map +1 -1
  313. package/lib/commonjs/icons/Video.js.map +1 -1
  314. package/lib/commonjs/icons/Warning.js.map +1 -1
  315. package/lib/commonjs/icons/WutReaction.js.map +1 -1
  316. package/lib/commonjs/icons/XLS.js.map +1 -1
  317. package/lib/commonjs/icons/XLSX.js.map +1 -1
  318. package/lib/commonjs/icons/ZIP.js.map +1 -1
  319. package/lib/commonjs/icons/index.js.map +1 -1
  320. package/lib/commonjs/icons/utils/base.js.map +1 -1
  321. package/lib/commonjs/index.js.map +1 -1
  322. package/lib/commonjs/init.js.map +1 -1
  323. package/lib/commonjs/mock-builders/DB/consts.js.map +1 -1
  324. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
  325. package/lib/commonjs/mock-builders/api/channelMocks.js.map +1 -1
  326. package/lib/commonjs/mock-builders/api/deleteMessage.js.map +1 -1
  327. package/lib/commonjs/mock-builders/api/deleteReaction.js.map +1 -1
  328. package/lib/commonjs/mock-builders/api/error.js.map +1 -1
  329. package/lib/commonjs/mock-builders/api/getOrCreateChannel.js.map +1 -1
  330. package/lib/commonjs/mock-builders/api/queryChannels.js.map +1 -1
  331. package/lib/commonjs/mock-builders/api/queryMembers.js.map +1 -1
  332. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  333. package/lib/commonjs/mock-builders/api/sendReaction.js.map +1 -1
  334. package/lib/commonjs/mock-builders/api/threadReplies.js.map +1 -1
  335. package/lib/commonjs/mock-builders/api/useMockedApis.js.map +1 -1
  336. package/lib/commonjs/mock-builders/api/utils.js.map +1 -1
  337. package/lib/commonjs/mock-builders/event/channelDeleted.js.map +1 -1
  338. package/lib/commonjs/mock-builders/event/channelHidden.js.map +1 -1
  339. package/lib/commonjs/mock-builders/event/channelTruncated.js.map +1 -1
  340. package/lib/commonjs/mock-builders/event/channelUpdated.js.map +1 -1
  341. package/lib/commonjs/mock-builders/event/connectionChanged.js.map +1 -1
  342. package/lib/commonjs/mock-builders/event/connectionRecovered.js.map +1 -1
  343. package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -1
  344. package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -1
  345. package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -1
  346. package/lib/commonjs/mock-builders/event/messageDeleted.js.map +1 -1
  347. package/lib/commonjs/mock-builders/event/messageNew.js.map +1 -1
  348. package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
  349. package/lib/commonjs/mock-builders/event/messageUpdated.js.map +1 -1
  350. package/lib/commonjs/mock-builders/event/notificationAddedToChannel.js.map +1 -1
  351. package/lib/commonjs/mock-builders/event/notificationMessageNew.js.map +1 -1
  352. package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js.map +1 -1
  353. package/lib/commonjs/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
  354. package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -1
  355. package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -1
  356. package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -1
  357. package/lib/commonjs/mock-builders/event/typing.js.map +1 -1
  358. package/lib/commonjs/mock-builders/event/userPresence.js.map +1 -1
  359. package/lib/commonjs/mock-builders/event/userUpdated.js.map +1 -1
  360. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  361. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  362. package/lib/commonjs/mock-builders/generator/member.js.map +1 -1
  363. package/lib/commonjs/mock-builders/generator/message.js.map +1 -1
  364. package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
  365. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  366. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  367. package/lib/commonjs/native.js.map +1 -1
  368. package/lib/commonjs/store/QuickSqliteClient.js.map +1 -1
  369. package/lib/commonjs/store/QuickSqliteClient_v4.js.map +1 -1
  370. package/lib/commonjs/store/apis/addPendingTask.js.map +1 -1
  371. package/lib/commonjs/store/apis/deleteChannel.js.map +1 -1
  372. package/lib/commonjs/store/apis/deleteMember.js.map +1 -1
  373. package/lib/commonjs/store/apis/deleteMessage.js.map +1 -1
  374. package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -1
  375. package/lib/commonjs/store/apis/deletePendingTask.js.map +1 -1
  376. package/lib/commonjs/store/apis/deleteReaction.js.map +1 -1
  377. package/lib/commonjs/store/apis/deleteReactions.js.map +1 -1
  378. package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -1
  379. package/lib/commonjs/store/apis/getAppSettings.js.map +1 -1
  380. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
  381. package/lib/commonjs/store/apis/getChannels.js.map +1 -1
  382. package/lib/commonjs/store/apis/getChannelsForFilterSort.js.map +1 -1
  383. package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -1
  384. package/lib/commonjs/store/apis/getMembers.js.map +1 -1
  385. package/lib/commonjs/store/apis/getPendingTasks.js.map +1 -1
  386. package/lib/commonjs/store/apis/getReads.js.map +1 -1
  387. package/lib/commonjs/store/apis/index.js.map +1 -1
  388. package/lib/commonjs/store/apis/insertReaction.js.map +1 -1
  389. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
  390. package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -1
  391. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -1
  392. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  393. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  394. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -1
  395. package/lib/commonjs/store/apis/updateMessage.js.map +1 -1
  396. package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
  397. package/lib/commonjs/store/apis/upsertAppSettings.js.map +1 -1
  398. package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -1
  399. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -1
  400. package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -1
  401. package/lib/commonjs/store/apis/upsertLastSyncedAt.js.map +1 -1
  402. package/lib/commonjs/store/apis/upsertMembers.js.map +1 -1
  403. package/lib/commonjs/store/apis/upsertMessages.js.map +1 -1
  404. package/lib/commonjs/store/apis/upsertReads.js.map +1 -1
  405. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js.map +1 -1
  406. package/lib/commonjs/store/constants.js.map +1 -1
  407. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js.map +1 -1
  408. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -1
  409. package/lib/commonjs/store/mappers/mapMemberToStorable.js.map +1 -1
  410. package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -1
  411. package/lib/commonjs/store/mappers/mapReactionToStorable.js.map +1 -1
  412. package/lib/commonjs/store/mappers/mapReadToStorable.js.map +1 -1
  413. package/lib/commonjs/store/mappers/mapStorableToChannel.js.map +1 -1
  414. package/lib/commonjs/store/mappers/mapStorableToMember.js.map +1 -1
  415. package/lib/commonjs/store/mappers/mapStorableToMessage.js.map +1 -1
  416. package/lib/commonjs/store/mappers/mapStorableToReaction.js.map +1 -1
  417. package/lib/commonjs/store/mappers/mapStorableToRead.js.map +1 -1
  418. package/lib/commonjs/store/mappers/mapStorableToTask.js.map +1 -1
  419. package/lib/commonjs/store/mappers/mapStorableToUser.js.map +1 -1
  420. package/lib/commonjs/store/mappers/mapTaskToStorable.js.map +1 -1
  421. package/lib/commonjs/store/mappers/mapUserToStorable.js.map +1 -1
  422. package/lib/commonjs/store/schema.js.map +1 -1
  423. package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js.map +1 -1
  424. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  425. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  426. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js.map +1 -1
  427. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js.map +1 -1
  428. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js.map +1 -1
  429. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -1
  430. package/lib/commonjs/store/sqlite-utils/printRow.js.map +1 -1
  431. package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -1
  432. package/lib/commonjs/utils/DBSyncManager.js.map +1 -1
  433. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  434. package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -1
  435. package/lib/commonjs/utils/date.js.map +1 -1
  436. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -1
  437. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -1
  438. package/lib/commonjs/utils/patchMessageTextCommand.js.map +1 -1
  439. package/lib/commonjs/utils/removeReactionFromLocalState.js.map +1 -1
  440. package/lib/commonjs/utils/removeReservedFields.js.map +1 -1
  441. package/lib/commonjs/utils/utils.js.map +1 -1
  442. package/lib/commonjs/version.json +1 -1
  443. package/lib/module/components/Attachment/Attachment.js +15 -33
  444. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  445. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  446. package/lib/module/components/Attachment/AudioAttachment.js.map +1 -1
  447. package/lib/module/components/Attachment/Card.js.map +1 -1
  448. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  449. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  450. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  451. package/lib/module/components/Attachment/Gallery.js +1 -7
  452. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  453. package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
  454. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  455. package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js.map +1 -1
  456. package/lib/module/components/Attachment/ImageLoadingIndicator.js.map +1 -1
  457. package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -1
  458. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
  459. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  460. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  461. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  462. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  463. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
  464. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
  465. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -1
  466. package/lib/module/components/Attachment/utils/getGiphyMimeType.js.map +1 -1
  467. package/lib/module/components/Attachment/utils/openUrlSafely.js.map +1 -1
  468. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +1 -7
  469. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  470. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js.map +1 -1
  471. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js.map +1 -1
  472. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js.map +1 -1
  473. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  474. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  475. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js.map +1 -1
  476. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js.map +1 -1
  477. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js.map +1 -1
  478. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js.map +1 -1
  479. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  480. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  481. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  482. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  483. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  484. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  485. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  486. package/lib/module/components/Channel/Channel.js.map +1 -1
  487. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  488. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  489. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  490. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  491. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  492. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  493. package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  494. package/lib/module/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  495. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  496. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  497. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  498. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  499. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  500. package/lib/module/components/ChannelList/ChannelListMessenger.js +1 -7
  501. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  502. package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
  503. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  504. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  505. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  506. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  507. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  508. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  509. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  510. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  511. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  512. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  513. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  514. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  515. package/lib/module/components/ChannelList/utils.js.map +1 -1
  516. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  517. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  518. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  519. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  520. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  521. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  522. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  523. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  524. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  525. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  526. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  527. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  528. package/lib/module/components/Chat/Chat.js.map +1 -1
  529. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js.map +1 -1
  530. package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
  531. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  532. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  533. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  534. package/lib/module/components/Chat/hooks/useSyncDatabase.js.map +1 -1
  535. package/lib/module/components/ImageBackground.js.map +1 -1
  536. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  537. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  538. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  539. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  540. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  541. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
  542. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  543. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  544. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  545. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  546. package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
  547. package/lib/module/components/Indicators/LoadingDot.js.map +1 -1
  548. package/lib/module/components/Indicators/LoadingDots.js.map +1 -1
  549. package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  550. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  551. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  552. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js.map +1 -1
  553. package/lib/module/components/Message/Message.js.map +1 -1
  554. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  555. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  556. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  557. package/lib/module/components/Message/MessageSimple/MessageFooter.js +2 -14
  558. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  559. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  560. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  561. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  562. package/lib/module/components/Message/MessageSimple/MessageSimple.js +1 -7
  563. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  564. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  565. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  566. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  567. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
  568. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
  569. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  570. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +1 -7
  571. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
  572. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  573. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  574. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  575. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  576. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  577. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  578. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -1
  579. package/lib/module/components/MessageInput/FileUploadPreview.js +1 -7
  580. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  581. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  582. package/lib/module/components/MessageInput/InputButtons.js +1 -7
  583. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  584. package/lib/module/components/MessageInput/MessageInput.js +2 -14
  585. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  586. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  587. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  588. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  589. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  590. package/lib/module/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  591. package/lib/module/components/MessageInput/components/InputEditingStateHeader.js.map +1 -1
  592. package/lib/module/components/MessageInput/components/InputGiphySearch.js.map +1 -1
  593. package/lib/module/components/MessageInput/components/InputReplyStateHeader.js.map +1 -1
  594. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
  595. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -1
  596. package/lib/module/components/MessageList/DateHeader.js.map +1 -1
  597. package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
  598. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  599. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  600. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  601. package/lib/module/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  602. package/lib/module/components/MessageList/MessageList.js +4 -28
  603. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  604. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  605. package/lib/module/components/MessageList/NetworkDownIndicator.js.map +1 -1
  606. package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
  607. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  608. package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  609. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  610. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  611. package/lib/module/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  612. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  613. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  614. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  615. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  616. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
  617. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  618. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  619. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  620. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  621. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  622. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -1
  623. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  624. package/lib/module/components/ProgressControl/ProgressControl.js.map +1 -1
  625. package/lib/module/components/RTLComponents/WritingDirectionAwareText.js.map +1 -1
  626. package/lib/module/components/Reply/Reply.js.map +1 -1
  627. package/lib/module/components/Spinner/Spinner.js.map +1 -1
  628. package/lib/module/components/Thread/Thread.js.map +1 -1
  629. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  630. package/lib/module/components/docs/data.js.map +1 -1
  631. package/lib/module/components/index.js.map +1 -1
  632. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  633. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  634. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  635. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  636. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  637. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  638. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  639. package/lib/module/contexts/debugContext/DebugContext.js.map +1 -1
  640. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  641. package/lib/module/contexts/index.js.map +1 -1
  642. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  643. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  644. package/lib/module/contexts/messageInputContext/MessageInputContext.js +8 -8
  645. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  646. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  647. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  648. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  649. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -1
  650. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -7
  651. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
  652. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  653. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  654. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  655. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
  656. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  657. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  658. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  659. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  660. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  661. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  662. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  663. package/lib/module/contexts/utils/defaultBaseContextValue.js.map +1 -1
  664. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  665. package/lib/module/contexts/utils/isTestEnvironment.js.map +1 -1
  666. package/lib/module/emoji-data/compile.js.map +1 -1
  667. package/lib/module/emoji-data/compiled.js.map +1 -1
  668. package/lib/module/emoji-data/index.js.map +1 -1
  669. package/lib/module/hooks/index.js.map +1 -1
  670. package/lib/module/hooks/useAppStateListener.js.map +1 -1
  671. package/lib/module/hooks/useIsMountedRef.js.map +1 -1
  672. package/lib/module/hooks/useLoadingImage.js.map +1 -1
  673. package/lib/module/hooks/useStreami18n.js.map +1 -1
  674. package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
  675. package/lib/module/icons/ArrowRight.js.map +1 -1
  676. package/lib/module/icons/AtMentions.js.map +1 -1
  677. package/lib/module/icons/Attach.js.map +1 -1
  678. package/lib/module/icons/Audio.js.map +1 -1
  679. package/lib/module/icons/CSV.js.map +1 -1
  680. package/lib/module/icons/Camera.js.map +1 -1
  681. package/lib/module/icons/Check.js.map +1 -1
  682. package/lib/module/icons/CheckAll.js.map +1 -1
  683. package/lib/module/icons/CheckSend.js.map +1 -1
  684. package/lib/module/icons/CircleClose.js.map +1 -1
  685. package/lib/module/icons/CirclePlus.js.map +1 -1
  686. package/lib/module/icons/CircleRight.js.map +1 -1
  687. package/lib/module/icons/Close.js.map +1 -1
  688. package/lib/module/icons/Copy.js.map +1 -1
  689. package/lib/module/icons/CurveLineLeftUp.js.map +1 -1
  690. package/lib/module/icons/DOC.js.map +1 -1
  691. package/lib/module/icons/DOCX.js.map +1 -1
  692. package/lib/module/icons/Delete.js.map +1 -1
  693. package/lib/module/icons/Down.js.map +1 -1
  694. package/lib/module/icons/DownloadArrow.js.map +1 -1
  695. package/lib/module/icons/DownloadCloud.js.map +1 -1
  696. package/lib/module/icons/Edit.js.map +1 -1
  697. package/lib/module/icons/Error.js.map +1 -1
  698. package/lib/module/icons/Eye.js.map +1 -1
  699. package/lib/module/icons/Flag.js.map +1 -1
  700. package/lib/module/icons/Folder.js.map +1 -1
  701. package/lib/module/icons/GenericFile.js.map +1 -1
  702. package/lib/module/icons/GiphyIcon.js.map +1 -1
  703. package/lib/module/icons/Grid.js.map +1 -1
  704. package/lib/module/icons/Group.js.map +1 -1
  705. package/lib/module/icons/HTML.js.map +1 -1
  706. package/lib/module/icons/Imgur.js.map +1 -1
  707. package/lib/module/icons/LOLReaction.js.map +1 -1
  708. package/lib/module/icons/Lightning.js.map +1 -1
  709. package/lib/module/icons/Link.js.map +1 -1
  710. package/lib/module/icons/Loading.js.map +1 -1
  711. package/lib/module/icons/Logo.js.map +1 -1
  712. package/lib/module/icons/LoveReaction.js.map +1 -1
  713. package/lib/module/icons/MD.js.map +1 -1
  714. package/lib/module/icons/MailOpen.js.map +1 -1
  715. package/lib/module/icons/MenuPointHorizontal.js.map +1 -1
  716. package/lib/module/icons/MenuPointVertical.js.map +1 -1
  717. package/lib/module/icons/MessageFlag.js.map +1 -1
  718. package/lib/module/icons/MessageIcon.js.map +1 -1
  719. package/lib/module/icons/Mute.js.map +1 -1
  720. package/lib/module/icons/Notification.js.map +1 -1
  721. package/lib/module/icons/ODT.js.map +1 -1
  722. package/lib/module/icons/PDF.js.map +1 -1
  723. package/lib/module/icons/PPT.js.map +1 -1
  724. package/lib/module/icons/PPTX.js.map +1 -1
  725. package/lib/module/icons/Pause.js.map +1 -1
  726. package/lib/module/icons/Picture.js.map +1 -1
  727. package/lib/module/icons/Pin.js.map +1 -1
  728. package/lib/module/icons/PinHeader.js.map +1 -1
  729. package/lib/module/icons/Play.js.map +1 -1
  730. package/lib/module/icons/RAR.js.map +1 -1
  731. package/lib/module/icons/RTF.js.map +1 -1
  732. package/lib/module/icons/Recorder.js.map +1 -1
  733. package/lib/module/icons/Refresh.js.map +1 -1
  734. package/lib/module/icons/SEVEN_Z.js.map +1 -1
  735. package/lib/module/icons/Search.js.map +1 -1
  736. package/lib/module/icons/SendRight.js.map +1 -1
  737. package/lib/module/icons/SendUp.js.map +1 -1
  738. package/lib/module/icons/Share.js.map +1 -1
  739. package/lib/module/icons/ShareRightArrow.js.map +1 -1
  740. package/lib/module/icons/Smile.js.map +1 -1
  741. package/lib/module/icons/Sound.js.map +1 -1
  742. package/lib/module/icons/TAR.js.map +1 -1
  743. package/lib/module/icons/TXT.js.map +1 -1
  744. package/lib/module/icons/ThreadReply.js.map +1 -1
  745. package/lib/module/icons/ThumbsDownReaction.js.map +1 -1
  746. package/lib/module/icons/ThumbsUpReaction.js.map +1 -1
  747. package/lib/module/icons/Time.js.map +1 -1
  748. package/lib/module/icons/Unknown.js.map +1 -1
  749. package/lib/module/icons/Unpin.js.map +1 -1
  750. package/lib/module/icons/User.js.map +1 -1
  751. package/lib/module/icons/UserAdd.js.map +1 -1
  752. package/lib/module/icons/UserAdmin.js.map +1 -1
  753. package/lib/module/icons/UserDelete.js.map +1 -1
  754. package/lib/module/icons/UserMinus.js.map +1 -1
  755. package/lib/module/icons/Video.js.map +1 -1
  756. package/lib/module/icons/Warning.js.map +1 -1
  757. package/lib/module/icons/WutReaction.js.map +1 -1
  758. package/lib/module/icons/XLS.js.map +1 -1
  759. package/lib/module/icons/XLSX.js.map +1 -1
  760. package/lib/module/icons/ZIP.js.map +1 -1
  761. package/lib/module/icons/index.js.map +1 -1
  762. package/lib/module/icons/utils/base.js.map +1 -1
  763. package/lib/module/index.js.map +1 -1
  764. package/lib/module/init.js.map +1 -1
  765. package/lib/module/mock-builders/DB/consts.js.map +1 -1
  766. package/lib/module/mock-builders/DB/mock.js.map +1 -1
  767. package/lib/module/mock-builders/api/channelMocks.js.map +1 -1
  768. package/lib/module/mock-builders/api/deleteMessage.js.map +1 -1
  769. package/lib/module/mock-builders/api/deleteReaction.js.map +1 -1
  770. package/lib/module/mock-builders/api/error.js.map +1 -1
  771. package/lib/module/mock-builders/api/getOrCreateChannel.js.map +1 -1
  772. package/lib/module/mock-builders/api/queryChannels.js.map +1 -1
  773. package/lib/module/mock-builders/api/queryMembers.js.map +1 -1
  774. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  775. package/lib/module/mock-builders/api/sendReaction.js.map +1 -1
  776. package/lib/module/mock-builders/api/threadReplies.js.map +1 -1
  777. package/lib/module/mock-builders/api/useMockedApis.js.map +1 -1
  778. package/lib/module/mock-builders/api/utils.js.map +1 -1
  779. package/lib/module/mock-builders/event/channelDeleted.js.map +1 -1
  780. package/lib/module/mock-builders/event/channelHidden.js.map +1 -1
  781. package/lib/module/mock-builders/event/channelTruncated.js.map +1 -1
  782. package/lib/module/mock-builders/event/channelUpdated.js.map +1 -1
  783. package/lib/module/mock-builders/event/connectionChanged.js.map +1 -1
  784. package/lib/module/mock-builders/event/connectionRecovered.js.map +1 -1
  785. package/lib/module/mock-builders/event/memberAdded.js.map +1 -1
  786. package/lib/module/mock-builders/event/memberRemoved.js.map +1 -1
  787. package/lib/module/mock-builders/event/memberUpdated.js.map +1 -1
  788. package/lib/module/mock-builders/event/messageDeleted.js.map +1 -1
  789. package/lib/module/mock-builders/event/messageNew.js.map +1 -1
  790. package/lib/module/mock-builders/event/messageRead.js.map +1 -1
  791. package/lib/module/mock-builders/event/messageUpdated.js.map +1 -1
  792. package/lib/module/mock-builders/event/notificationAddedToChannel.js.map +1 -1
  793. package/lib/module/mock-builders/event/notificationMessageNew.js.map +1 -1
  794. package/lib/module/mock-builders/event/notificationMutesUpdated.js.map +1 -1
  795. package/lib/module/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
  796. package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -1
  797. package/lib/module/mock-builders/event/reactionNew.js.map +1 -1
  798. package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -1
  799. package/lib/module/mock-builders/event/typing.js.map +1 -1
  800. package/lib/module/mock-builders/event/userPresence.js.map +1 -1
  801. package/lib/module/mock-builders/event/userUpdated.js.map +1 -1
  802. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  803. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  804. package/lib/module/mock-builders/generator/member.js.map +1 -1
  805. package/lib/module/mock-builders/generator/message.js.map +1 -1
  806. package/lib/module/mock-builders/generator/reaction.js.map +1 -1
  807. package/lib/module/mock-builders/generator/user.js.map +1 -1
  808. package/lib/module/mock-builders/mock.js.map +1 -1
  809. package/lib/module/native.js.map +1 -1
  810. package/lib/module/store/QuickSqliteClient.js.map +1 -1
  811. package/lib/module/store/QuickSqliteClient_v4.js.map +1 -1
  812. package/lib/module/store/apis/addPendingTask.js.map +1 -1
  813. package/lib/module/store/apis/deleteChannel.js.map +1 -1
  814. package/lib/module/store/apis/deleteMember.js.map +1 -1
  815. package/lib/module/store/apis/deleteMessage.js.map +1 -1
  816. package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -1
  817. package/lib/module/store/apis/deletePendingTask.js.map +1 -1
  818. package/lib/module/store/apis/deleteReaction.js.map +1 -1
  819. package/lib/module/store/apis/deleteReactions.js.map +1 -1
  820. package/lib/module/store/apis/getAllChannelIds.js.map +1 -1
  821. package/lib/module/store/apis/getAppSettings.js.map +1 -1
  822. package/lib/module/store/apis/getChannelMessages.js.map +1 -1
  823. package/lib/module/store/apis/getChannels.js.map +1 -1
  824. package/lib/module/store/apis/getChannelsForFilterSort.js.map +1 -1
  825. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -1
  826. package/lib/module/store/apis/getMembers.js.map +1 -1
  827. package/lib/module/store/apis/getPendingTasks.js.map +1 -1
  828. package/lib/module/store/apis/getReads.js.map +1 -1
  829. package/lib/module/store/apis/index.js.map +1 -1
  830. package/lib/module/store/apis/insertReaction.js.map +1 -1
  831. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
  832. package/lib/module/store/apis/queries/selectChannels.js.map +1 -1
  833. package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -1
  834. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  835. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  836. package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -1
  837. package/lib/module/store/apis/updateMessage.js.map +1 -1
  838. package/lib/module/store/apis/updateReaction.js.map +1 -1
  839. package/lib/module/store/apis/upsertAppSettings.js.map +1 -1
  840. package/lib/module/store/apis/upsertChannelData.js.map +1 -1
  841. package/lib/module/store/apis/upsertChannels.js.map +1 -1
  842. package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -1
  843. package/lib/module/store/apis/upsertLastSyncedAt.js.map +1 -1
  844. package/lib/module/store/apis/upsertMembers.js.map +1 -1
  845. package/lib/module/store/apis/upsertMessages.js.map +1 -1
  846. package/lib/module/store/apis/upsertReads.js.map +1 -1
  847. package/lib/module/store/apis/utils/convertFilterSortToQuery.js.map +1 -1
  848. package/lib/module/store/constants.js.map +1 -1
  849. package/lib/module/store/mappers/mapChannelDataToStorable.js.map +1 -1
  850. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -1
  851. package/lib/module/store/mappers/mapMemberToStorable.js.map +1 -1
  852. package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -1
  853. package/lib/module/store/mappers/mapReactionToStorable.js.map +1 -1
  854. package/lib/module/store/mappers/mapReadToStorable.js.map +1 -1
  855. package/lib/module/store/mappers/mapStorableToChannel.js.map +1 -1
  856. package/lib/module/store/mappers/mapStorableToMember.js.map +1 -1
  857. package/lib/module/store/mappers/mapStorableToMessage.js.map +1 -1
  858. package/lib/module/store/mappers/mapStorableToReaction.js.map +1 -1
  859. package/lib/module/store/mappers/mapStorableToRead.js.map +1 -1
  860. package/lib/module/store/mappers/mapStorableToTask.js.map +1 -1
  861. package/lib/module/store/mappers/mapStorableToUser.js.map +1 -1
  862. package/lib/module/store/mappers/mapTaskToStorable.js.map +1 -1
  863. package/lib/module/store/mappers/mapUserToStorable.js.map +1 -1
  864. package/lib/module/store/schema.js.map +1 -1
  865. package/lib/module/store/sqlite-utils/appendOrderByClause.js.map +1 -1
  866. package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  867. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  868. package/lib/module/store/sqlite-utils/createDeleteQuery.js.map +1 -1
  869. package/lib/module/store/sqlite-utils/createSelectQuery.js.map +1 -1
  870. package/lib/module/store/sqlite-utils/createUpdateQuery.js.map +1 -1
  871. package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -1
  872. package/lib/module/store/sqlite-utils/printRow.js.map +1 -1
  873. package/lib/module/test-utils/BetterSqlite.js.map +1 -1
  874. package/lib/module/utils/DBSyncManager.js.map +1 -1
  875. package/lib/module/utils/Streami18n.js.map +1 -1
  876. package/lib/module/utils/addReactionToLocalState.js.map +1 -1
  877. package/lib/module/utils/date.js.map +1 -1
  878. package/lib/module/utils/getResizedImageUrl.js.map +1 -1
  879. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -1
  880. package/lib/module/utils/patchMessageTextCommand.js.map +1 -1
  881. package/lib/module/utils/removeReactionFromLocalState.js.map +1 -1
  882. package/lib/module/utils/removeReservedFields.js.map +1 -1
  883. package/lib/module/utils/utils.js.map +1 -1
  884. package/lib/module/version.json +1 -1
  885. package/package.json +1 -1
  886. package/src/components/Attachment/Attachment.tsx +1 -4
  887. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["styles","StyleSheet","create","selectChannel","fontWeight","padding","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","scrollToFirstUnreadThreshold","defaultThrottleInterval","defaultDebounceInterval","throttleOptions","leading","trailing","debounceOptions","ChannelWithContext","props","additionalKeyboardAvoidingViewProps","additionalTextInputProps","additionalTouchableProps","allowThreadMessagesInChannel","AttachButton","AttachButtonDefault","Attachment","AttachmentDefault","AttachmentActions","AttachmentActionsDefault","AudioAttachment","AudioAttachmentDefault","AutoCompleteSuggestionHeader","AutoCompleteSuggestionHeaderDefault","AutoCompleteSuggestionItem","AutoCompleteSuggestionItemDefault","AutoCompleteSuggestionList","AutoCompleteSuggestionListDefault","autoCompleteSuggestionsLimit","autoCompleteTriggerSettings","Card","CardDefault","CardCover","CardFooter","CardHeader","channel","children","client","CommandsButton","CommandsButtonDefault","compressImageQuality","CooldownTimer","CooldownTimerDefault","DateHeader","DateHeaderDefault","deletedMessagesVisibilityType","disableIfFrozenChannel","disableKeyboardCompatibleView","disableTypingIndicator","dismissKeyboardOnMessageTouch","doDocUploadRequest","doImageUploadRequest","doMarkReadRequest","doSendMessageRequest","doUpdateMessageRequest","EmptyStateIndicator","EmptyStateIndicatorDefault","enableMessageGroupingByUser","enableOfflineSupport","enforceUniqueReaction","FileAttachment","FileAttachmentDefault","FileAttachmentGroup","FileAttachmentGroupDefault","FileAttachmentIcon","FileIconDefault","FileUploadPreview","FileUploadPreviewDefault","FlatList","FlatListDefault","forceAlignMessages","formatDate","Gallery","GalleryDefault","getMessagesGroupStyles","Giphy","GiphyDefault","giphyEnabled","giphyVersion","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReaction","handleRetry","handleThreadReply","hasCommands","hasFilePicker","pickDocument","hasImagePicker","hideDateSeparators","hideStickyDateHeader","ImageUploadPreview","ImageUploadPreviewDefault","initialScrollToFirstUnreadMessage","initialValue","InlineDateSeparator","InlineDateSeparatorDefault","InlineUnreadIndicator","InlineUnreadIndicatorDefault","Input","InputButtons","InputButtonsDefault","InputEditingStateHeader","InputEditingStateHeaderDefault","InputGiphySearch","InputGiphyCommandInputDefault","InputReplyStateHeader","InputReplyStateHeaderDefault","isAttachmentEqual","keyboardBehavior","KeyboardCompatibleView","KeyboardCompatibleViewDefault","keyboardVerticalOffset","legacyImageViewerSwipeBehaviour","LoadingErrorIndicator","LoadingErrorIndicatorDefault","LoadingIndicator","LoadingIndicatorDefault","loadingMoreProp","loadingMore","loadingMoreRecentProp","loadingMoreRecent","ImageLoadingFailedIndicator","ImageLoadingFailedIndicatorDefault","ImageLoadingIndicator","ImageLoadingIndicatorDefault","markdownRules","maxMessageLengthProp","maxMessageLength","maxNumberOfFiles","maxTimeBetweenGroupedMessages","mentionAllAppUsersEnabled","mentionAllAppUsersQuery","members","Message","MessageDefault","messageActions","MessageAvatar","MessageAvatarDefault","MessageContent","MessageContentDefault","messageContentOrder","MessageDeleted","MessageDeletedDefault","MessageFooter","MessageFooterDefault","MessageHeader","messageId","MessageList","MessageListDefault","MessagePinnedHeader","MessagePinnedHeaderDefault","MessageReplies","MessageRepliesDefault","MessageRepliesAvatars","MessageRepliesAvatarsDefault","messages","MessageSimple","MessageSimpleDefault","MessageStatus","MessageStatusDefault","MessageSystem","MessageSystemDefault","MessageText","MoreOptionsButton","MoreOptionsButtonDefault","myMessageTheme","newMessageStateUpdateThrottleInterval","NetworkDownIndicator","NetworkDownIndicatorDefault","numberOfLines","onChangeText","onLongPressMessage","overrideOwnCapabilities","onPressInMessage","onPressMessage","OverlayReactionList","OverlayReactionListDefault","ReactionList","ReactionListDefault","read","Reply","ReplyDefault","ScrollToBottomButton","ScrollToBottomButtonDefault","selectReaction","SendButton","SendButtonDefault","SendMessageDisallowedIndicator","SendMessageDisallowedIndicatorDefault","sendImageAsync","setInputRef","setMembers","setMessages","setRead","setThreadMessages","setTyping","setWatcherCount","setWatchers","shouldSyncChannel","ShowThreadMessageInChannelButton","ShowThreadMessageInChannelButtonDefault","stateUpdateThrottleInterval","StickyHeader","supportedReactions","t","threadProps","thread","threadList","threadMessages","typing","TypingIndicator","TypingIndicatorDefault","TypingIndicatorContainer","TypingIndicatorContainerDefault","UploadProgressIndicator","UploadProgressIndicatorDefault","UrlPreview","VideoThumbnail","VideoThumbnailDefault","watcherCount","watchers","useTheme","theme","black","colors","useState","deleted","setDeleted","editing","setEditing","error","setError","hasMore","setHasMore","lastRead","setLastRead","state","length","loading","setLoading","setLoadingMore","setLoadingMoreRecent","quotedMessage","setQuotedMessage","setThread","threadHasMore","setThreadHasMore","threadLoadingMore","setThreadLoadingMore","syncingChannel","setSyncingChannel","hasNoMoreRecentMessagesToLoad","setHasNoMoreRecentMessagesToLoad","useTargetedMessage","setTargetedMessage","targetedMessage","channelId","id","useEffect","initChannel","offlineMode","initialized","loadChannel","loadChannelAroundMessage","countUnread","loadChannelAtFirstUnreadMessage","copyChannelState","cancel","copyReadState","copyTypingState","loadMoreFinished","loadMoreThreadFinished","threadPropsExists","threads","handleAppBackground","useCallback","sendEvent","parent_id","useAppStateListener","undefined","isAdmin","user","role","membership","isModerator","isOwner","markRead","useRef","throttle","disconnected","clientChannelConfig","read_events","logChatPromiseExecution","current","copyMessagesState","watcher_count","connectionChangedHandler","resyncChannel","handleEvent","event","updatedThreadMessages","message","updatedThread","formatMessage","channelSubscriptions","clientSubscriptions","push","on","cid","DBSyncManager","onSyncStatusChange","online","forEach","s","unsubscribe","channelQueryCallRef","queryCall","onAfterQueryCall","Date","Error","unreadCount","lastReadDate","query","created_at_around","limit","loadMessageIntoState","setIsUpToDate","loadChannelAtMessage","after","before","queryAtMessage","isUpToDate","watch","reloadThread","parentID","getReplies","queryResponse","updatedHasMore","getMessagesById","threadMessage","formattedMessage","console","warn","oldListTopMessage","oldListTopMessageId","oldListBottomMessage","newListTopMessage","newListBottomMessage","clearMessages","addMessagesSorted","parseMessage","created_at","toString","pinned_at","updated_at","failedMessages","filter","status","MessageStatusTypes","FAILED","map","failedThreadMessages","oldListTopMessageCreatedAt","oldListBottomMessageCreatedAt","newListTopMessageCreatedAt","newListBottomMessageCreatedAt","finalMessages","index","findIndex","slice","reloadChannel","queryBeforeMessage","queryAfterMessage","id_lt","id_gte","getChannelConfigSafely","getConfig","_","updateMessage","updatedMessage","extraState","addMessageSorted","replaceMessage","oldMessage","newMessage","removeMessage","createMessagePreview","attachments","mentioned_users","text","extraFields","channel_mutes","devices","mutes","messageUser","preview","__html","html","userID","generateRandomId","userId","reactions","SENDING","quoted_message_id","find","quoted_message","uploadPendingAttachments","i","attachment","file","originalFile","uri","image_url","isLocalUrl","filename","replace","contentType","lookup","sendImage","uploadResponse","dbApi","asset_url","sendFile","name","response","thumb_url","sendMessageRequest","retrying","deleted_at","latest_reactions","own_reactions","reaction_counts","mentionedUserIds","messageData","patchMessageTextCommand","messageResponse","sendMessage","RECEIVED","log","filterErrorMessages","messagePreview","commands","messageInput","upsertMessages","retrySendMessage","statusPendingMessage","debounce","newMessages","loadMore","oldestMessage","oldestID","loadMoreRecent","recentMessage","loadMoreRecentFinished","editMessage","setEditingState","setQuotedMessageState","clearEditingState","clearQuotedMessageState","deleteMessage","sendReaction","payload","enforce_unique","addReactionToLocalState","reactionType","queueTask","task","channelType","dropPendingTasks","toISOString","data","deleteReaction","removeReactionFromLocalState","openThread","newThreadMessages","closeThread","newThreadHasMore","loadMoreThread","oldestMessageID","ownCapabilitiesContext","useCreateOwnCapabilitiesContext","overrideCapabilities","channelContext","useCreateChannelContext","disabled","frozen","some","command","isChannelActive","inputMessageInputContext","useCreateInputMessageInputContext","max_message_length","messageListContext","useCreatePaginatedMessageListContext","messagesContext","useCreateMessagesContext","suggestionsContext","threadContext","useCreateThreadContext","typingContext","useCreateTypingContext","color","height","Channel","useChatContext","useTranslationContext","useChannelState"],"sources":["Channel.tsx"],"sourcesContent":["import React, { PropsWithChildren, useCallback, useEffect, useRef, useState } from 'react';\nimport { KeyboardAvoidingViewProps, StyleSheet, Text, View } from 'react-native';\n\nimport debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\n\nimport { lookup } from 'mime-types';\nimport {\n Channel as ChannelClass,\n ChannelState,\n Channel as ChannelType,\n EventHandler,\n logChatPromiseExecution,\n MessageResponse,\n Reaction,\n SendMessageAPIResponse,\n StreamChat,\n Event as StreamEvent,\n Message as StreamMessage,\n} from 'stream-chat';\n\nimport { useCreateChannelContext } from './hooks/useCreateChannelContext';\n\nimport { useCreateInputMessageInputContext } from './hooks/useCreateInputMessageInputContext';\n\nimport { useCreateMessagesContext } from './hooks/useCreateMessagesContext';\n\nimport { useCreateOwnCapabilitiesContext } from './hooks/useCreateOwnCapabilitiesContext';\nimport { useCreatePaginatedMessageListContext } from './hooks/useCreatePaginatedMessageListContext';\n\nimport { useCreateThreadContext } from './hooks/useCreateThreadContext';\n\nimport { useCreateTypingContext } from './hooks/useCreateTypingContext';\n\nimport { useTargetedMessage } from './hooks/useTargetedMessage';\n\nimport { ChannelContextValue, ChannelProvider } from '../../contexts/channelContext/ChannelContext';\nimport type { UseChannelStateValue } from '../../contexts/channelsStateContext/useChannelState';\nimport { useChannelState } from '../../contexts/channelsStateContext/useChannelState';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\nimport {\n InputMessageInputContextValue,\n MessageInputProvider,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n MessagesProvider,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OwnCapabilitiesContextValue,\n OwnCapabilitiesProvider,\n} from '../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';\nimport {\n PaginatedMessageListContextValue,\n PaginatedMessageListProvider,\n} from '../../contexts/paginatedMessageListContext/PaginatedMessageListContext';\nimport {\n SuggestionsContextValue,\n SuggestionsProvider,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { ThreadContextValue, ThreadProvider } from '../../contexts/threadContext/ThreadContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\nimport { TypingProvider } from '../../contexts/typingContext/TypingContext';\nimport { useAppStateListener } from '../../hooks/useAppStateListener';\n\nimport {\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n WutReaction,\n} from '../../icons';\nimport { FlatList as FlatListDefault, pickDocument } from '../../native';\nimport * as dbApi from '../../store/apis';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { addReactionToLocalState } from '../../utils/addReactionToLocalState';\nimport { DBSyncManager } from '../../utils/DBSyncManager';\nimport { patchMessageTextCommand } from '../../utils/patchMessageTextCommand';\nimport { removeReactionFromLocalState } from '../../utils/removeReactionFromLocalState';\nimport { generateRandomId, isLocalUrl, MessageStatusTypes, ReactionData } from '../../utils/utils';\nimport { Attachment as AttachmentDefault } from '../Attachment/Attachment';\nimport { AttachmentActions as AttachmentActionsDefault } from '../Attachment/AttachmentActions';\nimport { AudioAttachment as AudioAttachmentDefault } from '../Attachment/AudioAttachment';\nimport { Card as CardDefault } from '../Attachment/Card';\nimport { FileAttachment as FileAttachmentDefault } from '../Attachment/FileAttachment';\nimport { FileAttachmentGroup as FileAttachmentGroupDefault } from '../Attachment/FileAttachmentGroup';\nimport { FileIcon as FileIconDefault } from '../Attachment/FileIcon';\nimport { Gallery as GalleryDefault } from '../Attachment/Gallery';\nimport { Giphy as GiphyDefault } from '../Attachment/Giphy';\nimport { ImageLoadingFailedIndicator as ImageLoadingFailedIndicatorDefault } from '../Attachment/ImageLoadingFailedIndicator';\nimport { ImageLoadingIndicator as ImageLoadingIndicatorDefault } from '../Attachment/ImageLoadingIndicator';\nimport { VideoThumbnail as VideoThumbnailDefault } from '../Attachment/VideoThumbnail';\nimport { AutoCompleteSuggestionHeader as AutoCompleteSuggestionHeaderDefault } from '../AutoCompleteInput/AutoCompleteSuggestionHeader';\nimport { AutoCompleteSuggestionItem as AutoCompleteSuggestionItemDefault } from '../AutoCompleteInput/AutoCompleteSuggestionItem';\nimport { AutoCompleteSuggestionList as AutoCompleteSuggestionListDefault } from '../AutoCompleteInput/AutoCompleteSuggestionList';\nimport { EmptyStateIndicator as EmptyStateIndicatorDefault } from '../Indicators/EmptyStateIndicator';\nimport {\n LoadingErrorIndicator as LoadingErrorIndicatorDefault,\n LoadingErrorProps,\n} from '../Indicators/LoadingErrorIndicator';\nimport { LoadingIndicator as LoadingIndicatorDefault } from '../Indicators/LoadingIndicator';\nimport { KeyboardCompatibleView as KeyboardCompatibleViewDefault } from '../KeyboardCompatibleView/KeyboardCompatibleView';\nimport { Message as MessageDefault } from '../Message/Message';\nimport { MessageAvatar as MessageAvatarDefault } from '../Message/MessageSimple/MessageAvatar';\nimport { MessageContent as MessageContentDefault } from '../Message/MessageSimple/MessageContent';\nimport { MessageDeleted as MessageDeletedDefault } from '../Message/MessageSimple/MessageDeleted';\nimport { MessageFooter as MessageFooterDefault } from '../Message/MessageSimple/MessageFooter';\nimport { MessagePinnedHeader as MessagePinnedHeaderDefault } from '../Message/MessageSimple/MessagePinnedHeader';\nimport { MessageReplies as MessageRepliesDefault } from '../Message/MessageSimple/MessageReplies';\nimport { MessageRepliesAvatars as MessageRepliesAvatarsDefault } from '../Message/MessageSimple/MessageRepliesAvatars';\nimport { MessageSimple as MessageSimpleDefault } from '../Message/MessageSimple/MessageSimple';\nimport { MessageStatus as MessageStatusDefault } from '../Message/MessageSimple/MessageStatus';\nimport { ReactionList as ReactionListDefault } from '../Message/MessageSimple/ReactionList';\nimport { AttachButton as AttachButtonDefault } from '../MessageInput/AttachButton';\nimport { CommandsButton as CommandsButtonDefault } from '../MessageInput/CommandsButton';\nimport { InputEditingStateHeader as InputEditingStateHeaderDefault } from '../MessageInput/components/InputEditingStateHeader';\nimport { InputGiphySearch as InputGiphyCommandInputDefault } from '../MessageInput/components/InputGiphySearch';\nimport { InputReplyStateHeader as InputReplyStateHeaderDefault } from '../MessageInput/components/InputReplyStateHeader';\nimport { CooldownTimer as CooldownTimerDefault } from '../MessageInput/CooldownTimer';\nimport { FileUploadPreview as FileUploadPreviewDefault } from '../MessageInput/FileUploadPreview';\nimport { ImageUploadPreview as ImageUploadPreviewDefault } from '../MessageInput/ImageUploadPreview';\nimport { InputButtons as InputButtonsDefault } from '../MessageInput/InputButtons';\nimport { MoreOptionsButton as MoreOptionsButtonDefault } from '../MessageInput/MoreOptionsButton';\nimport { SendButton as SendButtonDefault } from '../MessageInput/SendButton';\nimport { SendMessageDisallowedIndicator as SendMessageDisallowedIndicatorDefault } from '../MessageInput/SendMessageDisallowedIndicator';\nimport { ShowThreadMessageInChannelButton as ShowThreadMessageInChannelButtonDefault } from '../MessageInput/ShowThreadMessageInChannelButton';\nimport { UploadProgressIndicator as UploadProgressIndicatorDefault } from '../MessageInput/UploadProgressIndicator';\nimport { DateHeader as DateHeaderDefault } from '../MessageList/DateHeader';\nimport type { MessageType } from '../MessageList/hooks/useMessageList';\nimport { InlineDateSeparator as InlineDateSeparatorDefault } from '../MessageList/InlineDateSeparator';\nimport { InlineUnreadIndicator as InlineUnreadIndicatorDefault } from '../MessageList/InlineUnreadIndicator';\nimport { MessageList as MessageListDefault } from '../MessageList/MessageList';\nimport { MessageSystem as MessageSystemDefault } from '../MessageList/MessageSystem';\nimport { NetworkDownIndicator as NetworkDownIndicatorDefault } from '../MessageList/NetworkDownIndicator';\nimport { ScrollToBottomButton as ScrollToBottomButtonDefault } from '../MessageList/ScrollToBottomButton';\nimport { TypingIndicator as TypingIndicatorDefault } from '../MessageList/TypingIndicator';\nimport { TypingIndicatorContainer as TypingIndicatorContainerDefault } from '../MessageList/TypingIndicatorContainer';\nimport { OverlayReactionList as OverlayReactionListDefault } from '../MessageOverlay/OverlayReactionList';\nimport { Reply as ReplyDefault } from '../Reply/Reply';\n\nconst styles = StyleSheet.create({\n selectChannel: { fontWeight: 'bold', padding: 16 },\n});\n\nexport const reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\n/**\n * If count of unread messages is less than 4, then no need to scroll to first unread message,\n * since first unread message will be in visible frame anyways.\n */\nconst scrollToFirstUnreadThreshold = 4;\n\nconst defaultThrottleInterval = 500;\nconst defaultDebounceInterval = 500;\nconst throttleOptions = {\n leading: true,\n trailing: true,\n};\nconst debounceOptions = {\n leading: true,\n trailing: true,\n};\n\nexport type ChannelPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelContextValue<StreamChatGenerics>, 'channel'> &\n Partial<\n Pick<\n ChannelContextValue<StreamChatGenerics>,\n | 'EmptyStateIndicator'\n | 'enableMessageGroupingByUser'\n | 'enforceUniqueReaction'\n | 'giphyEnabled'\n | 'hideStickyDateHeader'\n | 'hideDateSeparators'\n | 'LoadingIndicator'\n | 'maxTimeBetweenGroupedMessages'\n | 'NetworkDownIndicator'\n | 'StickyHeader'\n >\n > &\n Pick<ChatContextValue<StreamChatGenerics>, 'client' | 'enableOfflineSupport'> &\n Partial<\n Omit<\n InputMessageInputContextValue<StreamChatGenerics>,\n 'quotedMessage' | 'editing' | 'clearEditingState' | 'clearQuotedMessageState' | 'sendMessage'\n >\n > &\n Partial<\n Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n 'AutoCompleteSuggestionHeader' | 'AutoCompleteSuggestionItem' | 'AutoCompleteSuggestionList'\n >\n > &\n Pick<TranslationContextValue, 't'> &\n Partial<\n Pick<\n PaginatedMessageListContextValue<StreamChatGenerics>,\n 'messages' | 'loadingMore' | 'loadingMoreRecent'\n >\n > &\n UseChannelStateValue<StreamChatGenerics> &\n Partial<\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'AttachmentActions'\n | 'AudioAttachment'\n | 'Card'\n | 'CardCover'\n | 'CardFooter'\n | 'CardHeader'\n | 'DateHeader'\n | 'deletedMessagesVisibilityType'\n | 'disableTypingIndicator'\n | 'dismissKeyboardOnMessageTouch'\n | 'FileAttachment'\n | 'FileAttachmentIcon'\n | 'FileAttachmentGroup'\n | 'FlatList'\n | 'forceAlignMessages'\n | 'formatDate'\n | 'Gallery'\n | 'getMessagesGroupStyles'\n | 'Giphy'\n | 'giphyVersion'\n | 'handleBlock'\n | 'handleCopy'\n | 'handleDelete'\n | 'handleEdit'\n | 'handleFlag'\n | 'handleMute'\n | 'handlePinMessage'\n | 'handleReaction'\n | 'handleQuotedReply'\n | 'handleRetry'\n | 'handleThreadReply'\n | 'InlineDateSeparator'\n | 'InlineUnreadIndicator'\n | 'isAttachmentEqual'\n | 'legacyImageViewerSwipeBehaviour'\n | 'ImageLoadingFailedIndicator'\n | 'ImageLoadingIndicator'\n | 'markdownRules'\n | 'Message'\n | 'messageActions'\n | 'MessageAvatar'\n | 'MessageContent'\n | 'messageContentOrder'\n | 'MessageDeleted'\n | 'MessageFooter'\n | 'MessageHeader'\n | 'MessageList'\n | 'MessagePinnedHeader'\n | 'MessageReplies'\n | 'MessageRepliesAvatars'\n | 'MessageSimple'\n | 'MessageStatus'\n | 'MessageSystem'\n | 'MessageText'\n | 'myMessageTheme'\n | 'onLongPressMessage'\n | 'onPressInMessage'\n | 'onPressMessage'\n | 'OverlayReactionList'\n | 'ReactionList'\n | 'Reply'\n | 'ScrollToBottomButton'\n | 'selectReaction'\n | 'supportedReactions'\n | 'TypingIndicator'\n | 'TypingIndicatorContainer'\n | 'UrlPreview'\n | 'VideoThumbnail'\n >\n > &\n Partial<\n Pick<ThreadContextValue<StreamChatGenerics>, 'allowThreadMessagesInChannel' | 'thread'>\n > & {\n shouldSyncChannel: boolean;\n /**\n * Additional props passed to keyboard avoiding view\n */\n additionalKeyboardAvoidingViewProps?: Partial<KeyboardAvoidingViewProps>;\n /**\n * Disables the channel UI if the channel is frozen\n */\n disableIfFrozenChannel?: boolean;\n /**\n * When true, disables the KeyboardCompatibleView wrapper\n *\n * Channel internally uses the [KeyboardCompatibleView](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx)\n * component to adjust the height of Channel when the keyboard is opened or dismissed. This prop provides the ability to disable this functionality in case you\n * want to use [KeyboardAvoidingView](https://facebook.github.io/react-native/docs/keyboardavoidingview) or handle dismissal yourself.\n * KeyboardAvoidingView works well when your component occupies 100% of screen height, otherwise it may raise some issues.\n */\n disableKeyboardCompatibleView?: boolean;\n /**\n * Overrides the Stream default mark channel read request (Advanced usage only)\n * @param channel Channel object\n */\n doMarkReadRequest?: (channel: ChannelType<StreamChatGenerics>) => void;\n /**\n * Overrides the Stream default send message request (Advanced usage only)\n * @param channelId\n * @param messageData Message object\n */\n doSendMessageRequest?: (\n channelId: string,\n messageData: StreamMessage<StreamChatGenerics>,\n ) => Promise<SendMessageAPIResponse<StreamChatGenerics>>;\n /**\n * Overrides the Stream default update message request (Advanced usage only)\n * @param channelId\n * @param updatedMessage UpdatedMessage object\n */\n doUpdateMessageRequest?: (\n channelId: string,\n updatedMessage: Parameters<StreamChat<StreamChatGenerics>['updateMessage']>[0],\n ) => ReturnType<StreamChat<StreamChatGenerics>['updateMessage']>;\n /**\n * When true, messageList will be scrolled at first unread message, when opened.\n */\n initialScrollToFirstUnreadMessage?: boolean;\n keyboardBehavior?: KeyboardAvoidingViewProps['behavior'];\n /**\n * Custom wrapper component that handles height adjustment of Channel component when keyboard is opened or dismissed\n * Default component (accepts the same props): [KeyboardCompatibleView](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx)\n *\n * **Example:**\n *\n * ```\n * <Channel\n * channel={channel}\n * KeyboardCompatibleView={(props) => {\n * return (\n * <KeyboardCompatibleView>\n * {props.children}\n * </KeyboardCompatibleView>\n * )\n * }}\n * />\n * ```\n */\n KeyboardCompatibleView?: React.ComponentType<KeyboardAvoidingViewProps>;\n keyboardVerticalOffset?: number;\n /**\n * Custom loading error indicator to override the Stream default\n */\n LoadingErrorIndicator?: React.ComponentType<LoadingErrorProps>;\n maxMessageLength?: number;\n /**\n * Load the channel at a specified message instead of the most recent message.\n */\n messageId?: string;\n newMessageStateUpdateThrottleInterval?: number;\n overrideOwnCapabilities?: Partial<OwnCapabilitiesContextValue>;\n stateUpdateThrottleInterval?: number;\n /**\n * Tells if channel is rendering a thread list\n */\n threadList?: boolean;\n };\n\nconst ChannelWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChannelPropsWithContext<StreamChatGenerics>>,\n) => {\n const {\n additionalKeyboardAvoidingViewProps,\n additionalTextInputProps,\n additionalTouchableProps,\n allowThreadMessagesInChannel = true,\n AttachButton = AttachButtonDefault,\n Attachment = AttachmentDefault,\n AttachmentActions = AttachmentActionsDefault,\n AudioAttachment = AudioAttachmentDefault,\n AutoCompleteSuggestionHeader = AutoCompleteSuggestionHeaderDefault,\n AutoCompleteSuggestionItem = AutoCompleteSuggestionItemDefault,\n AutoCompleteSuggestionList = AutoCompleteSuggestionListDefault,\n autoCompleteSuggestionsLimit,\n autoCompleteTriggerSettings,\n Card = CardDefault,\n CardCover,\n CardFooter,\n CardHeader,\n channel,\n children,\n client,\n CommandsButton = CommandsButtonDefault,\n compressImageQuality,\n CooldownTimer = CooldownTimerDefault,\n DateHeader = DateHeaderDefault,\n deletedMessagesVisibilityType = 'always',\n disableIfFrozenChannel = true,\n disableKeyboardCompatibleView = false,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch = true,\n doDocUploadRequest,\n doImageUploadRequest,\n doMarkReadRequest,\n doSendMessageRequest,\n doUpdateMessageRequest,\n EmptyStateIndicator = EmptyStateIndicatorDefault,\n enableMessageGroupingByUser = true,\n enableOfflineSupport,\n enforceUniqueReaction = false,\n FileAttachment = FileAttachmentDefault,\n FileAttachmentGroup = FileAttachmentGroupDefault,\n FileAttachmentIcon = FileIconDefault,\n FileUploadPreview = FileUploadPreviewDefault,\n FlatList = FlatListDefault,\n forceAlignMessages,\n formatDate,\n Gallery = GalleryDefault,\n getMessagesGroupStyles,\n Giphy = GiphyDefault,\n giphyEnabled,\n giphyVersion = 'fixed_height',\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n hasCommands = true,\n // If pickDocument isn't available, default to hiding the file picker\n hasFilePicker = pickDocument !== null,\n hasImagePicker = true,\n hideDateSeparators = false,\n hideStickyDateHeader = false,\n ImageUploadPreview = ImageUploadPreviewDefault,\n initialScrollToFirstUnreadMessage = false,\n initialValue,\n InlineDateSeparator = InlineDateSeparatorDefault,\n InlineUnreadIndicator = InlineUnreadIndicatorDefault,\n Input,\n InputButtons = InputButtonsDefault,\n InputEditingStateHeader = InputEditingStateHeaderDefault,\n InputGiphySearch = InputGiphyCommandInputDefault,\n InputReplyStateHeader = InputReplyStateHeaderDefault,\n isAttachmentEqual,\n keyboardBehavior,\n KeyboardCompatibleView = KeyboardCompatibleViewDefault,\n keyboardVerticalOffset,\n legacyImageViewerSwipeBehaviour = false,\n LoadingErrorIndicator = LoadingErrorIndicatorDefault,\n LoadingIndicator = LoadingIndicatorDefault,\n loadingMore: loadingMoreProp,\n loadingMoreRecent: loadingMoreRecentProp,\n ImageLoadingFailedIndicator = ImageLoadingFailedIndicatorDefault,\n ImageLoadingIndicator = ImageLoadingIndicatorDefault,\n markdownRules,\n maxMessageLength: maxMessageLengthProp,\n maxNumberOfFiles = 10,\n maxTimeBetweenGroupedMessages,\n mentionAllAppUsersEnabled = false,\n mentionAllAppUsersQuery,\n members,\n Message = MessageDefault,\n messageActions,\n MessageAvatar = MessageAvatarDefault,\n MessageContent = MessageContentDefault,\n messageContentOrder = ['quoted_reply', 'gallery', 'files', 'text', 'attachments'],\n MessageDeleted = MessageDeletedDefault,\n MessageFooter = MessageFooterDefault,\n MessageHeader,\n messageId,\n MessageList = MessageListDefault,\n MessagePinnedHeader = MessagePinnedHeaderDefault,\n MessageReplies = MessageRepliesDefault,\n MessageRepliesAvatars = MessageRepliesAvatarsDefault,\n messages,\n MessageSimple = MessageSimpleDefault,\n MessageStatus = MessageStatusDefault,\n MessageSystem = MessageSystemDefault,\n MessageText,\n MoreOptionsButton = MoreOptionsButtonDefault,\n myMessageTheme,\n newMessageStateUpdateThrottleInterval = defaultThrottleInterval,\n NetworkDownIndicator = NetworkDownIndicatorDefault,\n numberOfLines = 5,\n onChangeText,\n onLongPressMessage,\n overrideOwnCapabilities,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList = OverlayReactionListDefault,\n ReactionList = ReactionListDefault,\n read,\n Reply = ReplyDefault,\n ScrollToBottomButton = ScrollToBottomButtonDefault,\n selectReaction,\n SendButton = SendButtonDefault,\n SendMessageDisallowedIndicator = SendMessageDisallowedIndicatorDefault,\n sendImageAsync = false,\n setInputRef,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n shouldSyncChannel,\n ShowThreadMessageInChannelButton = ShowThreadMessageInChannelButtonDefault,\n stateUpdateThrottleInterval = defaultThrottleInterval,\n StickyHeader,\n supportedReactions = reactionData,\n t,\n thread: threadProps,\n threadList,\n threadMessages,\n typing,\n TypingIndicator = TypingIndicatorDefault,\n TypingIndicatorContainer = TypingIndicatorContainerDefault,\n UploadProgressIndicator = UploadProgressIndicatorDefault,\n UrlPreview = CardDefault,\n VideoThumbnail = VideoThumbnailDefault,\n watcherCount,\n watchers,\n } = props;\n\n const {\n theme: {\n channel: { selectChannel },\n colors: { black },\n },\n } = useTheme();\n const [deleted, setDeleted] = useState(false);\n const [editing, setEditing] = useState<boolean | MessageType<StreamChatGenerics>>(false);\n const [error, setError] = useState<Error | boolean>(false);\n const [hasMore, setHasMore] = useState(true);\n const [lastRead, setLastRead] = useState<ChannelContextValue<StreamChatGenerics>['lastRead']>();\n const [loading, setLoading] = useState(!channel?.state.messages.length);\n const [loadingMore, setLoadingMore] = useState(false);\n\n const [loadingMoreRecent, setLoadingMoreRecent] = useState(false);\n const [quotedMessage, setQuotedMessage] =\n useState<boolean | MessageType<StreamChatGenerics>>(false);\n const [thread, setThread] = useState<ThreadContextValue<StreamChatGenerics>['thread']>(\n threadProps || null,\n );\n const [threadHasMore, setThreadHasMore] = useState(true);\n const [threadLoadingMore, setThreadLoadingMore] = useState(false);\n\n const [syncingChannel, setSyncingChannel] = useState(false);\n\n /**\n * Flag to track if we know for sure that there are no more recent messages to load.\n * This is necessary to avoid unnecessary api calls to load recent messages on pagination.\n */\n const [hasNoMoreRecentMessagesToLoad, setHasNoMoreRecentMessagesToLoad] = useState(true);\n\n const { setTargetedMessage, targetedMessage } = useTargetedMessage();\n\n const channelId = channel?.id || '';\n useEffect(() => {\n const initChannel = () => {\n if (!channel || !shouldSyncChannel || channel.offlineMode) return;\n /**\n * Loading channel at first unread message requires channel to be initialized in the first place,\n * since we use read state on channel to decide what offset to load channel at.\n * Also there is no use case from UX perspective, why one would need loading uninitialized channel at particular message.\n * If the channel is not initiated, then we need to do channel.watch, which is more expensive for backend than channel.query.\n */\n if (!channel.initialized) {\n loadChannel();\n return;\n }\n\n if (messageId) {\n loadChannelAroundMessage({ messageId });\n return;\n }\n\n if (\n initialScrollToFirstUnreadMessage &&\n channel.countUnread() > scrollToFirstUnreadThreshold\n ) {\n loadChannelAtFirstUnreadMessage();\n } else {\n loadChannel();\n }\n };\n\n initChannel();\n\n return () => {\n copyChannelState.cancel();\n copyReadState.cancel();\n copyTypingState.cancel();\n loadMoreFinished.cancel();\n loadMoreThreadFinished.cancel();\n };\n }, [channelId, messageId]);\n\n const threadPropsExists = !!threadProps;\n useEffect(() => {\n if (threadProps && shouldSyncChannel) {\n setThread(threadProps);\n if (channel && threadProps?.id) {\n setThreadMessages(channel.state.threads?.[threadProps.id] || []);\n }\n } else {\n setThread(null);\n }\n }, [threadPropsExists]);\n\n const handleAppBackground = useCallback(() => {\n if (channel) {\n channel.sendEvent({\n parent_id: thread?.id,\n type: 'typing.stop',\n } as StreamEvent<StreamChatGenerics>);\n }\n }, [thread?.id, channelId]);\n\n useAppStateListener(undefined, handleAppBackground);\n\n /**\n * CHANNEL CONSTANTS\n */\n const isAdmin = client?.user?.role === 'admin' || channel?.state.membership.role === 'admin';\n\n const isModerator =\n channel?.state.membership.role === 'channel_moderator' ||\n channel?.state.membership.role === 'moderator';\n\n const isOwner = channel?.state.membership.role === 'owner';\n\n /**\n * CHANNEL METHODS\n */\n const markRead: ChannelContextValue<StreamChatGenerics>['markRead'] = useRef(\n throttle(\n () => {\n if (!channel || channel?.disconnected || !clientChannelConfig?.read_events) {\n return;\n }\n\n if (doMarkReadRequest) {\n doMarkReadRequest(channel);\n } else {\n logChatPromiseExecution(channel.markRead(), 'mark read');\n }\n },\n defaultThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyMessagesState = useRef(\n throttle(\n () => {\n if (channel) {\n setMessages([...channel.state.messages]);\n }\n },\n newMessageStateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyTypingState = useRef(\n throttle(\n () => {\n if (channel) {\n setTyping({ ...channel.state.typing });\n }\n },\n stateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyReadState = useRef(\n throttle(\n () => {\n if (channel) {\n setRead({ ...channel.state.read });\n }\n },\n stateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyChannelState = useRef(\n throttle(\n () => {\n setLoading(false);\n if (channel) {\n setMembers({ ...channel.state.members });\n setMessages([...channel.state.messages]);\n setRead({ ...channel.state.read });\n setTyping({ ...channel.state.typing });\n setWatcherCount(channel.state.watcher_count);\n setWatchers({ ...channel.state.watchers });\n }\n },\n stateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const connectionChangedHandler = () => {\n if (shouldSyncChannel) {\n resyncChannel();\n }\n };\n\n const handleEvent: EventHandler<StreamChatGenerics> = (event) => {\n if (shouldSyncChannel) {\n if (thread) {\n const updatedThreadMessages =\n (thread.id && channel && channel.state.threads[thread.id]) || threadMessages;\n setThreadMessages(updatedThreadMessages);\n }\n\n if (channel && thread && event.message?.id === thread.id) {\n const updatedThread = channel.state.formatMessage(event.message);\n setThread(updatedThread);\n }\n\n if (event.type === 'typing.start' || event.type === 'typing.stop') {\n copyTypingState();\n } else if (event.type === 'message.read') {\n copyReadState();\n } else if (event.type === 'message.new') {\n copyMessagesState();\n } else if (channel) {\n copyChannelState();\n }\n }\n };\n\n useEffect(() => {\n const channelSubscriptions: Array<ReturnType<ChannelType['on']>> = [];\n const clientSubscriptions: Array<ReturnType<StreamChat['on']>> = [];\n\n if (!channel) return;\n\n clientSubscriptions.push(\n client.on('channel.deleted', (event) => {\n if (event.cid === channel.cid) {\n setDeleted(true);\n }\n }),\n );\n\n if (enableOfflineSupport) {\n clientSubscriptions.push(DBSyncManager.onSyncStatusChange(connectionChangedHandler));\n } else {\n clientSubscriptions.push(\n client.on('connection.changed', (event) => {\n if (event.online) {\n connectionChangedHandler();\n }\n }),\n );\n }\n\n channelSubscriptions.push(channel.on(handleEvent));\n\n return () => {\n clientSubscriptions.forEach((s) => s.unsubscribe());\n channelSubscriptions.forEach((s) => s.unsubscribe());\n };\n }, [channelId, connectionChangedHandler, handleEvent]);\n\n const channelQueryCallRef = useRef(\n async (\n queryCall: () => Promise<void>,\n onAfterQueryCall: (() => void) | undefined = undefined,\n ) => {\n setError(false);\n try {\n await queryCall();\n setLastRead(new Date());\n setHasMore(true);\n copyChannelState();\n onAfterQueryCall?.();\n } catch (err) {\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoading(false);\n setLastRead(new Date());\n }\n },\n );\n\n /**\n * Loads channel at first unread message.\n */\n const loadChannelAtFirstUnreadMessage = () => {\n if (!channel) return;\n const unreadCount = channel.countUnread();\n if (unreadCount <= scrollToFirstUnreadThreshold) return;\n // temporarily clear existing messages so that messageList component gets a list change and does not scroll to any unread message first before loading completes\n setMessages([]);\n // query for messages around the last read date\n return channelQueryCallRef.current(async () => {\n setLoading(true);\n const lastReadDate = channel.lastRead() || new Date(0);\n await channel.query({\n messages: {\n created_at_around: lastReadDate,\n limit: 25,\n },\n });\n setLoading(false);\n });\n };\n\n /**\n * Loads channel around a specific message\n *\n * @param messageId If undefined, channel will be loaded at most recent message.\n */\n const loadChannelAroundMessage: ChannelContextValue<StreamChatGenerics>['loadChannelAroundMessage'] =\n ({ messageId }) =>\n channelQueryCallRef.current(\n async () => {\n setHasNoMoreRecentMessagesToLoad(false); // we are jumping to a message, hence we do not know for sure anymore if there are no more recent messages\n setLoading(true);\n if (messageId) {\n await channel.state.loadMessageIntoState(messageId);\n } else {\n await channel.state.loadMessageIntoState('latest');\n channel.state.setIsUpToDate(true);\n }\n setLoading(false);\n },\n () => {\n if (messageId) {\n setTargetedMessage(messageId);\n }\n },\n );\n\n /**\n * @deprecated use loadChannelAroundMessage instead\n *\n * Loads channel at specific message\n *\n * @param messageId If undefined, channel will be loaded at most recent message.\n * @param before Number of message to query before messageId\n * @param after Number of message to query after messageId\n */\n const loadChannelAtMessage: ChannelContextValue<StreamChatGenerics>['loadChannelAtMessage'] = ({\n after = 2,\n before = 30,\n messageId,\n }) =>\n channelQueryCallRef.current(async () => {\n await queryAtMessage({ after, before, messageId });\n\n if (messageId) {\n setTargetedMessage(messageId);\n }\n });\n\n const loadChannel = () =>\n channelQueryCallRef.current(async () => {\n if (!channel?.initialized || !channel.state.isUpToDate) {\n await channel?.watch();\n setHasNoMoreRecentMessagesToLoad(true);\n channel?.state.setIsUpToDate(true);\n } else {\n await channel.state.loadMessageIntoState('latest');\n }\n return;\n });\n\n const reloadThread = async () => {\n if (!channel || !thread?.id) return;\n setThreadLoadingMore(true);\n try {\n const parentID = thread.id;\n\n const limit = 50;\n channel.state.threads[parentID] = [];\n const queryResponse = await channel.getReplies(parentID, {\n limit,\n });\n\n const updatedHasMore = queryResponse.messages.length === limit;\n const updatedThreadMessages = channel.state.threads[parentID] || [];\n loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);\n const { messages } = await channel.getMessagesById([parentID]);\n const [threadMessage] = messages;\n if (threadMessage) {\n const formattedMessage = channel.state.formatMessage(threadMessage);\n setThread(formattedMessage);\n }\n } catch (err) {\n console.warn('Thread loading request failed with error', err);\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setThreadLoadingMore(false);\n throw err;\n }\n };\n\n const resyncChannel = async () => {\n if (!channel || syncingChannel) return;\n setSyncingChannel(true);\n\n setError(false);\n try {\n /**\n * Allow a buffer of 30 new messages, so that MessageList won't move its scroll position,\n * giving smooth user experience.\n */\n const state = await channel.watch({\n messages: {\n limit: messages.length + 30,\n },\n });\n\n const oldListTopMessage = messages[0];\n const oldListTopMessageId = messages[0]?.id;\n const oldListBottomMessage = messages[messages.length - 1];\n\n const newListTopMessage = state.messages[0];\n const newListBottomMessage = state.messages[state.messages.length - 1];\n\n if (\n !oldListTopMessage || // previous list was empty\n !oldListBottomMessage || // previous list was empty\n !newListTopMessage || // new list is truncated\n !newListBottomMessage // new list is truncated\n ) {\n /** Channel was truncated */\n channel.state.clearMessages();\n channel.state.setIsUpToDate(true);\n channel.state.addMessagesSorted(state.messages);\n copyChannelState();\n return;\n }\n\n const parseMessage = (message: typeof oldListTopMessage) =>\n ({\n ...message,\n created_at: message.created_at.toString(),\n pinned_at: message.pinned_at?.toString(),\n updated_at: message.updated_at?.toString(),\n } as unknown as MessageResponse<StreamChatGenerics>);\n\n const failedMessages = messages\n .filter((message) => message.status === MessageStatusTypes.FAILED)\n .map(parseMessage);\n\n const failedThreadMessages = thread\n ? threadMessages\n .filter((message) => message.status === MessageStatusTypes.FAILED)\n .map(parseMessage)\n : [];\n\n const oldListTopMessageCreatedAt = oldListTopMessage.created_at;\n const oldListBottomMessageCreatedAt = oldListBottomMessage.created_at;\n const newListTopMessageCreatedAt = newListTopMessage.created_at\n ? new Date(newListTopMessage.created_at)\n : new Date();\n const newListBottomMessageCreatedAt = newListBottomMessage?.created_at\n ? new Date(newListBottomMessage.created_at)\n : new Date();\n\n let finalMessages = [];\n\n if (\n oldListTopMessage &&\n oldListTopMessageCreatedAt &&\n oldListBottomMessageCreatedAt &&\n newListTopMessageCreatedAt < oldListTopMessageCreatedAt &&\n newListBottomMessageCreatedAt >= oldListBottomMessageCreatedAt\n ) {\n const index = state.messages.findIndex((message) => message.id === oldListTopMessageId);\n finalMessages = state.messages.slice(index);\n } else {\n finalMessages = state.messages;\n }\n\n setHasNoMoreRecentMessagesToLoad(true);\n channel.state.setIsUpToDate(true);\n\n channel.state.clearMessages();\n channel.state.addMessagesSorted(finalMessages);\n\n setHasMore(true);\n copyChannelState();\n\n if (failedMessages.length) {\n channel.state.addMessagesSorted(failedMessages);\n copyChannelState();\n }\n\n await reloadThread();\n\n if (thread && failedThreadMessages.length) {\n channel.state.addMessagesSorted(failedThreadMessages);\n setThreadMessages([...channel.state.threads[thread.id]]);\n }\n } catch (err) {\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoading(false);\n }\n\n setSyncingChannel(false);\n };\n\n const reloadChannel = () =>\n channelQueryCallRef.current(async () => {\n setLoading(true);\n await channel.state.loadMessageIntoState('latest');\n setLoading(false);\n setHasNoMoreRecentMessagesToLoad(true);\n channel?.state.setIsUpToDate(true);\n });\n\n /**\n * @deprecated\n * Makes a query to load messages at particular message id.\n *\n * @param messageId Targeted message id\n * @param before Number of messages to load before messageId\n * @param after Number of messages to load after messageId\n */\n const queryAtMessage = async ({\n after = 10,\n before = 10,\n messageId,\n }: Parameters<ChannelContextValue<StreamChatGenerics>['loadChannelAtMessage']>[0]) => {\n if (!channel) return;\n channel.state.setIsUpToDate(false);\n channel.state.clearMessages();\n setMessages([...channel.state.messages]);\n if (!messageId) {\n await channel.query({\n messages: {\n limit: before,\n },\n watch: true,\n });\n\n channel.state.setIsUpToDate(true);\n return;\n }\n\n await queryBeforeMessage(messageId, before);\n await queryAfterMessage(messageId, after);\n };\n\n /**\n * @deprecated\n * Makes a query to load messages before particular message id.\n *\n * @param messageId Targeted message id\n * @param limit Number of messages to load\n */\n const queryBeforeMessage = async (messageId: string, limit = 5) => {\n if (!channel) return;\n\n await channel.query({\n messages: {\n id_lt: messageId,\n limit,\n },\n watch: true,\n });\n\n channel.state.setIsUpToDate(false);\n };\n\n /**\n * @deprecated\n * Makes a query to load messages later than particular message id.\n *\n * @param messageId Targeted message id\n * @param limit Number of messages to load.\n */\n const queryAfterMessage = async (messageId: string, limit = 5) => {\n if (!channel) return;\n const state = await channel.query({\n messages: {\n id_gte: messageId,\n limit,\n },\n watch: true,\n });\n\n if (state.messages.length < limit) {\n channel.state.setIsUpToDate(true);\n } else {\n channel.state.setIsUpToDate(false);\n }\n };\n\n // In case the channel is disconnected which may happen when channel is deleted,\n // underlying js client throws an error. Following function ensures that Channel component\n // won't result in error in such a case.\n const getChannelConfigSafely = () => {\n try {\n return channel?.getConfig();\n } catch (_) {\n return null;\n }\n };\n\n /**\n * Channel configs for use in disabling local functionality.\n * Nullish coalescing is used to give first priority to props to override\n * the server settings. Then priority to server settings to override defaults.\n */\n const clientChannelConfig = getChannelConfigSafely();\n\n /**\n * MESSAGE METHODS\n */\n\n const updateMessage: MessagesContextValue<StreamChatGenerics>['updateMessage'] = (\n updatedMessage,\n extraState = {},\n ) => {\n if (channel) {\n channel.state.addMessageSorted(updatedMessage, true);\n if (thread && updatedMessage.parent_id) {\n extraState.threadMessages = channel.state.threads[updatedMessage.parent_id] || [];\n setThreadMessages(extraState.threadMessages);\n }\n\n setMessages([...channel.state.messages]);\n }\n };\n\n const replaceMessage = (\n oldMessage: MessageResponse<StreamChatGenerics>,\n newMessage: MessageResponse<StreamChatGenerics>,\n ) => {\n if (channel) {\n channel.state.removeMessage(oldMessage);\n channel.state.addMessageSorted(newMessage, true);\n if (thread && newMessage.parent_id) {\n const threadMessages = channel.state.threads[newMessage.parent_id] || [];\n setThreadMessages(threadMessages);\n }\n setMessages(channel.state.messages);\n }\n };\n\n const createMessagePreview = ({\n attachments,\n mentioned_users,\n parent_id,\n text,\n ...extraFields\n }: Partial<StreamMessage<StreamChatGenerics>>) => {\n // Exclude following properties from message.user within message preview,\n // since they could be long arrays and have no meaning as sender of message.\n // Storing such large value within user's table may cause sqlite queries to crash.\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { channel_mutes, devices, mutes, ...messageUser } = client.user;\n\n const preview = {\n __html: text,\n attachments,\n created_at: new Date(),\n html: text,\n id: `${client.userID}-${generateRandomId()}`,\n mentioned_users:\n mentioned_users?.map((userId) => ({\n id: userId,\n })) || [],\n parent_id,\n reactions: [],\n status: MessageStatusTypes.SENDING,\n text,\n type: 'regular',\n user: {\n id: client.userID,\n ...messageUser,\n },\n ...extraFields,\n } as unknown as MessageResponse<StreamChatGenerics>;\n\n /**\n * This is added to the message for local rendering prior to the message\n * being returned from the backend, it is removed when the message is sent\n * as quoted_message is a reserved field.\n */\n if (preview.quoted_message_id) {\n const quotedMessage = messages.find((message) => message.id === preview.quoted_message_id);\n\n preview.quoted_message =\n quotedMessage as MessageResponse<StreamChatGenerics>['quoted_message'];\n }\n return preview;\n };\n\n const uploadPendingAttachments = async (message: MessageResponse<StreamChatGenerics>) => {\n const updatedMessage = { ...message };\n if (updatedMessage.attachments?.length) {\n for (let i = 0; i < updatedMessage.attachments?.length; i++) {\n const attachment = updatedMessage.attachments[i];\n const file = attachment.originalFile;\n // check if image_url is not a remote url\n if (\n attachment.type === 'image' &&\n file?.uri &&\n attachment.image_url &&\n isLocalUrl(attachment.image_url)\n ) {\n const filename = file.uri.replace(/^(file:\\/\\/|content:\\/\\/|assets-library:\\/\\/)/, '');\n const contentType = lookup(filename) || 'multipart/form-data';\n\n const uploadResponse = doImageUploadRequest\n ? await doImageUploadRequest(file, channel)\n : await channel.sendImage(file?.uri, filename, contentType);\n\n attachment.image_url = uploadResponse.file;\n delete attachment.originalFile;\n\n dbApi.updateMessage({\n message: { ...updatedMessage, cid: channel.cid },\n });\n }\n\n if (\n (attachment.type === 'file' ||\n attachment.type === 'audio' ||\n attachment.type === 'video') &&\n attachment.asset_url &&\n isLocalUrl(attachment.asset_url) &&\n file?.uri\n ) {\n const response = doDocUploadRequest\n ? await doDocUploadRequest(file, channel)\n : await channel.sendFile(file.uri, file.name, file.type);\n attachment.asset_url = response.file;\n if (response.thumb_url) {\n attachment.thumb_url = response.thumb_url;\n }\n delete attachment.originalFile;\n dbApi.updateMessage({\n message: { ...updatedMessage, cid: channel.cid },\n });\n }\n }\n }\n\n return updatedMessage;\n };\n\n const sendMessageRequest = async (\n message: MessageResponse<StreamChatGenerics>,\n retrying?: boolean,\n ) => {\n try {\n const updatedMessage = await uploadPendingAttachments(message);\n const {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n __html,\n attachments,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n created_at,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n deleted_at,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n html,\n id,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n latest_reactions,\n mentioned_users,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n own_reactions,\n parent_id,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n quoted_message,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n reaction_counts,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n reactions,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n status,\n text,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n type,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n updated_at,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n user,\n ...extraFields\n } = updatedMessage;\n if (!channel.id) return;\n\n const mentionedUserIds = mentioned_users?.map((user) => user.id) || [];\n\n const messageData = {\n attachments,\n id,\n mentioned_users: mentionedUserIds,\n parent_id,\n text: patchMessageTextCommand(text ?? '', mentionedUserIds),\n ...extraFields,\n } as StreamMessage<StreamChatGenerics>;\n\n let messageResponse = {} as SendMessageAPIResponse<StreamChatGenerics>;\n if (doSendMessageRequest) {\n messageResponse = await doSendMessageRequest(channel?.cid || '', messageData);\n } else if (channel) {\n messageResponse = await channel.sendMessage(messageData);\n }\n\n if (messageResponse.message) {\n messageResponse.message.status = MessageStatusTypes.RECEIVED;\n\n if (enableOfflineSupport) {\n dbApi.updateMessage({\n message: { ...messageResponse.message, cid: channel.cid },\n });\n }\n if (retrying) {\n replaceMessage(message, messageResponse.message);\n } else {\n updateMessage(messageResponse.message);\n }\n }\n } catch (err) {\n console.log(err);\n message.status = MessageStatusTypes.FAILED;\n updateMessage({ ...message, cid: channel.cid });\n\n if (enableOfflineSupport) {\n dbApi.updateMessage({\n message: { ...message, cid: channel.cid },\n });\n }\n }\n };\n\n const sendMessage: InputMessageInputContextValue<StreamChatGenerics>['sendMessage'] = async (\n message,\n ) => {\n if (channel?.state?.filterErrorMessages) {\n channel.state.filterErrorMessages();\n }\n\n const messagePreview = createMessagePreview({\n ...message,\n attachments: message.attachments || [],\n });\n\n if (!channel?.state.isUpToDate) {\n await reloadChannel();\n }\n\n updateMessage(messagePreview, {\n commands: [],\n messageInput: '',\n });\n\n if (enableOfflineSupport) {\n // While sending a message, we add the message to local db with failed status, so that\n // if app gets closed before message gets sent and next time user opens the app\n // then user can see that message in failed state and can retry.\n // If succesfull, it will be updated with received status.\n dbApi.upsertMessages({\n messages: [{ ...messagePreview, cid: channel.cid, status: MessageStatusTypes.FAILED }],\n });\n }\n\n await sendMessageRequest(messagePreview);\n };\n\n const retrySendMessage: MessagesContextValue<StreamChatGenerics>['retrySendMessage'] = async (\n message,\n ) => {\n const statusPendingMessage = {\n ...message,\n status: MessageStatusTypes.SENDING,\n };\n\n updateMessage(statusPendingMessage);\n\n await sendMessageRequest(statusPendingMessage, true);\n };\n\n // hard limit to prevent you from scrolling faster than 1 page per 2 seconds\n const loadMoreFinished = useRef(\n debounce(\n (updatedHasMore: boolean, newMessages: ChannelState<StreamChatGenerics>['messages']) => {\n setLoadingMore(false);\n setError(false);\n setHasMore(updatedHasMore);\n setMessages(newMessages);\n },\n defaultDebounceInterval,\n debounceOptions,\n ),\n ).current;\n\n const loadMore: PaginatedMessageListContextValue<StreamChatGenerics>['loadMore'] = async (\n limit = 20,\n ) => {\n if (loadingMore || hasMore === false) {\n return;\n }\n setLoadingMore(true);\n\n if (!messages.length) {\n return setLoadingMore(false);\n }\n\n const oldestMessage = messages && messages[0];\n\n if (oldestMessage && oldestMessage.status !== MessageStatusTypes.RECEIVED) {\n return setLoadingMore(false);\n }\n\n const oldestID = oldestMessage && oldestMessage.id;\n\n try {\n if (channel) {\n const queryResponse = await channel.query({\n messages: { id_lt: oldestID, limit },\n });\n\n const updatedHasMore = queryResponse.messages.length === limit;\n loadMoreFinished(updatedHasMore, channel.state.messages);\n }\n } catch (err) {\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoadingMore(false);\n throw err;\n }\n };\n\n const loadMoreRecent: PaginatedMessageListContextValue<StreamChatGenerics>['loadMoreRecent'] =\n async (limit = 5) => {\n if (hasNoMoreRecentMessagesToLoad) {\n return;\n }\n\n setLoadingMoreRecent(true);\n\n const recentMessage = messages[messages.length - 1];\n\n if (recentMessage?.status !== MessageStatusTypes.RECEIVED) {\n setLoadingMoreRecent(false);\n return;\n }\n\n try {\n if (channel) {\n const state = await channel.query({\n messages: {\n id_gte: recentMessage.id,\n limit,\n },\n watch: true,\n });\n setHasNoMoreRecentMessagesToLoad(state.messages.length < limit);\n loadMoreRecentFinished(channel.state.messages);\n }\n } catch (err) {\n console.warn('Message pagination request failed with error', err);\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoadingMoreRecent(false);\n throw err;\n }\n };\n\n // hard limit to prevent you from scrolling faster than 1 page per 2 seconds\n const loadMoreRecentFinished = useRef(\n debounce(\n (newMessages: ChannelState<StreamChatGenerics>['messages']) => {\n setLoadingMoreRecent(false);\n setMessages(newMessages);\n setError(false);\n },\n defaultDebounceInterval,\n debounceOptions,\n ),\n ).current;\n\n const editMessage: InputMessageInputContextValue<StreamChatGenerics>['editMessage'] = (\n updatedMessage,\n ) =>\n doUpdateMessageRequest\n ? doUpdateMessageRequest(channel?.cid || '', updatedMessage)\n : client.updateMessage(updatedMessage);\n\n const setEditingState: MessagesContextValue<StreamChatGenerics>['setEditingState'] = (\n message,\n ) => {\n setEditing(message);\n };\n\n const setQuotedMessageState: MessagesContextValue<StreamChatGenerics>['setQuotedMessageState'] = (\n message,\n ) => {\n setQuotedMessage(message);\n };\n\n const clearEditingState: InputMessageInputContextValue<StreamChatGenerics>['clearEditingState'] =\n () => setEditing(false);\n\n const clearQuotedMessageState: InputMessageInputContextValue<StreamChatGenerics>['clearQuotedMessageState'] =\n () => setQuotedMessage(false);\n\n const removeMessage: MessagesContextValue<StreamChatGenerics>['removeMessage'] = (message) => {\n if (channel) {\n channel.state.removeMessage(message);\n setMessages(channel.state.messages);\n if (thread) {\n setThreadMessages(channel.state.threads[thread.id] || []);\n }\n }\n\n if (enableOfflineSupport) {\n dbApi.deleteMessage({\n id: message.id,\n });\n }\n };\n\n const sendReaction = async (type: string, messageId: string) => {\n if (!channel?.id || !client.user) {\n throw new Error('Channel has not been initialized');\n }\n\n const payload: Parameters<ChannelClass<StreamChatGenerics>['sendReaction']> = [\n messageId,\n {\n type,\n } as Reaction<StreamChatGenerics>,\n { enforce_unique: enforceUniqueReaction },\n ];\n\n if (!enableOfflineSupport) {\n await channel.sendReaction(...payload);\n return;\n }\n\n addReactionToLocalState<StreamChatGenerics>({\n channel,\n enforceUniqueReaction,\n messageId,\n reactionType: type,\n user: client.user,\n });\n\n setMessages(channel.state.messages);\n\n await DBSyncManager.queueTask<StreamChatGenerics>({\n client,\n task: {\n channelId: channel.id,\n channelType: channel.type,\n messageId,\n payload,\n type: 'send-reaction',\n },\n });\n };\n const deleteMessage: MessagesContextValue<StreamChatGenerics>['deleteMessage'] = async (\n message,\n ) => {\n if (!channel.id) {\n throw new Error('Channel has not been initialized yet');\n }\n\n if (!enableOfflineSupport) {\n await client.deleteMessage(message.id);\n return;\n }\n\n if (message.status === MessageStatusTypes.FAILED) {\n DBSyncManager.dropPendingTasks({ messageId: message.id });\n removeMessage(message);\n } else {\n updateMessage({\n ...message,\n cid: channel.cid,\n deleted_at: new Date().toISOString(),\n type: 'deleted',\n });\n\n const data = await DBSyncManager.queueTask<StreamChatGenerics>({\n client,\n task: {\n channelId: channel.id,\n channelType: channel.type,\n messageId: message.id,\n payload: [message.id],\n type: 'delete-message',\n },\n });\n\n if (data?.message) {\n updateMessage({ ...data.message });\n }\n }\n };\n\n const deleteReaction: MessagesContextValue<StreamChatGenerics>['deleteReaction'] = async (\n type: string,\n messageId: string,\n ) => {\n if (!channel?.id || !client.user) {\n throw new Error('Channel has not been initialized');\n }\n\n const payload: Parameters<ChannelClass['deleteReaction']> = [messageId, type];\n\n if (!enableOfflineSupport) {\n await channel.deleteReaction(...payload);\n return;\n }\n\n removeReactionFromLocalState({\n channel,\n messageId,\n reactionType: type,\n user: client.user,\n });\n\n setMessages(channel.state.messages);\n\n await DBSyncManager.queueTask<StreamChatGenerics>({\n client,\n task: {\n channelId: channel.id,\n channelType: channel.type,\n messageId,\n payload,\n type: 'delete-reaction',\n },\n });\n };\n\n /**\n * THREAD METHODS\n */\n const openThread: ThreadContextValue<StreamChatGenerics>['openThread'] = (message) => {\n const newThreadMessages = message?.id ? channel?.state?.threads[message.id] || [] : [];\n setThread(message);\n setThreadMessages(newThreadMessages);\n };\n\n const closeThread: ThreadContextValue<StreamChatGenerics>['closeThread'] = useCallback(() => {\n setThread(null);\n setThreadMessages([]);\n }, [setThread, setThreadMessages]);\n\n // hard limit to prevent you from scrolling faster than 1 page per 2 seconds\n const loadMoreThreadFinished = useRef(\n debounce(\n (\n newThreadHasMore: boolean,\n updatedThreadMessages: ChannelState<StreamChatGenerics>['threads'][string],\n ) => {\n setThreadHasMore(newThreadHasMore);\n setThreadLoadingMore(false);\n setThreadMessages(updatedThreadMessages);\n },\n defaultDebounceInterval,\n debounceOptions,\n ),\n ).current;\n\n const loadMoreThread: ThreadContextValue<StreamChatGenerics>['loadMoreThread'] = async () => {\n if (threadLoadingMore || !thread?.id) {\n return;\n }\n setThreadLoadingMore(true);\n\n try {\n if (channel) {\n const parentID = thread.id;\n\n /**\n * In the channel is re-initializing, then threads may get wiped out during the process\n * (check `addMessagesSorted` method on channel.state). In those cases, we still want to\n * preserve the messages on active thread, so lets simply copy messages from UI state to\n * `channel.state`.\n */\n channel.state.threads[parentID] = threadMessages;\n const oldestMessageID = threadMessages?.[0]?.id;\n\n const limit = 50;\n const queryResponse = await channel.getReplies(parentID, {\n id_lt: oldestMessageID,\n limit,\n });\n\n const updatedHasMore = queryResponse.messages.length === limit;\n const updatedThreadMessages = channel.state.threads[parentID] || [];\n loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);\n }\n } catch (err) {\n console.warn('Message pagination request failed with error', err);\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setThreadLoadingMore(false);\n throw err;\n }\n };\n\n const ownCapabilitiesContext = useCreateOwnCapabilitiesContext({\n channel,\n overrideCapabilities: overrideOwnCapabilities,\n });\n\n const channelContext = useCreateChannelContext({\n channel,\n disabled: !!channel?.data?.frozen && disableIfFrozenChannel,\n EmptyStateIndicator,\n enableMessageGroupingByUser,\n enforceUniqueReaction,\n error,\n giphyEnabled:\n giphyEnabled ??\n !!(clientChannelConfig?.commands || [])?.some((command) => command.name === 'giphy'),\n hideDateSeparators,\n hideStickyDateHeader,\n isAdmin,\n isChannelActive: shouldSyncChannel,\n isModerator,\n isOwner,\n lastRead,\n loadChannelAroundMessage,\n loadChannelAtMessage,\n loading,\n LoadingIndicator,\n markRead,\n maxTimeBetweenGroupedMessages,\n members,\n NetworkDownIndicator,\n read,\n reloadChannel,\n scrollToFirstUnreadThreshold,\n setLastRead,\n setTargetedMessage,\n StickyHeader,\n targetedMessage,\n threadList,\n watcherCount,\n watchers,\n });\n\n const inputMessageInputContext = useCreateInputMessageInputContext<StreamChatGenerics>({\n additionalTextInputProps,\n AttachButton,\n autoCompleteSuggestionsLimit,\n autoCompleteTriggerSettings,\n channelId,\n clearEditingState,\n clearQuotedMessageState,\n CommandsButton,\n compressImageQuality,\n CooldownTimer,\n doDocUploadRequest,\n doImageUploadRequest,\n editing,\n editMessage,\n FileUploadPreview,\n hasCommands,\n hasFilePicker,\n hasImagePicker,\n ImageUploadPreview,\n initialValue,\n Input,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n maxMessageLength: maxMessageLengthProp ?? clientChannelConfig?.max_message_length ?? undefined,\n maxNumberOfFiles,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n MoreOptionsButton,\n numberOfLines,\n onChangeText,\n quotedMessage,\n SendButton,\n sendImageAsync,\n sendMessage,\n SendMessageDisallowedIndicator,\n setInputRef,\n setQuotedMessageState,\n ShowThreadMessageInChannelButton,\n UploadProgressIndicator,\n });\n\n const messageListContext = useCreatePaginatedMessageListContext({\n channelId,\n hasMore,\n hasNoMoreRecentMessagesToLoad,\n loadingMore: loadingMoreProp !== undefined ? loadingMoreProp : loadingMore,\n loadingMoreRecent:\n loadingMoreRecentProp !== undefined ? loadingMoreRecentProp : loadingMoreRecent,\n loadMore,\n loadMoreRecent,\n messages,\n setLoadingMore,\n setLoadingMoreRecent,\n });\n\n const messagesContext = useCreateMessagesContext({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n AudioAttachment,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n channelId,\n DateHeader,\n deletedMessagesVisibilityType,\n deleteMessage,\n deleteReaction,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n getMessagesGroupStyles,\n Giphy,\n giphyVersion,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n initialScrollToFirstUnreadMessage: !messageId && initialScrollToFirstUnreadMessage, // when messageId is set, we scroll to the messageId instead of first unread\n InlineDateSeparator,\n InlineUnreadIndicator,\n isAttachmentEqual,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n sendReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n VideoThumbnail,\n });\n\n const suggestionsContext = {\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n AutoCompleteSuggestionList,\n };\n\n const threadContext = useCreateThreadContext({\n allowThreadMessagesInChannel,\n closeThread,\n loadMoreThread,\n openThread,\n reloadThread,\n setThreadLoadingMore,\n thread,\n threadHasMore,\n threadLoadingMore,\n threadMessages,\n });\n\n const typingContext = useCreateTypingContext({\n typing,\n });\n\n // TODO: replace the null view with appropriate message. Currently this is waiting a design decision.\n if (deleted) return null;\n\n if (!channel || (error && messages.length === 0)) {\n return <LoadingErrorIndicator error={error} listType='message' retry={reloadChannel} />;\n }\n\n if (!channel?.cid || !channel.watch) {\n return (\n <Text style={[styles.selectChannel, { color: black }, selectChannel]} testID='no-channel'>\n {t('Please select a channel first')}\n </Text>\n );\n }\n\n return (\n <KeyboardCompatibleView\n behavior={keyboardBehavior}\n enabled={!disableKeyboardCompatibleView}\n keyboardVerticalOffset={keyboardVerticalOffset}\n {...additionalKeyboardAvoidingViewProps}\n >\n <ChannelProvider<StreamChatGenerics> value={channelContext}>\n <OwnCapabilitiesProvider value={ownCapabilitiesContext}>\n <TypingProvider<StreamChatGenerics> value={typingContext}>\n <PaginatedMessageListProvider<StreamChatGenerics> value={messageListContext}>\n <MessagesProvider<StreamChatGenerics> value={messagesContext}>\n <ThreadProvider<StreamChatGenerics> value={threadContext}>\n <SuggestionsProvider<StreamChatGenerics> value={suggestionsContext}>\n <MessageInputProvider<StreamChatGenerics> value={inputMessageInputContext}>\n <View style={{ height: '100%' }}>{children}</View>\n </MessageInputProvider>\n </SuggestionsProvider>\n </ThreadProvider>\n </MessagesProvider>\n </PaginatedMessageListProvider>\n </TypingProvider>\n </OwnCapabilitiesProvider>\n </ChannelProvider>\n </KeyboardCompatibleView>\n );\n};\n\nexport type ChannelProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ChannelPropsWithContext<StreamChatGenerics>, 'channel'>> &\n Pick<ChannelPropsWithContext<StreamChatGenerics>, 'channel'>;\n\n/**\n *\n * The wrapper component for a chat channel. Channel needs to be placed inside a Chat component\n * to receive the StreamChat client instance. MessageList, Thread, and MessageInput must be\n * children of the Channel component to receive the ChannelContext.\n *\n * @example ./Channel.md\n */\nexport const Channel = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChannelProps<StreamChatGenerics>>,\n) => {\n const { client, enableOfflineSupport } = useChatContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n const shouldSyncChannel = props.thread?.id ? !!props.threadList : true;\n\n const {\n members,\n messages,\n read,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n threadMessages,\n typing,\n watcherCount,\n watchers,\n } = useChannelState<StreamChatGenerics>(\n props.channel,\n props.threadList ? props.thread?.id : undefined,\n );\n\n return (\n <ChannelWithContext<StreamChatGenerics>\n {...{\n client,\n enableOfflineSupport,\n t,\n }}\n {...props}\n shouldSyncChannel={shouldSyncChannel}\n {...{\n members,\n messages: props.messages || messages,\n read,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n threadMessages,\n typing,\n watcherCount,\n watchers,\n }}\n />\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_debounce","_interopRequireDefault","_throttle","_mimeTypes","_streamChat","_useCreateChannelContext","_useCreateInputMessageInputContext","_useCreateMessagesContext","_useCreateOwnCapabilitiesContext","_useCreatePaginatedMessageListContext","_useCreateThreadContext","_useCreateTypingContext","_useTargetedMessage2","_ChannelContext","_useChannelState2","_ChatContext","_MessageInputContext","_MessagesContext","_OwnCapabilitiesContext","_PaginatedMessageListContext","_SuggestionsContext","_ThemeContext","_ThreadContext","_TranslationContext","_TypingContext","_useAppStateListener","_icons","_native","dbApi","_addReactionToLocalState","_DBSyncManager","_patchMessageTextCommand","_removeReactionFromLocalState","_utils","_Attachment","_AttachmentActions","_AudioAttachment","_Card","_FileAttachment","_FileAttachmentGroup","_FileIcon","_Gallery","_Giphy","_ImageLoadingFailedIndicator","_ImageLoadingIndicator","_VideoThumbnail","_AutoCompleteSuggestionHeader","_AutoCompleteSuggestionItem","_AutoCompleteSuggestionList","_EmptyStateIndicator","_LoadingErrorIndicator","_LoadingIndicator","_KeyboardCompatibleView","_Message","_MessageAvatar","_MessageContent","_MessageDeleted","_MessageFooter","_MessagePinnedHeader","_MessageReplies","_MessageRepliesAvatars","_MessageSimple","_MessageStatus","_ReactionList","_AttachButton","_CommandsButton","_InputEditingStateHeader","_InputGiphySearch","_InputReplyStateHeader","_CooldownTimer","_FileUploadPreview","_ImageUploadPreview","_InputButtons","_MoreOptionsButton","_SendButton","_SendMessageDisallowedIndicator","_ShowThreadMessageInChannelButton","_UploadProgressIndicator","_DateHeader","_InlineDateSeparator","_InlineUnreadIndicator","_MessageList","_MessageSystem","_NetworkDownIndicator","_ScrollToBottomButton","_TypingIndicator","_TypingIndicatorContainer","_OverlayReactionList","_Reply","_excluded","_excluded2","_excluded3","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","selectChannel","fontWeight","padding","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","exports","scrollToFirstUnreadThreshold","defaultThrottleInterval","defaultDebounceInterval","throttleOptions","leading","trailing","debounceOptions","ChannelWithContext","props","_client$user","_channel$data","_ref26","_ref27","additionalKeyboardAvoidingViewProps","additionalTextInputProps","additionalTouchableProps","_props$allowThreadMes","allowThreadMessagesInChannel","_props$AttachButton","AttachButton","AttachButtonDefault","_props$Attachment","Attachment","AttachmentDefault","_props$AttachmentActi","AttachmentActions","AttachmentActionsDefault","_props$AudioAttachmen","AudioAttachment","AudioAttachmentDefault","_props$AutoCompleteSu","AutoCompleteSuggestionHeader","AutoCompleteSuggestionHeaderDefault","_props$AutoCompleteSu2","AutoCompleteSuggestionItem","AutoCompleteSuggestionItemDefault","_props$AutoCompleteSu3","AutoCompleteSuggestionList","AutoCompleteSuggestionListDefault","autoCompleteSuggestionsLimit","autoCompleteTriggerSettings","_props$Card","Card","CardDefault","CardCover","CardFooter","CardHeader","channel","children","client","_props$CommandsButton","CommandsButton","CommandsButtonDefault","compressImageQuality","_props$CooldownTimer","CooldownTimer","CooldownTimerDefault","_props$DateHeader","DateHeader","DateHeaderDefault","_props$deletedMessage","deletedMessagesVisibilityType","_props$disableIfFroze","disableIfFrozenChannel","_props$disableKeyboar","disableKeyboardCompatibleView","disableTypingIndicator","_props$dismissKeyboar","dismissKeyboardOnMessageTouch","doDocUploadRequest","doImageUploadRequest","doMarkReadRequest","doSendMessageRequest","doUpdateMessageRequest","_props$EmptyStateIndi","EmptyStateIndicator","EmptyStateIndicatorDefault","_props$enableMessageG","enableMessageGroupingByUser","enableOfflineSupport","_props$enforceUniqueR","enforceUniqueReaction","_props$FileAttachment","FileAttachment","FileAttachmentDefault","_props$FileAttachment2","FileAttachmentGroup","FileAttachmentGroupDefault","_props$FileAttachment3","FileAttachmentIcon","FileIconDefault","_props$FileUploadPrev","FileUploadPreview","FileUploadPreviewDefault","_props$FlatList","FlatList","FlatListDefault","forceAlignMessages","formatDate","_props$Gallery","Gallery","GalleryDefault","getMessagesGroupStyles","_props$Giphy","Giphy","GiphyDefault","giphyEnabled","_props$giphyVersion","giphyVersion","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReaction","handleRetry","handleThreadReply","_props$hasCommands","hasCommands","_props$hasFilePicker","hasFilePicker","pickDocument","_props$hasImagePicker","hasImagePicker","_props$hideDateSepara","hideDateSeparators","_props$hideStickyDate","hideStickyDateHeader","_props$ImageUploadPre","ImageUploadPreview","ImageUploadPreviewDefault","_props$initialScrollT","initialScrollToFirstUnreadMessage","initialValue","_props$InlineDateSepa","InlineDateSeparator","InlineDateSeparatorDefault","_props$InlineUnreadIn","InlineUnreadIndicator","InlineUnreadIndicatorDefault","Input","_props$InputButtons","InputButtons","InputButtonsDefault","_props$InputEditingSt","InputEditingStateHeader","InputEditingStateHeaderDefault","_props$InputGiphySear","InputGiphySearch","InputGiphyCommandInputDefault","_props$InputReplyStat","InputReplyStateHeader","InputReplyStateHeaderDefault","isAttachmentEqual","keyboardBehavior","_props$KeyboardCompat","KeyboardCompatibleView","KeyboardCompatibleViewDefault","keyboardVerticalOffset","_props$legacyImageVie","legacyImageViewerSwipeBehaviour","_props$LoadingErrorIn","LoadingErrorIndicator","LoadingErrorIndicatorDefault","_props$LoadingIndicat","LoadingIndicator","LoadingIndicatorDefault","loadingMoreProp","loadingMore","loadingMoreRecentProp","loadingMoreRecent","_props$ImageLoadingFa","ImageLoadingFailedIndicator","ImageLoadingFailedIndicatorDefault","_props$ImageLoadingIn","ImageLoadingIndicator","ImageLoadingIndicatorDefault","markdownRules","maxMessageLengthProp","maxMessageLength","_props$maxNumberOfFil","maxNumberOfFiles","maxTimeBetweenGroupedMessages","_props$mentionAllAppU","mentionAllAppUsersEnabled","mentionAllAppUsersQuery","members","_props$Message","Message","MessageDefault","messageActions","_props$MessageAvatar","MessageAvatar","MessageAvatarDefault","_props$MessageContent","MessageContent","MessageContentDefault","_props$messageContent","messageContentOrder","_props$MessageDeleted","MessageDeleted","MessageDeletedDefault","_props$MessageFooter","MessageFooter","MessageFooterDefault","MessageHeader","messageId","_props$MessageList","MessageList","MessageListDefault","_props$MessagePinnedH","MessagePinnedHeader","MessagePinnedHeaderDefault","_props$MessageReplies","MessageReplies","MessageRepliesDefault","_props$MessageReplies2","MessageRepliesAvatars","MessageRepliesAvatarsDefault","messages","_props$MessageSimple","MessageSimple","MessageSimpleDefault","_props$MessageStatus","MessageStatus","MessageStatusDefault","_props$MessageSystem","MessageSystem","MessageSystemDefault","MessageText","_props$MoreOptionsBut","MoreOptionsButton","MoreOptionsButtonDefault","myMessageTheme","_props$newMessageStat","newMessageStateUpdateThrottleInterval","_props$NetworkDownInd","NetworkDownIndicator","NetworkDownIndicatorDefault","_props$numberOfLines","numberOfLines","onChangeText","onLongPressMessage","overrideOwnCapabilities","onPressInMessage","onPressMessage","_props$OverlayReactio","OverlayReactionList","OverlayReactionListDefault","_props$ReactionList","ReactionList","ReactionListDefault","read","_props$Reply","Reply","ReplyDefault","_props$ScrollToBottom","ScrollToBottomButton","ScrollToBottomButtonDefault","selectReaction","_props$SendButton","SendButton","SendButtonDefault","_props$SendMessageDis","SendMessageDisallowedIndicator","SendMessageDisallowedIndicatorDefault","_props$sendImageAsync","sendImageAsync","setInputRef","setMembers","setMessages","setRead","setThreadMessages","setTyping","setWatcherCount","setWatchers","shouldSyncChannel","_props$ShowThreadMess","ShowThreadMessageInChannelButton","ShowThreadMessageInChannelButtonDefault","_props$stateUpdateThr","stateUpdateThrottleInterval","StickyHeader","_props$supportedReact","supportedReactions","t","threadProps","thread","threadList","threadMessages","typing","_props$TypingIndicato","TypingIndicator","TypingIndicatorDefault","_props$TypingIndicato2","TypingIndicatorContainer","TypingIndicatorContainerDefault","_props$UploadProgress","UploadProgressIndicator","UploadProgressIndicatorDefault","_props$UrlPreview","UrlPreview","_props$VideoThumbnail","VideoThumbnail","VideoThumbnailDefault","watcherCount","watchers","_useTheme","useTheme","_useTheme$theme","theme","black","colors","_useState","useState","_useState2","_slicedToArray2","deleted","setDeleted","_useState3","_useState4","editing","setEditing","_useState5","_useState6","error","setError","_useState7","_useState8","hasMore","setHasMore","_useState9","_useState10","lastRead","setLastRead","_useState11","state","length","_useState12","loading","setLoading","_useState13","_useState14","setLoadingMore","_useState15","_useState16","setLoadingMoreRecent","_useState17","_useState18","quotedMessage","setQuotedMessage","_useState19","_useState20","setThread","_useState21","_useState22","threadHasMore","setThreadHasMore","_useState23","_useState24","threadLoadingMore","setThreadLoadingMore","_useState25","_useState26","syncingChannel","setSyncingChannel","_useState27","_useState28","hasNoMoreRecentMessagesToLoad","setHasNoMoreRecentMessagesToLoad","_useTargetedMessage","useTargetedMessage","setTargetedMessage","targetedMessage","channelId","id","useEffect","initChannel","offlineMode","initialized","loadChannel","loadChannelAroundMessage","countUnread","loadChannelAtFirstUnreadMessage","copyChannelState","cancel","copyReadState","copyTypingState","loadMoreFinished","loadMoreThreadFinished","threadPropsExists","_channel$state$thread","threads","handleAppBackground","useCallback","sendEvent","parent_id","useAppStateListener","undefined","isAdmin","user","role","membership","isModerator","isOwner","markRead","useRef","throttle","disconnected","clientChannelConfig","read_events","logChatPromiseExecution","current","copyMessagesState","_toConsumableArray2","_extends2","watcher_count","connectionChangedHandler","resyncChannel","handleEvent","event","_event$message","updatedThreadMessages","message","updatedThread","formatMessage","channelSubscriptions","clientSubscriptions","push","on","cid","DBSyncManager","onSyncStatusChange","online","forEach","s","unsubscribe","channelQueryCallRef","_ref","_asyncToGenerator2","_regenerator","mark","_callee","queryCall","onAfterQueryCall","_args","arguments","wrap","_callee$","_context","prev","next","Date","t0","Error","stop","_x","apply","unreadCount","_callee2","lastReadDate","_callee2$","_context2","query","created_at_around","limit","_ref3","_callee3","_callee3$","_context3","loadMessageIntoState","setIsUpToDate","loadChannelAtMessage","_ref5","_ref5$after","after","_ref5$before","before","_callee4","_callee4$","_context4","queryAtMessage","_callee5","_callee5$","_context5","isUpToDate","watch","abrupt","reloadThread","_ref8","_callee6","parentID","queryResponse","updatedHasMore","_yield$channel$getMes","_messages","_messages2","threadMessage","formattedMessage","_callee6$","_context6","getReplies","sent","getMessagesById","console","warn","_ref9","_callee7","_messages$","oldListTopMessage","oldListTopMessageId","oldListBottomMessage","newListTopMessage","newListBottomMessage","parseMessage","failedMessages","failedThreadMessages","oldListTopMessageCreatedAt","oldListBottomMessageCreatedAt","newListTopMessageCreatedAt","newListBottomMessageCreatedAt","finalMessages","index","_callee7$","_context7","clearMessages","addMessagesSorted","_message$pinned_at","_message$updated_at","created_at","toString","pinned_at","updated_at","filter","status","MessageStatusTypes","FAILED","map","findIndex","slice","reloadChannel","_callee8","_callee8$","_context8","_ref12","_callee9","_ref11","_ref11$after","_ref11$before","_callee9$","_context9","queryBeforeMessage","queryAfterMessage","_x2","_ref13","_callee10","_args10","_callee10$","_context10","id_lt","_x3","_ref14","_callee11","_args11","_callee11$","_context11","id_gte","_x4","getChannelConfigSafely","getConfig","_","updateMessage","updatedMessage","extraState","addMessageSorted","replaceMessage","oldMessage","newMessage","removeMessage","createMessagePreview","_ref15","attachments","mentioned_users","text","extraFields","_objectWithoutProperties2","_client$user2","channel_mutes","devices","mutes","messageUser","preview","__html","html","userID","generateRandomId","userId","reactions","SENDING","quoted_message_id","find","quoted_message","uploadPendingAttachments","_ref16","_callee12","_updatedMessage$attac","i","_updatedMessage$attac2","attachment","file","filename","contentType","uploadResponse","response","_callee12$","_context12","originalFile","uri","image_url","isLocalUrl","replace","lookup","sendImage","asset_url","t1","sendFile","name","thumb_url","_x5","sendMessageRequest","_ref17","_callee13","retrying","_updatedMessage","deleted_at","latest_reactions","own_reactions","reaction_counts","mentionedUserIds","_messageData","messageResponse","_callee13$","_context13","messageData","patchMessageTextCommand","sendMessage","RECEIVED","log","_x6","_x7","_ref18","_callee14","_channel$state","messagePreview","_callee14$","_context14","filterErrorMessages","commands","messageInput","upsertMessages","_x8","retrySendMessage","_ref19","_callee15","statusPendingMessage","_callee15$","_context15","_x9","debounce","newMessages","loadMore","_ref20","_callee16","oldestMessage","oldestID","_args16","_callee16$","_context16","loadMoreRecent","_ref21","_callee17","recentMessage","_args17","_callee17$","_context17","loadMoreRecentFinished","editMessage","setEditingState","setQuotedMessageState","clearEditingState","clearQuotedMessageState","deleteMessage","sendReaction","_ref22","_callee18","payload","_callee18$","_context18","enforce_unique","addReactionToLocalState","reactionType","queueTask","task","channelType","_x10","_x11","_ref23","_callee19","data","_callee19$","_context19","dropPendingTasks","toISOString","_x12","deleteReaction","_ref24","_callee20","_callee20$","_context20","removeReactionFromLocalState","_x13","_x14","openThread","_channel$state2","newThreadMessages","closeThread","newThreadHasMore","loadMoreThread","_ref25","_callee21","_threadMessages$","oldestMessageID","_callee21$","_context21","ownCapabilitiesContext","useCreateOwnCapabilitiesContext","overrideCapabilities","channelContext","useCreateChannelContext","disabled","frozen","some","command","isChannelActive","inputMessageInputContext","useCreateInputMessageInputContext","max_message_length","messageListContext","useCreatePaginatedMessageListContext","messagesContext","useCreateMessagesContext","suggestionsContext","threadContext","useCreateThreadContext","typingContext","useCreateTypingContext","createElement","listType","retry","__self","__source","fileName","lineNumber","columnNumber","Text","style","color","testID","behavior","enabled","ChannelProvider","value","OwnCapabilitiesProvider","TypingProvider","PaginatedMessageListProvider","MessagesProvider","ThreadProvider","SuggestionsProvider","MessageInputProvider","View","height","Channel","_props$thread","_props$thread2","_useChatContext","useChatContext","_useTranslationContex","useTranslationContext","_useChannelState","useChannelState"],"sources":["Channel.tsx"],"sourcesContent":["import React, { PropsWithChildren, useCallback, useEffect, useRef, useState } from 'react';\nimport { KeyboardAvoidingViewProps, StyleSheet, Text, View } from 'react-native';\n\nimport debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\n\nimport { lookup } from 'mime-types';\nimport {\n Channel as ChannelClass,\n ChannelState,\n Channel as ChannelType,\n EventHandler,\n logChatPromiseExecution,\n MessageResponse,\n Reaction,\n SendMessageAPIResponse,\n StreamChat,\n Event as StreamEvent,\n Message as StreamMessage,\n} from 'stream-chat';\n\nimport { useCreateChannelContext } from './hooks/useCreateChannelContext';\n\nimport { useCreateInputMessageInputContext } from './hooks/useCreateInputMessageInputContext';\n\nimport { useCreateMessagesContext } from './hooks/useCreateMessagesContext';\n\nimport { useCreateOwnCapabilitiesContext } from './hooks/useCreateOwnCapabilitiesContext';\nimport { useCreatePaginatedMessageListContext } from './hooks/useCreatePaginatedMessageListContext';\n\nimport { useCreateThreadContext } from './hooks/useCreateThreadContext';\n\nimport { useCreateTypingContext } from './hooks/useCreateTypingContext';\n\nimport { useTargetedMessage } from './hooks/useTargetedMessage';\n\nimport { ChannelContextValue, ChannelProvider } from '../../contexts/channelContext/ChannelContext';\nimport type { UseChannelStateValue } from '../../contexts/channelsStateContext/useChannelState';\nimport { useChannelState } from '../../contexts/channelsStateContext/useChannelState';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\nimport {\n InputMessageInputContextValue,\n MessageInputProvider,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n MessagesProvider,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OwnCapabilitiesContextValue,\n OwnCapabilitiesProvider,\n} from '../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';\nimport {\n PaginatedMessageListContextValue,\n PaginatedMessageListProvider,\n} from '../../contexts/paginatedMessageListContext/PaginatedMessageListContext';\nimport {\n SuggestionsContextValue,\n SuggestionsProvider,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { ThreadContextValue, ThreadProvider } from '../../contexts/threadContext/ThreadContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\nimport { TypingProvider } from '../../contexts/typingContext/TypingContext';\nimport { useAppStateListener } from '../../hooks/useAppStateListener';\n\nimport {\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n WutReaction,\n} from '../../icons';\nimport { FlatList as FlatListDefault, pickDocument } from '../../native';\nimport * as dbApi from '../../store/apis';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { addReactionToLocalState } from '../../utils/addReactionToLocalState';\nimport { DBSyncManager } from '../../utils/DBSyncManager';\nimport { patchMessageTextCommand } from '../../utils/patchMessageTextCommand';\nimport { removeReactionFromLocalState } from '../../utils/removeReactionFromLocalState';\nimport { generateRandomId, isLocalUrl, MessageStatusTypes, ReactionData } from '../../utils/utils';\nimport { Attachment as AttachmentDefault } from '../Attachment/Attachment';\nimport { AttachmentActions as AttachmentActionsDefault } from '../Attachment/AttachmentActions';\nimport { AudioAttachment as AudioAttachmentDefault } from '../Attachment/AudioAttachment';\nimport { Card as CardDefault } from '../Attachment/Card';\nimport { FileAttachment as FileAttachmentDefault } from '../Attachment/FileAttachment';\nimport { FileAttachmentGroup as FileAttachmentGroupDefault } from '../Attachment/FileAttachmentGroup';\nimport { FileIcon as FileIconDefault } from '../Attachment/FileIcon';\nimport { Gallery as GalleryDefault } from '../Attachment/Gallery';\nimport { Giphy as GiphyDefault } from '../Attachment/Giphy';\nimport { ImageLoadingFailedIndicator as ImageLoadingFailedIndicatorDefault } from '../Attachment/ImageLoadingFailedIndicator';\nimport { ImageLoadingIndicator as ImageLoadingIndicatorDefault } from '../Attachment/ImageLoadingIndicator';\nimport { VideoThumbnail as VideoThumbnailDefault } from '../Attachment/VideoThumbnail';\nimport { AutoCompleteSuggestionHeader as AutoCompleteSuggestionHeaderDefault } from '../AutoCompleteInput/AutoCompleteSuggestionHeader';\nimport { AutoCompleteSuggestionItem as AutoCompleteSuggestionItemDefault } from '../AutoCompleteInput/AutoCompleteSuggestionItem';\nimport { AutoCompleteSuggestionList as AutoCompleteSuggestionListDefault } from '../AutoCompleteInput/AutoCompleteSuggestionList';\nimport { EmptyStateIndicator as EmptyStateIndicatorDefault } from '../Indicators/EmptyStateIndicator';\nimport {\n LoadingErrorIndicator as LoadingErrorIndicatorDefault,\n LoadingErrorProps,\n} from '../Indicators/LoadingErrorIndicator';\nimport { LoadingIndicator as LoadingIndicatorDefault } from '../Indicators/LoadingIndicator';\nimport { KeyboardCompatibleView as KeyboardCompatibleViewDefault } from '../KeyboardCompatibleView/KeyboardCompatibleView';\nimport { Message as MessageDefault } from '../Message/Message';\nimport { MessageAvatar as MessageAvatarDefault } from '../Message/MessageSimple/MessageAvatar';\nimport { MessageContent as MessageContentDefault } from '../Message/MessageSimple/MessageContent';\nimport { MessageDeleted as MessageDeletedDefault } from '../Message/MessageSimple/MessageDeleted';\nimport { MessageFooter as MessageFooterDefault } from '../Message/MessageSimple/MessageFooter';\nimport { MessagePinnedHeader as MessagePinnedHeaderDefault } from '../Message/MessageSimple/MessagePinnedHeader';\nimport { MessageReplies as MessageRepliesDefault } from '../Message/MessageSimple/MessageReplies';\nimport { MessageRepliesAvatars as MessageRepliesAvatarsDefault } from '../Message/MessageSimple/MessageRepliesAvatars';\nimport { MessageSimple as MessageSimpleDefault } from '../Message/MessageSimple/MessageSimple';\nimport { MessageStatus as MessageStatusDefault } from '../Message/MessageSimple/MessageStatus';\nimport { ReactionList as ReactionListDefault } from '../Message/MessageSimple/ReactionList';\nimport { AttachButton as AttachButtonDefault } from '../MessageInput/AttachButton';\nimport { CommandsButton as CommandsButtonDefault } from '../MessageInput/CommandsButton';\nimport { InputEditingStateHeader as InputEditingStateHeaderDefault } from '../MessageInput/components/InputEditingStateHeader';\nimport { InputGiphySearch as InputGiphyCommandInputDefault } from '../MessageInput/components/InputGiphySearch';\nimport { InputReplyStateHeader as InputReplyStateHeaderDefault } from '../MessageInput/components/InputReplyStateHeader';\nimport { CooldownTimer as CooldownTimerDefault } from '../MessageInput/CooldownTimer';\nimport { FileUploadPreview as FileUploadPreviewDefault } from '../MessageInput/FileUploadPreview';\nimport { ImageUploadPreview as ImageUploadPreviewDefault } from '../MessageInput/ImageUploadPreview';\nimport { InputButtons as InputButtonsDefault } from '../MessageInput/InputButtons';\nimport { MoreOptionsButton as MoreOptionsButtonDefault } from '../MessageInput/MoreOptionsButton';\nimport { SendButton as SendButtonDefault } from '../MessageInput/SendButton';\nimport { SendMessageDisallowedIndicator as SendMessageDisallowedIndicatorDefault } from '../MessageInput/SendMessageDisallowedIndicator';\nimport { ShowThreadMessageInChannelButton as ShowThreadMessageInChannelButtonDefault } from '../MessageInput/ShowThreadMessageInChannelButton';\nimport { UploadProgressIndicator as UploadProgressIndicatorDefault } from '../MessageInput/UploadProgressIndicator';\nimport { DateHeader as DateHeaderDefault } from '../MessageList/DateHeader';\nimport type { MessageType } from '../MessageList/hooks/useMessageList';\nimport { InlineDateSeparator as InlineDateSeparatorDefault } from '../MessageList/InlineDateSeparator';\nimport { InlineUnreadIndicator as InlineUnreadIndicatorDefault } from '../MessageList/InlineUnreadIndicator';\nimport { MessageList as MessageListDefault } from '../MessageList/MessageList';\nimport { MessageSystem as MessageSystemDefault } from '../MessageList/MessageSystem';\nimport { NetworkDownIndicator as NetworkDownIndicatorDefault } from '../MessageList/NetworkDownIndicator';\nimport { ScrollToBottomButton as ScrollToBottomButtonDefault } from '../MessageList/ScrollToBottomButton';\nimport { TypingIndicator as TypingIndicatorDefault } from '../MessageList/TypingIndicator';\nimport { TypingIndicatorContainer as TypingIndicatorContainerDefault } from '../MessageList/TypingIndicatorContainer';\nimport { OverlayReactionList as OverlayReactionListDefault } from '../MessageOverlay/OverlayReactionList';\nimport { Reply as ReplyDefault } from '../Reply/Reply';\n\nconst styles = StyleSheet.create({\n selectChannel: { fontWeight: 'bold', padding: 16 },\n});\n\nexport const reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\n/**\n * If count of unread messages is less than 4, then no need to scroll to first unread message,\n * since first unread message will be in visible frame anyways.\n */\nconst scrollToFirstUnreadThreshold = 4;\n\nconst defaultThrottleInterval = 500;\nconst defaultDebounceInterval = 500;\nconst throttleOptions = {\n leading: true,\n trailing: true,\n};\nconst debounceOptions = {\n leading: true,\n trailing: true,\n};\n\nexport type ChannelPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelContextValue<StreamChatGenerics>, 'channel'> &\n Partial<\n Pick<\n ChannelContextValue<StreamChatGenerics>,\n | 'EmptyStateIndicator'\n | 'enableMessageGroupingByUser'\n | 'enforceUniqueReaction'\n | 'giphyEnabled'\n | 'hideStickyDateHeader'\n | 'hideDateSeparators'\n | 'LoadingIndicator'\n | 'maxTimeBetweenGroupedMessages'\n | 'NetworkDownIndicator'\n | 'StickyHeader'\n >\n > &\n Pick<ChatContextValue<StreamChatGenerics>, 'client' | 'enableOfflineSupport'> &\n Partial<\n Omit<\n InputMessageInputContextValue<StreamChatGenerics>,\n 'quotedMessage' | 'editing' | 'clearEditingState' | 'clearQuotedMessageState' | 'sendMessage'\n >\n > &\n Partial<\n Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n 'AutoCompleteSuggestionHeader' | 'AutoCompleteSuggestionItem' | 'AutoCompleteSuggestionList'\n >\n > &\n Pick<TranslationContextValue, 't'> &\n Partial<\n Pick<\n PaginatedMessageListContextValue<StreamChatGenerics>,\n 'messages' | 'loadingMore' | 'loadingMoreRecent'\n >\n > &\n UseChannelStateValue<StreamChatGenerics> &\n Partial<\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'AttachmentActions'\n | 'AudioAttachment'\n | 'Card'\n | 'CardCover'\n | 'CardFooter'\n | 'CardHeader'\n | 'DateHeader'\n | 'deletedMessagesVisibilityType'\n | 'disableTypingIndicator'\n | 'dismissKeyboardOnMessageTouch'\n | 'FileAttachment'\n | 'FileAttachmentIcon'\n | 'FileAttachmentGroup'\n | 'FlatList'\n | 'forceAlignMessages'\n | 'formatDate'\n | 'Gallery'\n | 'getMessagesGroupStyles'\n | 'Giphy'\n | 'giphyVersion'\n | 'handleBlock'\n | 'handleCopy'\n | 'handleDelete'\n | 'handleEdit'\n | 'handleFlag'\n | 'handleMute'\n | 'handlePinMessage'\n | 'handleReaction'\n | 'handleQuotedReply'\n | 'handleRetry'\n | 'handleThreadReply'\n | 'InlineDateSeparator'\n | 'InlineUnreadIndicator'\n | 'isAttachmentEqual'\n | 'legacyImageViewerSwipeBehaviour'\n | 'ImageLoadingFailedIndicator'\n | 'ImageLoadingIndicator'\n | 'markdownRules'\n | 'Message'\n | 'messageActions'\n | 'MessageAvatar'\n | 'MessageContent'\n | 'messageContentOrder'\n | 'MessageDeleted'\n | 'MessageFooter'\n | 'MessageHeader'\n | 'MessageList'\n | 'MessagePinnedHeader'\n | 'MessageReplies'\n | 'MessageRepliesAvatars'\n | 'MessageSimple'\n | 'MessageStatus'\n | 'MessageSystem'\n | 'MessageText'\n | 'myMessageTheme'\n | 'onLongPressMessage'\n | 'onPressInMessage'\n | 'onPressMessage'\n | 'OverlayReactionList'\n | 'ReactionList'\n | 'Reply'\n | 'ScrollToBottomButton'\n | 'selectReaction'\n | 'supportedReactions'\n | 'TypingIndicator'\n | 'TypingIndicatorContainer'\n | 'UrlPreview'\n | 'VideoThumbnail'\n >\n > &\n Partial<\n Pick<ThreadContextValue<StreamChatGenerics>, 'allowThreadMessagesInChannel' | 'thread'>\n > & {\n shouldSyncChannel: boolean;\n /**\n * Additional props passed to keyboard avoiding view\n */\n additionalKeyboardAvoidingViewProps?: Partial<KeyboardAvoidingViewProps>;\n /**\n * Disables the channel UI if the channel is frozen\n */\n disableIfFrozenChannel?: boolean;\n /**\n * When true, disables the KeyboardCompatibleView wrapper\n *\n * Channel internally uses the [KeyboardCompatibleView](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx)\n * component to adjust the height of Channel when the keyboard is opened or dismissed. This prop provides the ability to disable this functionality in case you\n * want to use [KeyboardAvoidingView](https://facebook.github.io/react-native/docs/keyboardavoidingview) or handle dismissal yourself.\n * KeyboardAvoidingView works well when your component occupies 100% of screen height, otherwise it may raise some issues.\n */\n disableKeyboardCompatibleView?: boolean;\n /**\n * Overrides the Stream default mark channel read request (Advanced usage only)\n * @param channel Channel object\n */\n doMarkReadRequest?: (channel: ChannelType<StreamChatGenerics>) => void;\n /**\n * Overrides the Stream default send message request (Advanced usage only)\n * @param channelId\n * @param messageData Message object\n */\n doSendMessageRequest?: (\n channelId: string,\n messageData: StreamMessage<StreamChatGenerics>,\n ) => Promise<SendMessageAPIResponse<StreamChatGenerics>>;\n /**\n * Overrides the Stream default update message request (Advanced usage only)\n * @param channelId\n * @param updatedMessage UpdatedMessage object\n */\n doUpdateMessageRequest?: (\n channelId: string,\n updatedMessage: Parameters<StreamChat<StreamChatGenerics>['updateMessage']>[0],\n ) => ReturnType<StreamChat<StreamChatGenerics>['updateMessage']>;\n /**\n * When true, messageList will be scrolled at first unread message, when opened.\n */\n initialScrollToFirstUnreadMessage?: boolean;\n keyboardBehavior?: KeyboardAvoidingViewProps['behavior'];\n /**\n * Custom wrapper component that handles height adjustment of Channel component when keyboard is opened or dismissed\n * Default component (accepts the same props): [KeyboardCompatibleView](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx)\n *\n * **Example:**\n *\n * ```\n * <Channel\n * channel={channel}\n * KeyboardCompatibleView={(props) => {\n * return (\n * <KeyboardCompatibleView>\n * {props.children}\n * </KeyboardCompatibleView>\n * )\n * }}\n * />\n * ```\n */\n KeyboardCompatibleView?: React.ComponentType<KeyboardAvoidingViewProps>;\n keyboardVerticalOffset?: number;\n /**\n * Custom loading error indicator to override the Stream default\n */\n LoadingErrorIndicator?: React.ComponentType<LoadingErrorProps>;\n maxMessageLength?: number;\n /**\n * Load the channel at a specified message instead of the most recent message.\n */\n messageId?: string;\n newMessageStateUpdateThrottleInterval?: number;\n overrideOwnCapabilities?: Partial<OwnCapabilitiesContextValue>;\n stateUpdateThrottleInterval?: number;\n /**\n * Tells if channel is rendering a thread list\n */\n threadList?: boolean;\n };\n\nconst ChannelWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChannelPropsWithContext<StreamChatGenerics>>,\n) => {\n const {\n additionalKeyboardAvoidingViewProps,\n additionalTextInputProps,\n additionalTouchableProps,\n allowThreadMessagesInChannel = true,\n AttachButton = AttachButtonDefault,\n Attachment = AttachmentDefault,\n AttachmentActions = AttachmentActionsDefault,\n AudioAttachment = AudioAttachmentDefault,\n AutoCompleteSuggestionHeader = AutoCompleteSuggestionHeaderDefault,\n AutoCompleteSuggestionItem = AutoCompleteSuggestionItemDefault,\n AutoCompleteSuggestionList = AutoCompleteSuggestionListDefault,\n autoCompleteSuggestionsLimit,\n autoCompleteTriggerSettings,\n Card = CardDefault,\n CardCover,\n CardFooter,\n CardHeader,\n channel,\n children,\n client,\n CommandsButton = CommandsButtonDefault,\n compressImageQuality,\n CooldownTimer = CooldownTimerDefault,\n DateHeader = DateHeaderDefault,\n deletedMessagesVisibilityType = 'always',\n disableIfFrozenChannel = true,\n disableKeyboardCompatibleView = false,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch = true,\n doDocUploadRequest,\n doImageUploadRequest,\n doMarkReadRequest,\n doSendMessageRequest,\n doUpdateMessageRequest,\n EmptyStateIndicator = EmptyStateIndicatorDefault,\n enableMessageGroupingByUser = true,\n enableOfflineSupport,\n enforceUniqueReaction = false,\n FileAttachment = FileAttachmentDefault,\n FileAttachmentGroup = FileAttachmentGroupDefault,\n FileAttachmentIcon = FileIconDefault,\n FileUploadPreview = FileUploadPreviewDefault,\n FlatList = FlatListDefault,\n forceAlignMessages,\n formatDate,\n Gallery = GalleryDefault,\n getMessagesGroupStyles,\n Giphy = GiphyDefault,\n giphyEnabled,\n giphyVersion = 'fixed_height',\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n hasCommands = true,\n // If pickDocument isn't available, default to hiding the file picker\n hasFilePicker = pickDocument !== null,\n hasImagePicker = true,\n hideDateSeparators = false,\n hideStickyDateHeader = false,\n ImageUploadPreview = ImageUploadPreviewDefault,\n initialScrollToFirstUnreadMessage = false,\n initialValue,\n InlineDateSeparator = InlineDateSeparatorDefault,\n InlineUnreadIndicator = InlineUnreadIndicatorDefault,\n Input,\n InputButtons = InputButtonsDefault,\n InputEditingStateHeader = InputEditingStateHeaderDefault,\n InputGiphySearch = InputGiphyCommandInputDefault,\n InputReplyStateHeader = InputReplyStateHeaderDefault,\n isAttachmentEqual,\n keyboardBehavior,\n KeyboardCompatibleView = KeyboardCompatibleViewDefault,\n keyboardVerticalOffset,\n legacyImageViewerSwipeBehaviour = false,\n LoadingErrorIndicator = LoadingErrorIndicatorDefault,\n LoadingIndicator = LoadingIndicatorDefault,\n loadingMore: loadingMoreProp,\n loadingMoreRecent: loadingMoreRecentProp,\n ImageLoadingFailedIndicator = ImageLoadingFailedIndicatorDefault,\n ImageLoadingIndicator = ImageLoadingIndicatorDefault,\n markdownRules,\n maxMessageLength: maxMessageLengthProp,\n maxNumberOfFiles = 10,\n maxTimeBetweenGroupedMessages,\n mentionAllAppUsersEnabled = false,\n mentionAllAppUsersQuery,\n members,\n Message = MessageDefault,\n messageActions,\n MessageAvatar = MessageAvatarDefault,\n MessageContent = MessageContentDefault,\n messageContentOrder = ['quoted_reply', 'gallery', 'files', 'text', 'attachments'],\n MessageDeleted = MessageDeletedDefault,\n MessageFooter = MessageFooterDefault,\n MessageHeader,\n messageId,\n MessageList = MessageListDefault,\n MessagePinnedHeader = MessagePinnedHeaderDefault,\n MessageReplies = MessageRepliesDefault,\n MessageRepliesAvatars = MessageRepliesAvatarsDefault,\n messages,\n MessageSimple = MessageSimpleDefault,\n MessageStatus = MessageStatusDefault,\n MessageSystem = MessageSystemDefault,\n MessageText,\n MoreOptionsButton = MoreOptionsButtonDefault,\n myMessageTheme,\n newMessageStateUpdateThrottleInterval = defaultThrottleInterval,\n NetworkDownIndicator = NetworkDownIndicatorDefault,\n numberOfLines = 5,\n onChangeText,\n onLongPressMessage,\n overrideOwnCapabilities,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList = OverlayReactionListDefault,\n ReactionList = ReactionListDefault,\n read,\n Reply = ReplyDefault,\n ScrollToBottomButton = ScrollToBottomButtonDefault,\n selectReaction,\n SendButton = SendButtonDefault,\n SendMessageDisallowedIndicator = SendMessageDisallowedIndicatorDefault,\n sendImageAsync = false,\n setInputRef,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n shouldSyncChannel,\n ShowThreadMessageInChannelButton = ShowThreadMessageInChannelButtonDefault,\n stateUpdateThrottleInterval = defaultThrottleInterval,\n StickyHeader,\n supportedReactions = reactionData,\n t,\n thread: threadProps,\n threadList,\n threadMessages,\n typing,\n TypingIndicator = TypingIndicatorDefault,\n TypingIndicatorContainer = TypingIndicatorContainerDefault,\n UploadProgressIndicator = UploadProgressIndicatorDefault,\n UrlPreview = CardDefault,\n VideoThumbnail = VideoThumbnailDefault,\n watcherCount,\n watchers,\n } = props;\n\n const {\n theme: {\n channel: { selectChannel },\n colors: { black },\n },\n } = useTheme();\n const [deleted, setDeleted] = useState(false);\n const [editing, setEditing] = useState<boolean | MessageType<StreamChatGenerics>>(false);\n const [error, setError] = useState<Error | boolean>(false);\n const [hasMore, setHasMore] = useState(true);\n const [lastRead, setLastRead] = useState<ChannelContextValue<StreamChatGenerics>['lastRead']>();\n const [loading, setLoading] = useState(!channel?.state.messages.length);\n const [loadingMore, setLoadingMore] = useState(false);\n\n const [loadingMoreRecent, setLoadingMoreRecent] = useState(false);\n const [quotedMessage, setQuotedMessage] =\n useState<boolean | MessageType<StreamChatGenerics>>(false);\n const [thread, setThread] = useState<ThreadContextValue<StreamChatGenerics>['thread']>(\n threadProps || null,\n );\n const [threadHasMore, setThreadHasMore] = useState(true);\n const [threadLoadingMore, setThreadLoadingMore] = useState(false);\n\n const [syncingChannel, setSyncingChannel] = useState(false);\n\n /**\n * Flag to track if we know for sure that there are no more recent messages to load.\n * This is necessary to avoid unnecessary api calls to load recent messages on pagination.\n */\n const [hasNoMoreRecentMessagesToLoad, setHasNoMoreRecentMessagesToLoad] = useState(true);\n\n const { setTargetedMessage, targetedMessage } = useTargetedMessage();\n\n const channelId = channel?.id || '';\n useEffect(() => {\n const initChannel = () => {\n if (!channel || !shouldSyncChannel || channel.offlineMode) return;\n /**\n * Loading channel at first unread message requires channel to be initialized in the first place,\n * since we use read state on channel to decide what offset to load channel at.\n * Also there is no use case from UX perspective, why one would need loading uninitialized channel at particular message.\n * If the channel is not initiated, then we need to do channel.watch, which is more expensive for backend than channel.query.\n */\n if (!channel.initialized) {\n loadChannel();\n return;\n }\n\n if (messageId) {\n loadChannelAroundMessage({ messageId });\n return;\n }\n\n if (\n initialScrollToFirstUnreadMessage &&\n channel.countUnread() > scrollToFirstUnreadThreshold\n ) {\n loadChannelAtFirstUnreadMessage();\n } else {\n loadChannel();\n }\n };\n\n initChannel();\n\n return () => {\n copyChannelState.cancel();\n copyReadState.cancel();\n copyTypingState.cancel();\n loadMoreFinished.cancel();\n loadMoreThreadFinished.cancel();\n };\n }, [channelId, messageId]);\n\n const threadPropsExists = !!threadProps;\n useEffect(() => {\n if (threadProps && shouldSyncChannel) {\n setThread(threadProps);\n if (channel && threadProps?.id) {\n setThreadMessages(channel.state.threads?.[threadProps.id] || []);\n }\n } else {\n setThread(null);\n }\n }, [threadPropsExists]);\n\n const handleAppBackground = useCallback(() => {\n if (channel) {\n channel.sendEvent({\n parent_id: thread?.id,\n type: 'typing.stop',\n } as StreamEvent<StreamChatGenerics>);\n }\n }, [thread?.id, channelId]);\n\n useAppStateListener(undefined, handleAppBackground);\n\n /**\n * CHANNEL CONSTANTS\n */\n const isAdmin = client?.user?.role === 'admin' || channel?.state.membership.role === 'admin';\n\n const isModerator =\n channel?.state.membership.role === 'channel_moderator' ||\n channel?.state.membership.role === 'moderator';\n\n const isOwner = channel?.state.membership.role === 'owner';\n\n /**\n * CHANNEL METHODS\n */\n const markRead: ChannelContextValue<StreamChatGenerics>['markRead'] = useRef(\n throttle(\n () => {\n if (!channel || channel?.disconnected || !clientChannelConfig?.read_events) {\n return;\n }\n\n if (doMarkReadRequest) {\n doMarkReadRequest(channel);\n } else {\n logChatPromiseExecution(channel.markRead(), 'mark read');\n }\n },\n defaultThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyMessagesState = useRef(\n throttle(\n () => {\n if (channel) {\n setMessages([...channel.state.messages]);\n }\n },\n newMessageStateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyTypingState = useRef(\n throttle(\n () => {\n if (channel) {\n setTyping({ ...channel.state.typing });\n }\n },\n stateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyReadState = useRef(\n throttle(\n () => {\n if (channel) {\n setRead({ ...channel.state.read });\n }\n },\n stateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyChannelState = useRef(\n throttle(\n () => {\n setLoading(false);\n if (channel) {\n setMembers({ ...channel.state.members });\n setMessages([...channel.state.messages]);\n setRead({ ...channel.state.read });\n setTyping({ ...channel.state.typing });\n setWatcherCount(channel.state.watcher_count);\n setWatchers({ ...channel.state.watchers });\n }\n },\n stateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const connectionChangedHandler = () => {\n if (shouldSyncChannel) {\n resyncChannel();\n }\n };\n\n const handleEvent: EventHandler<StreamChatGenerics> = (event) => {\n if (shouldSyncChannel) {\n if (thread) {\n const updatedThreadMessages =\n (thread.id && channel && channel.state.threads[thread.id]) || threadMessages;\n setThreadMessages(updatedThreadMessages);\n }\n\n if (channel && thread && event.message?.id === thread.id) {\n const updatedThread = channel.state.formatMessage(event.message);\n setThread(updatedThread);\n }\n\n if (event.type === 'typing.start' || event.type === 'typing.stop') {\n copyTypingState();\n } else if (event.type === 'message.read') {\n copyReadState();\n } else if (event.type === 'message.new') {\n copyMessagesState();\n } else if (channel) {\n copyChannelState();\n }\n }\n };\n\n useEffect(() => {\n const channelSubscriptions: Array<ReturnType<ChannelType['on']>> = [];\n const clientSubscriptions: Array<ReturnType<StreamChat['on']>> = [];\n\n if (!channel) return;\n\n clientSubscriptions.push(\n client.on('channel.deleted', (event) => {\n if (event.cid === channel.cid) {\n setDeleted(true);\n }\n }),\n );\n\n if (enableOfflineSupport) {\n clientSubscriptions.push(DBSyncManager.onSyncStatusChange(connectionChangedHandler));\n } else {\n clientSubscriptions.push(\n client.on('connection.changed', (event) => {\n if (event.online) {\n connectionChangedHandler();\n }\n }),\n );\n }\n\n channelSubscriptions.push(channel.on(handleEvent));\n\n return () => {\n clientSubscriptions.forEach((s) => s.unsubscribe());\n channelSubscriptions.forEach((s) => s.unsubscribe());\n };\n }, [channelId, connectionChangedHandler, handleEvent]);\n\n const channelQueryCallRef = useRef(\n async (\n queryCall: () => Promise<void>,\n onAfterQueryCall: (() => void) | undefined = undefined,\n ) => {\n setError(false);\n try {\n await queryCall();\n setLastRead(new Date());\n setHasMore(true);\n copyChannelState();\n onAfterQueryCall?.();\n } catch (err) {\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoading(false);\n setLastRead(new Date());\n }\n },\n );\n\n /**\n * Loads channel at first unread message.\n */\n const loadChannelAtFirstUnreadMessage = () => {\n if (!channel) return;\n const unreadCount = channel.countUnread();\n if (unreadCount <= scrollToFirstUnreadThreshold) return;\n // temporarily clear existing messages so that messageList component gets a list change and does not scroll to any unread message first before loading completes\n setMessages([]);\n // query for messages around the last read date\n return channelQueryCallRef.current(async () => {\n setLoading(true);\n const lastReadDate = channel.lastRead() || new Date(0);\n await channel.query({\n messages: {\n created_at_around: lastReadDate,\n limit: 25,\n },\n });\n setLoading(false);\n });\n };\n\n /**\n * Loads channel around a specific message\n *\n * @param messageId If undefined, channel will be loaded at most recent message.\n */\n const loadChannelAroundMessage: ChannelContextValue<StreamChatGenerics>['loadChannelAroundMessage'] =\n ({ messageId }) =>\n channelQueryCallRef.current(\n async () => {\n setHasNoMoreRecentMessagesToLoad(false); // we are jumping to a message, hence we do not know for sure anymore if there are no more recent messages\n setLoading(true);\n if (messageId) {\n await channel.state.loadMessageIntoState(messageId);\n } else {\n await channel.state.loadMessageIntoState('latest');\n channel.state.setIsUpToDate(true);\n }\n setLoading(false);\n },\n () => {\n if (messageId) {\n setTargetedMessage(messageId);\n }\n },\n );\n\n /**\n * @deprecated use loadChannelAroundMessage instead\n *\n * Loads channel at specific message\n *\n * @param messageId If undefined, channel will be loaded at most recent message.\n * @param before Number of message to query before messageId\n * @param after Number of message to query after messageId\n */\n const loadChannelAtMessage: ChannelContextValue<StreamChatGenerics>['loadChannelAtMessage'] = ({\n after = 2,\n before = 30,\n messageId,\n }) =>\n channelQueryCallRef.current(async () => {\n await queryAtMessage({ after, before, messageId });\n\n if (messageId) {\n setTargetedMessage(messageId);\n }\n });\n\n const loadChannel = () =>\n channelQueryCallRef.current(async () => {\n if (!channel?.initialized || !channel.state.isUpToDate) {\n await channel?.watch();\n setHasNoMoreRecentMessagesToLoad(true);\n channel?.state.setIsUpToDate(true);\n } else {\n await channel.state.loadMessageIntoState('latest');\n }\n return;\n });\n\n const reloadThread = async () => {\n if (!channel || !thread?.id) return;\n setThreadLoadingMore(true);\n try {\n const parentID = thread.id;\n\n const limit = 50;\n channel.state.threads[parentID] = [];\n const queryResponse = await channel.getReplies(parentID, {\n limit,\n });\n\n const updatedHasMore = queryResponse.messages.length === limit;\n const updatedThreadMessages = channel.state.threads[parentID] || [];\n loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);\n const { messages } = await channel.getMessagesById([parentID]);\n const [threadMessage] = messages;\n if (threadMessage) {\n const formattedMessage = channel.state.formatMessage(threadMessage);\n setThread(formattedMessage);\n }\n } catch (err) {\n console.warn('Thread loading request failed with error', err);\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setThreadLoadingMore(false);\n throw err;\n }\n };\n\n const resyncChannel = async () => {\n if (!channel || syncingChannel) return;\n setSyncingChannel(true);\n\n setError(false);\n try {\n /**\n * Allow a buffer of 30 new messages, so that MessageList won't move its scroll position,\n * giving smooth user experience.\n */\n const state = await channel.watch({\n messages: {\n limit: messages.length + 30,\n },\n });\n\n const oldListTopMessage = messages[0];\n const oldListTopMessageId = messages[0]?.id;\n const oldListBottomMessage = messages[messages.length - 1];\n\n const newListTopMessage = state.messages[0];\n const newListBottomMessage = state.messages[state.messages.length - 1];\n\n if (\n !oldListTopMessage || // previous list was empty\n !oldListBottomMessage || // previous list was empty\n !newListTopMessage || // new list is truncated\n !newListBottomMessage // new list is truncated\n ) {\n /** Channel was truncated */\n channel.state.clearMessages();\n channel.state.setIsUpToDate(true);\n channel.state.addMessagesSorted(state.messages);\n copyChannelState();\n return;\n }\n\n const parseMessage = (message: typeof oldListTopMessage) =>\n ({\n ...message,\n created_at: message.created_at.toString(),\n pinned_at: message.pinned_at?.toString(),\n updated_at: message.updated_at?.toString(),\n } as unknown as MessageResponse<StreamChatGenerics>);\n\n const failedMessages = messages\n .filter((message) => message.status === MessageStatusTypes.FAILED)\n .map(parseMessage);\n\n const failedThreadMessages = thread\n ? threadMessages\n .filter((message) => message.status === MessageStatusTypes.FAILED)\n .map(parseMessage)\n : [];\n\n const oldListTopMessageCreatedAt = oldListTopMessage.created_at;\n const oldListBottomMessageCreatedAt = oldListBottomMessage.created_at;\n const newListTopMessageCreatedAt = newListTopMessage.created_at\n ? new Date(newListTopMessage.created_at)\n : new Date();\n const newListBottomMessageCreatedAt = newListBottomMessage?.created_at\n ? new Date(newListBottomMessage.created_at)\n : new Date();\n\n let finalMessages = [];\n\n if (\n oldListTopMessage &&\n oldListTopMessageCreatedAt &&\n oldListBottomMessageCreatedAt &&\n newListTopMessageCreatedAt < oldListTopMessageCreatedAt &&\n newListBottomMessageCreatedAt >= oldListBottomMessageCreatedAt\n ) {\n const index = state.messages.findIndex((message) => message.id === oldListTopMessageId);\n finalMessages = state.messages.slice(index);\n } else {\n finalMessages = state.messages;\n }\n\n setHasNoMoreRecentMessagesToLoad(true);\n channel.state.setIsUpToDate(true);\n\n channel.state.clearMessages();\n channel.state.addMessagesSorted(finalMessages);\n\n setHasMore(true);\n copyChannelState();\n\n if (failedMessages.length) {\n channel.state.addMessagesSorted(failedMessages);\n copyChannelState();\n }\n\n await reloadThread();\n\n if (thread && failedThreadMessages.length) {\n channel.state.addMessagesSorted(failedThreadMessages);\n setThreadMessages([...channel.state.threads[thread.id]]);\n }\n } catch (err) {\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoading(false);\n }\n\n setSyncingChannel(false);\n };\n\n const reloadChannel = () =>\n channelQueryCallRef.current(async () => {\n setLoading(true);\n await channel.state.loadMessageIntoState('latest');\n setLoading(false);\n setHasNoMoreRecentMessagesToLoad(true);\n channel?.state.setIsUpToDate(true);\n });\n\n /**\n * @deprecated\n * Makes a query to load messages at particular message id.\n *\n * @param messageId Targeted message id\n * @param before Number of messages to load before messageId\n * @param after Number of messages to load after messageId\n */\n const queryAtMessage = async ({\n after = 10,\n before = 10,\n messageId,\n }: Parameters<ChannelContextValue<StreamChatGenerics>['loadChannelAtMessage']>[0]) => {\n if (!channel) return;\n channel.state.setIsUpToDate(false);\n channel.state.clearMessages();\n setMessages([...channel.state.messages]);\n if (!messageId) {\n await channel.query({\n messages: {\n limit: before,\n },\n watch: true,\n });\n\n channel.state.setIsUpToDate(true);\n return;\n }\n\n await queryBeforeMessage(messageId, before);\n await queryAfterMessage(messageId, after);\n };\n\n /**\n * @deprecated\n * Makes a query to load messages before particular message id.\n *\n * @param messageId Targeted message id\n * @param limit Number of messages to load\n */\n const queryBeforeMessage = async (messageId: string, limit = 5) => {\n if (!channel) return;\n\n await channel.query({\n messages: {\n id_lt: messageId,\n limit,\n },\n watch: true,\n });\n\n channel.state.setIsUpToDate(false);\n };\n\n /**\n * @deprecated\n * Makes a query to load messages later than particular message id.\n *\n * @param messageId Targeted message id\n * @param limit Number of messages to load.\n */\n const queryAfterMessage = async (messageId: string, limit = 5) => {\n if (!channel) return;\n const state = await channel.query({\n messages: {\n id_gte: messageId,\n limit,\n },\n watch: true,\n });\n\n if (state.messages.length < limit) {\n channel.state.setIsUpToDate(true);\n } else {\n channel.state.setIsUpToDate(false);\n }\n };\n\n // In case the channel is disconnected which may happen when channel is deleted,\n // underlying js client throws an error. Following function ensures that Channel component\n // won't result in error in such a case.\n const getChannelConfigSafely = () => {\n try {\n return channel?.getConfig();\n } catch (_) {\n return null;\n }\n };\n\n /**\n * Channel configs for use in disabling local functionality.\n * Nullish coalescing is used to give first priority to props to override\n * the server settings. Then priority to server settings to override defaults.\n */\n const clientChannelConfig = getChannelConfigSafely();\n\n /**\n * MESSAGE METHODS\n */\n\n const updateMessage: MessagesContextValue<StreamChatGenerics>['updateMessage'] = (\n updatedMessage,\n extraState = {},\n ) => {\n if (channel) {\n channel.state.addMessageSorted(updatedMessage, true);\n if (thread && updatedMessage.parent_id) {\n extraState.threadMessages = channel.state.threads[updatedMessage.parent_id] || [];\n setThreadMessages(extraState.threadMessages);\n }\n\n setMessages([...channel.state.messages]);\n }\n };\n\n const replaceMessage = (\n oldMessage: MessageResponse<StreamChatGenerics>,\n newMessage: MessageResponse<StreamChatGenerics>,\n ) => {\n if (channel) {\n channel.state.removeMessage(oldMessage);\n channel.state.addMessageSorted(newMessage, true);\n if (thread && newMessage.parent_id) {\n const threadMessages = channel.state.threads[newMessage.parent_id] || [];\n setThreadMessages(threadMessages);\n }\n setMessages(channel.state.messages);\n }\n };\n\n const createMessagePreview = ({\n attachments,\n mentioned_users,\n parent_id,\n text,\n ...extraFields\n }: Partial<StreamMessage<StreamChatGenerics>>) => {\n // Exclude following properties from message.user within message preview,\n // since they could be long arrays and have no meaning as sender of message.\n // Storing such large value within user's table may cause sqlite queries to crash.\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { channel_mutes, devices, mutes, ...messageUser } = client.user;\n\n const preview = {\n __html: text,\n attachments,\n created_at: new Date(),\n html: text,\n id: `${client.userID}-${generateRandomId()}`,\n mentioned_users:\n mentioned_users?.map((userId) => ({\n id: userId,\n })) || [],\n parent_id,\n reactions: [],\n status: MessageStatusTypes.SENDING,\n text,\n type: 'regular',\n user: {\n id: client.userID,\n ...messageUser,\n },\n ...extraFields,\n } as unknown as MessageResponse<StreamChatGenerics>;\n\n /**\n * This is added to the message for local rendering prior to the message\n * being returned from the backend, it is removed when the message is sent\n * as quoted_message is a reserved field.\n */\n if (preview.quoted_message_id) {\n const quotedMessage = messages.find((message) => message.id === preview.quoted_message_id);\n\n preview.quoted_message =\n quotedMessage as MessageResponse<StreamChatGenerics>['quoted_message'];\n }\n return preview;\n };\n\n const uploadPendingAttachments = async (message: MessageResponse<StreamChatGenerics>) => {\n const updatedMessage = { ...message };\n if (updatedMessage.attachments?.length) {\n for (let i = 0; i < updatedMessage.attachments?.length; i++) {\n const attachment = updatedMessage.attachments[i];\n const file = attachment.originalFile;\n // check if image_url is not a remote url\n if (\n attachment.type === 'image' &&\n file?.uri &&\n attachment.image_url &&\n isLocalUrl(attachment.image_url)\n ) {\n const filename = file.uri.replace(/^(file:\\/\\/|content:\\/\\/|assets-library:\\/\\/)/, '');\n const contentType = lookup(filename) || 'multipart/form-data';\n\n const uploadResponse = doImageUploadRequest\n ? await doImageUploadRequest(file, channel)\n : await channel.sendImage(file?.uri, filename, contentType);\n\n attachment.image_url = uploadResponse.file;\n delete attachment.originalFile;\n\n dbApi.updateMessage({\n message: { ...updatedMessage, cid: channel.cid },\n });\n }\n\n if (\n (attachment.type === 'file' ||\n attachment.type === 'audio' ||\n attachment.type === 'video') &&\n attachment.asset_url &&\n isLocalUrl(attachment.asset_url) &&\n file?.uri\n ) {\n const response = doDocUploadRequest\n ? await doDocUploadRequest(file, channel)\n : await channel.sendFile(file.uri, file.name, file.type);\n attachment.asset_url = response.file;\n if (response.thumb_url) {\n attachment.thumb_url = response.thumb_url;\n }\n delete attachment.originalFile;\n dbApi.updateMessage({\n message: { ...updatedMessage, cid: channel.cid },\n });\n }\n }\n }\n\n return updatedMessage;\n };\n\n const sendMessageRequest = async (\n message: MessageResponse<StreamChatGenerics>,\n retrying?: boolean,\n ) => {\n try {\n const updatedMessage = await uploadPendingAttachments(message);\n const {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n __html,\n attachments,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n created_at,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n deleted_at,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n html,\n id,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n latest_reactions,\n mentioned_users,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n own_reactions,\n parent_id,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n quoted_message,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n reaction_counts,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n reactions,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n status,\n text,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n type,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n updated_at,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n user,\n ...extraFields\n } = updatedMessage;\n if (!channel.id) return;\n\n const mentionedUserIds = mentioned_users?.map((user) => user.id) || [];\n\n const messageData = {\n attachments,\n id,\n mentioned_users: mentionedUserIds,\n parent_id,\n text: patchMessageTextCommand(text ?? '', mentionedUserIds),\n ...extraFields,\n } as StreamMessage<StreamChatGenerics>;\n\n let messageResponse = {} as SendMessageAPIResponse<StreamChatGenerics>;\n if (doSendMessageRequest) {\n messageResponse = await doSendMessageRequest(channel?.cid || '', messageData);\n } else if (channel) {\n messageResponse = await channel.sendMessage(messageData);\n }\n\n if (messageResponse.message) {\n messageResponse.message.status = MessageStatusTypes.RECEIVED;\n\n if (enableOfflineSupport) {\n dbApi.updateMessage({\n message: { ...messageResponse.message, cid: channel.cid },\n });\n }\n if (retrying) {\n replaceMessage(message, messageResponse.message);\n } else {\n updateMessage(messageResponse.message);\n }\n }\n } catch (err) {\n console.log(err);\n message.status = MessageStatusTypes.FAILED;\n updateMessage({ ...message, cid: channel.cid });\n\n if (enableOfflineSupport) {\n dbApi.updateMessage({\n message: { ...message, cid: channel.cid },\n });\n }\n }\n };\n\n const sendMessage: InputMessageInputContextValue<StreamChatGenerics>['sendMessage'] = async (\n message,\n ) => {\n if (channel?.state?.filterErrorMessages) {\n channel.state.filterErrorMessages();\n }\n\n const messagePreview = createMessagePreview({\n ...message,\n attachments: message.attachments || [],\n });\n\n if (!channel?.state.isUpToDate) {\n await reloadChannel();\n }\n\n updateMessage(messagePreview, {\n commands: [],\n messageInput: '',\n });\n\n if (enableOfflineSupport) {\n // While sending a message, we add the message to local db with failed status, so that\n // if app gets closed before message gets sent and next time user opens the app\n // then user can see that message in failed state and can retry.\n // If succesfull, it will be updated with received status.\n dbApi.upsertMessages({\n messages: [{ ...messagePreview, cid: channel.cid, status: MessageStatusTypes.FAILED }],\n });\n }\n\n await sendMessageRequest(messagePreview);\n };\n\n const retrySendMessage: MessagesContextValue<StreamChatGenerics>['retrySendMessage'] = async (\n message,\n ) => {\n const statusPendingMessage = {\n ...message,\n status: MessageStatusTypes.SENDING,\n };\n\n updateMessage(statusPendingMessage);\n\n await sendMessageRequest(statusPendingMessage, true);\n };\n\n // hard limit to prevent you from scrolling faster than 1 page per 2 seconds\n const loadMoreFinished = useRef(\n debounce(\n (updatedHasMore: boolean, newMessages: ChannelState<StreamChatGenerics>['messages']) => {\n setLoadingMore(false);\n setError(false);\n setHasMore(updatedHasMore);\n setMessages(newMessages);\n },\n defaultDebounceInterval,\n debounceOptions,\n ),\n ).current;\n\n const loadMore: PaginatedMessageListContextValue<StreamChatGenerics>['loadMore'] = async (\n limit = 20,\n ) => {\n if (loadingMore || hasMore === false) {\n return;\n }\n setLoadingMore(true);\n\n if (!messages.length) {\n return setLoadingMore(false);\n }\n\n const oldestMessage = messages && messages[0];\n\n if (oldestMessage && oldestMessage.status !== MessageStatusTypes.RECEIVED) {\n return setLoadingMore(false);\n }\n\n const oldestID = oldestMessage && oldestMessage.id;\n\n try {\n if (channel) {\n const queryResponse = await channel.query({\n messages: { id_lt: oldestID, limit },\n });\n\n const updatedHasMore = queryResponse.messages.length === limit;\n loadMoreFinished(updatedHasMore, channel.state.messages);\n }\n } catch (err) {\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoadingMore(false);\n throw err;\n }\n };\n\n const loadMoreRecent: PaginatedMessageListContextValue<StreamChatGenerics>['loadMoreRecent'] =\n async (limit = 5) => {\n if (hasNoMoreRecentMessagesToLoad) {\n return;\n }\n\n setLoadingMoreRecent(true);\n\n const recentMessage = messages[messages.length - 1];\n\n if (recentMessage?.status !== MessageStatusTypes.RECEIVED) {\n setLoadingMoreRecent(false);\n return;\n }\n\n try {\n if (channel) {\n const state = await channel.query({\n messages: {\n id_gte: recentMessage.id,\n limit,\n },\n watch: true,\n });\n setHasNoMoreRecentMessagesToLoad(state.messages.length < limit);\n loadMoreRecentFinished(channel.state.messages);\n }\n } catch (err) {\n console.warn('Message pagination request failed with error', err);\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoadingMoreRecent(false);\n throw err;\n }\n };\n\n // hard limit to prevent you from scrolling faster than 1 page per 2 seconds\n const loadMoreRecentFinished = useRef(\n debounce(\n (newMessages: ChannelState<StreamChatGenerics>['messages']) => {\n setLoadingMoreRecent(false);\n setMessages(newMessages);\n setError(false);\n },\n defaultDebounceInterval,\n debounceOptions,\n ),\n ).current;\n\n const editMessage: InputMessageInputContextValue<StreamChatGenerics>['editMessage'] = (\n updatedMessage,\n ) =>\n doUpdateMessageRequest\n ? doUpdateMessageRequest(channel?.cid || '', updatedMessage)\n : client.updateMessage(updatedMessage);\n\n const setEditingState: MessagesContextValue<StreamChatGenerics>['setEditingState'] = (\n message,\n ) => {\n setEditing(message);\n };\n\n const setQuotedMessageState: MessagesContextValue<StreamChatGenerics>['setQuotedMessageState'] = (\n message,\n ) => {\n setQuotedMessage(message);\n };\n\n const clearEditingState: InputMessageInputContextValue<StreamChatGenerics>['clearEditingState'] =\n () => setEditing(false);\n\n const clearQuotedMessageState: InputMessageInputContextValue<StreamChatGenerics>['clearQuotedMessageState'] =\n () => setQuotedMessage(false);\n\n const removeMessage: MessagesContextValue<StreamChatGenerics>['removeMessage'] = (message) => {\n if (channel) {\n channel.state.removeMessage(message);\n setMessages(channel.state.messages);\n if (thread) {\n setThreadMessages(channel.state.threads[thread.id] || []);\n }\n }\n\n if (enableOfflineSupport) {\n dbApi.deleteMessage({\n id: message.id,\n });\n }\n };\n\n const sendReaction = async (type: string, messageId: string) => {\n if (!channel?.id || !client.user) {\n throw new Error('Channel has not been initialized');\n }\n\n const payload: Parameters<ChannelClass<StreamChatGenerics>['sendReaction']> = [\n messageId,\n {\n type,\n } as Reaction<StreamChatGenerics>,\n { enforce_unique: enforceUniqueReaction },\n ];\n\n if (!enableOfflineSupport) {\n await channel.sendReaction(...payload);\n return;\n }\n\n addReactionToLocalState<StreamChatGenerics>({\n channel,\n enforceUniqueReaction,\n messageId,\n reactionType: type,\n user: client.user,\n });\n\n setMessages(channel.state.messages);\n\n await DBSyncManager.queueTask<StreamChatGenerics>({\n client,\n task: {\n channelId: channel.id,\n channelType: channel.type,\n messageId,\n payload,\n type: 'send-reaction',\n },\n });\n };\n const deleteMessage: MessagesContextValue<StreamChatGenerics>['deleteMessage'] = async (\n message,\n ) => {\n if (!channel.id) {\n throw new Error('Channel has not been initialized yet');\n }\n\n if (!enableOfflineSupport) {\n await client.deleteMessage(message.id);\n return;\n }\n\n if (message.status === MessageStatusTypes.FAILED) {\n DBSyncManager.dropPendingTasks({ messageId: message.id });\n removeMessage(message);\n } else {\n updateMessage({\n ...message,\n cid: channel.cid,\n deleted_at: new Date().toISOString(),\n type: 'deleted',\n });\n\n const data = await DBSyncManager.queueTask<StreamChatGenerics>({\n client,\n task: {\n channelId: channel.id,\n channelType: channel.type,\n messageId: message.id,\n payload: [message.id],\n type: 'delete-message',\n },\n });\n\n if (data?.message) {\n updateMessage({ ...data.message });\n }\n }\n };\n\n const deleteReaction: MessagesContextValue<StreamChatGenerics>['deleteReaction'] = async (\n type: string,\n messageId: string,\n ) => {\n if (!channel?.id || !client.user) {\n throw new Error('Channel has not been initialized');\n }\n\n const payload: Parameters<ChannelClass['deleteReaction']> = [messageId, type];\n\n if (!enableOfflineSupport) {\n await channel.deleteReaction(...payload);\n return;\n }\n\n removeReactionFromLocalState({\n channel,\n messageId,\n reactionType: type,\n user: client.user,\n });\n\n setMessages(channel.state.messages);\n\n await DBSyncManager.queueTask<StreamChatGenerics>({\n client,\n task: {\n channelId: channel.id,\n channelType: channel.type,\n messageId,\n payload,\n type: 'delete-reaction',\n },\n });\n };\n\n /**\n * THREAD METHODS\n */\n const openThread: ThreadContextValue<StreamChatGenerics>['openThread'] = (message) => {\n const newThreadMessages = message?.id ? channel?.state?.threads[message.id] || [] : [];\n setThread(message);\n setThreadMessages(newThreadMessages);\n };\n\n const closeThread: ThreadContextValue<StreamChatGenerics>['closeThread'] = useCallback(() => {\n setThread(null);\n setThreadMessages([]);\n }, [setThread, setThreadMessages]);\n\n // hard limit to prevent you from scrolling faster than 1 page per 2 seconds\n const loadMoreThreadFinished = useRef(\n debounce(\n (\n newThreadHasMore: boolean,\n updatedThreadMessages: ChannelState<StreamChatGenerics>['threads'][string],\n ) => {\n setThreadHasMore(newThreadHasMore);\n setThreadLoadingMore(false);\n setThreadMessages(updatedThreadMessages);\n },\n defaultDebounceInterval,\n debounceOptions,\n ),\n ).current;\n\n const loadMoreThread: ThreadContextValue<StreamChatGenerics>['loadMoreThread'] = async () => {\n if (threadLoadingMore || !thread?.id) {\n return;\n }\n setThreadLoadingMore(true);\n\n try {\n if (channel) {\n const parentID = thread.id;\n\n /**\n * In the channel is re-initializing, then threads may get wiped out during the process\n * (check `addMessagesSorted` method on channel.state). In those cases, we still want to\n * preserve the messages on active thread, so lets simply copy messages from UI state to\n * `channel.state`.\n */\n channel.state.threads[parentID] = threadMessages;\n const oldestMessageID = threadMessages?.[0]?.id;\n\n const limit = 50;\n const queryResponse = await channel.getReplies(parentID, {\n id_lt: oldestMessageID,\n limit,\n });\n\n const updatedHasMore = queryResponse.messages.length === limit;\n const updatedThreadMessages = channel.state.threads[parentID] || [];\n loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);\n }\n } catch (err) {\n console.warn('Message pagination request failed with error', err);\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setThreadLoadingMore(false);\n throw err;\n }\n };\n\n const ownCapabilitiesContext = useCreateOwnCapabilitiesContext({\n channel,\n overrideCapabilities: overrideOwnCapabilities,\n });\n\n const channelContext = useCreateChannelContext({\n channel,\n disabled: !!channel?.data?.frozen && disableIfFrozenChannel,\n EmptyStateIndicator,\n enableMessageGroupingByUser,\n enforceUniqueReaction,\n error,\n giphyEnabled:\n giphyEnabled ??\n !!(clientChannelConfig?.commands || [])?.some((command) => command.name === 'giphy'),\n hideDateSeparators,\n hideStickyDateHeader,\n isAdmin,\n isChannelActive: shouldSyncChannel,\n isModerator,\n isOwner,\n lastRead,\n loadChannelAroundMessage,\n loadChannelAtMessage,\n loading,\n LoadingIndicator,\n markRead,\n maxTimeBetweenGroupedMessages,\n members,\n NetworkDownIndicator,\n read,\n reloadChannel,\n scrollToFirstUnreadThreshold,\n setLastRead,\n setTargetedMessage,\n StickyHeader,\n targetedMessage,\n threadList,\n watcherCount,\n watchers,\n });\n\n const inputMessageInputContext = useCreateInputMessageInputContext<StreamChatGenerics>({\n additionalTextInputProps,\n AttachButton,\n autoCompleteSuggestionsLimit,\n autoCompleteTriggerSettings,\n channelId,\n clearEditingState,\n clearQuotedMessageState,\n CommandsButton,\n compressImageQuality,\n CooldownTimer,\n doDocUploadRequest,\n doImageUploadRequest,\n editing,\n editMessage,\n FileUploadPreview,\n hasCommands,\n hasFilePicker,\n hasImagePicker,\n ImageUploadPreview,\n initialValue,\n Input,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n maxMessageLength: maxMessageLengthProp ?? clientChannelConfig?.max_message_length ?? undefined,\n maxNumberOfFiles,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n MoreOptionsButton,\n numberOfLines,\n onChangeText,\n quotedMessage,\n SendButton,\n sendImageAsync,\n sendMessage,\n SendMessageDisallowedIndicator,\n setInputRef,\n setQuotedMessageState,\n ShowThreadMessageInChannelButton,\n UploadProgressIndicator,\n });\n\n const messageListContext = useCreatePaginatedMessageListContext({\n channelId,\n hasMore,\n hasNoMoreRecentMessagesToLoad,\n loadingMore: loadingMoreProp !== undefined ? loadingMoreProp : loadingMore,\n loadingMoreRecent:\n loadingMoreRecentProp !== undefined ? loadingMoreRecentProp : loadingMoreRecent,\n loadMore,\n loadMoreRecent,\n messages,\n setLoadingMore,\n setLoadingMoreRecent,\n });\n\n const messagesContext = useCreateMessagesContext({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n AudioAttachment,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n channelId,\n DateHeader,\n deletedMessagesVisibilityType,\n deleteMessage,\n deleteReaction,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n getMessagesGroupStyles,\n Giphy,\n giphyVersion,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n initialScrollToFirstUnreadMessage: !messageId && initialScrollToFirstUnreadMessage, // when messageId is set, we scroll to the messageId instead of first unread\n InlineDateSeparator,\n InlineUnreadIndicator,\n isAttachmentEqual,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n sendReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n VideoThumbnail,\n });\n\n const suggestionsContext = {\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n AutoCompleteSuggestionList,\n };\n\n const threadContext = useCreateThreadContext({\n allowThreadMessagesInChannel,\n closeThread,\n loadMoreThread,\n openThread,\n reloadThread,\n setThreadLoadingMore,\n thread,\n threadHasMore,\n threadLoadingMore,\n threadMessages,\n });\n\n const typingContext = useCreateTypingContext({\n typing,\n });\n\n // TODO: replace the null view with appropriate message. Currently this is waiting a design decision.\n if (deleted) return null;\n\n if (!channel || (error && messages.length === 0)) {\n return <LoadingErrorIndicator error={error} listType='message' retry={reloadChannel} />;\n }\n\n if (!channel?.cid || !channel.watch) {\n return (\n <Text style={[styles.selectChannel, { color: black }, selectChannel]} testID='no-channel'>\n {t('Please select a channel first')}\n </Text>\n );\n }\n\n return (\n <KeyboardCompatibleView\n behavior={keyboardBehavior}\n enabled={!disableKeyboardCompatibleView}\n keyboardVerticalOffset={keyboardVerticalOffset}\n {...additionalKeyboardAvoidingViewProps}\n >\n <ChannelProvider<StreamChatGenerics> value={channelContext}>\n <OwnCapabilitiesProvider value={ownCapabilitiesContext}>\n <TypingProvider<StreamChatGenerics> value={typingContext}>\n <PaginatedMessageListProvider<StreamChatGenerics> value={messageListContext}>\n <MessagesProvider<StreamChatGenerics> value={messagesContext}>\n <ThreadProvider<StreamChatGenerics> value={threadContext}>\n <SuggestionsProvider<StreamChatGenerics> value={suggestionsContext}>\n <MessageInputProvider<StreamChatGenerics> value={inputMessageInputContext}>\n <View style={{ height: '100%' }}>{children}</View>\n </MessageInputProvider>\n </SuggestionsProvider>\n </ThreadProvider>\n </MessagesProvider>\n </PaginatedMessageListProvider>\n </TypingProvider>\n </OwnCapabilitiesProvider>\n </ChannelProvider>\n </KeyboardCompatibleView>\n );\n};\n\nexport type ChannelProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ChannelPropsWithContext<StreamChatGenerics>, 'channel'>> &\n Pick<ChannelPropsWithContext<StreamChatGenerics>, 'channel'>;\n\n/**\n *\n * The wrapper component for a chat channel. Channel needs to be placed inside a Chat component\n * to receive the StreamChat client instance. MessageList, Thread, and MessageInput must be\n * children of the Channel component to receive the ChannelContext.\n *\n * @example ./Channel.md\n */\nexport const Channel = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChannelProps<StreamChatGenerics>>,\n) => {\n const { client, enableOfflineSupport } = useChatContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n const shouldSyncChannel = props.thread?.id ? !!props.threadList : true;\n\n const {\n members,\n messages,\n read,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n threadMessages,\n typing,\n watcherCount,\n watchers,\n } = useChannelState<StreamChatGenerics>(\n props.channel,\n props.threadList ? props.thread?.id : undefined,\n );\n\n return (\n <ChannelWithContext<StreamChatGenerics>\n {...{\n client,\n enableOfflineSupport,\n t,\n }}\n {...props}\n shouldSyncChannel={shouldSyncChannel}\n {...{\n members,\n messages: props.messages || messages,\n read,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n threadMessages,\n typing,\n watcherCount,\n watchers,\n }}\n />\n );\n};\n"],"mappings":"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"}