stream-chat-react-native-core 6.0.0-rc.8 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/commonjs/components/AITypingIndicatorView/AITypingIndicatorView.js +53 -0
- package/lib/commonjs/components/AITypingIndicatorView/AITypingIndicatorView.js.map +1 -0
- package/lib/commonjs/components/AITypingIndicatorView/hooks/useAIState.js +59 -0
- package/lib/commonjs/components/AITypingIndicatorView/hooks/useAIState.js.map +1 -0
- package/lib/commonjs/components/AITypingIndicatorView/index.js +26 -0
- package/lib/commonjs/components/AITypingIndicatorView/index.js.map +1 -0
- package/lib/commonjs/components/Attachment/AudioAttachment.js +27 -22
- package/lib/commonjs/components/Attachment/AudioAttachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +3 -1
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +2 -2
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +37 -133
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js +6 -4
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +483 -1056
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useChannelDataState.js +174 -0
- package/lib/commonjs/components/Channel/hooks/useChannelDataState.js.map +1 -0
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +0 -6
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +2 -0
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +4 -0
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +3 -3
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js +324 -0
- package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js.map +1 -0
- package/lib/commonjs/components/ChannelList/Skeleton.js +7 -3
- package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +85 -45
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +17 -91
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +3 -24
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +2 -2
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewData.js +121 -0
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewData.js.map +1 -0
- package/lib/commonjs/components/ChannelPreview/hooks/useIsChannelMuted.js +35 -0
- package/lib/commonjs/components/ChannelPreview/hooks/useIsChannelMuted.js.map +1 -0
- package/lib/commonjs/components/Chat/Chat.js +5 -1
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js +15 -9
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +2 -0
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js +0 -4
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +46 -46
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +3 -4
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/hooks/useAnimatedGalleryStyle.js +2 -2
- package/lib/commonjs/components/ImageGallery/hooks/useAnimatedGalleryStyle.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +7 -0
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +17 -4
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +15 -6
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/StreamingMessageView.js +36 -0
- package/lib/commonjs/components/Message/MessageSimple/StreamingMessageView.js.map +1 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js +9 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +209 -23
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +2 -0
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useStreamingMessage.js +43 -0
- package/lib/commonjs/components/Message/hooks/useStreamingMessage.js.map +1 -0
- package/lib/commonjs/components/MessageInput/MessageInput.js +41 -21
- package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/commonjs/components/MessageInput/StopMessageStreamingButton.js +39 -0
- package/lib/commonjs/components/MessageInput/StopMessageStreamingButton.js.map +1 -0
- package/lib/commonjs/components/MessageList/MessageList.js +74 -73
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +1 -1
- package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
- package/lib/commonjs/components/MessageMenu/MessageUserReactions.js +1 -1
- package/lib/commonjs/components/MessageMenu/MessageUserReactions.js.map +1 -1
- package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js +4 -2
- package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js.map +1 -1
- package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js +3 -2
- package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
- package/lib/commonjs/components/Poll/CreatePollContent.js +14 -9
- package/lib/commonjs/components/Poll/CreatePollContent.js.map +1 -1
- package/lib/commonjs/components/Poll/Poll.js +2 -8
- package/lib/commonjs/components/Poll/Poll.js.map +1 -1
- package/lib/commonjs/components/Poll/components/Button.js +9 -474
- package/lib/commonjs/components/Poll/components/Button.js.map +1 -1
- package/lib/commonjs/components/Poll/components/CreatePollIcon.js +2 -2
- package/lib/commonjs/components/Poll/components/CreatePollIcon.js.map +1 -1
- package/lib/commonjs/components/Poll/components/CreatePollOptions.js +9 -4
- package/lib/commonjs/components/Poll/components/CreatePollOptions.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollAnswersList.js +99 -26
- package/lib/commonjs/components/Poll/components/PollAnswersList.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollButtons.js +291 -0
- package/lib/commonjs/components/Poll/components/PollButtons.js.map +1 -0
- package/lib/commonjs/components/Poll/components/PollInputDialog.js +14 -4
- package/lib/commonjs/components/Poll/components/PollInputDialog.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollModalHeader.js +7 -1
- package/lib/commonjs/components/Poll/components/PollModalHeader.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollOption.js +88 -6
- package/lib/commonjs/components/Poll/components/PollOption.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js +2 -2
- package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js +62 -67
- package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollResults/PollVote.js +89 -0
- package/lib/commonjs/components/Poll/components/PollResults/PollVote.js.map +1 -0
- package/lib/commonjs/components/Poll/components/index.js +11 -0
- package/lib/commonjs/components/Poll/components/index.js.map +1 -1
- package/lib/commonjs/components/ThreadList/ThreadList.js +0 -3
- package/lib/commonjs/components/ThreadList/ThreadList.js.map +1 -1
- package/lib/commonjs/components/UIComponents/BottomSheetModal.js +11 -5
- package/lib/commonjs/components/UIComponents/BottomSheetModal.js.map +1 -1
- package/lib/commonjs/components/index.js +66 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +0 -35
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +7 -84
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +4 -2
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -0
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +15 -0
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/i18n/en.json +2 -0
- package/lib/commonjs/i18n/es.json +2 -0
- package/lib/commonjs/i18n/fr.json +2 -0
- package/lib/commonjs/i18n/he.json +2 -0
- package/lib/commonjs/i18n/hi.json +2 -0
- package/lib/commonjs/i18n/it.json +2 -0
- package/lib/commonjs/i18n/ja.json +2 -0
- package/lib/commonjs/i18n/ko.json +2 -0
- package/lib/commonjs/i18n/nl.json +2 -0
- package/lib/commonjs/i18n/pt-br.json +2 -0
- package/lib/commonjs/i18n/ru.json +2 -0
- package/lib/commonjs/i18n/tr.json +2 -0
- package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js +14 -0
- package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -0
- package/lib/commonjs/mock-builders/event/notificationMarkRead.js +14 -0
- package/lib/commonjs/mock-builders/event/notificationMarkRead.js.map +1 -0
- package/lib/commonjs/mock-builders/event/notificationMarkUnread.js +17 -0
- package/lib/commonjs/mock-builders/event/notificationMarkUnread.js.map +1 -0
- package/lib/commonjs/mock-builders/generator/channel.js +1 -0
- package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
- package/lib/commonjs/store/SqliteClient.js +11 -2
- package/lib/commonjs/store/SqliteClient.js.map +1 -1
- package/lib/commonjs/utils/getTrimmedAttachmentTitle.js +8 -2
- package/lib/commonjs/utils/getTrimmedAttachmentTitle.js.map +1 -1
- package/lib/commonjs/utils/utils.js +3 -2
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/AITypingIndicatorView/AITypingIndicatorView.js +53 -0
- package/lib/module/components/AITypingIndicatorView/AITypingIndicatorView.js.map +1 -0
- package/lib/module/components/AITypingIndicatorView/hooks/useAIState.js +59 -0
- package/lib/module/components/AITypingIndicatorView/hooks/useAIState.js.map +1 -0
- package/lib/module/components/AITypingIndicatorView/index.js +26 -0
- package/lib/module/components/AITypingIndicatorView/index.js.map +1 -0
- package/lib/module/components/Attachment/AudioAttachment.js +27 -22
- package/lib/module/components/Attachment/AudioAttachment.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +3 -1
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js +2 -2
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +37 -133
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js +6 -4
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +483 -1056
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useChannelDataState.js +174 -0
- package/lib/module/components/Channel/hooks/useChannelDataState.js.map +1 -0
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js +0 -6
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +2 -0
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +4 -0
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +3 -3
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useMessageListPagination.js +324 -0
- package/lib/module/components/Channel/hooks/useMessageListPagination.js.map +1 -0
- package/lib/module/components/ChannelList/Skeleton.js +7 -3
- package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +85 -45
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreview.js +17 -91
- package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +3 -24
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +2 -2
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewData.js +121 -0
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewData.js.map +1 -0
- package/lib/module/components/ChannelPreview/hooks/useIsChannelMuted.js +35 -0
- package/lib/module/components/ChannelPreview/hooks/useIsChannelMuted.js.map +1 -0
- package/lib/module/components/Chat/Chat.js +5 -1
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useAppSettings.js +15 -9
- package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/module/components/Chat/hooks/useCreateChatContext.js +2 -0
- package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/module/components/Chat/hooks/useIsOnline.js +0 -4
- package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +46 -46
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +3 -4
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/module/components/ImageGallery/hooks/useAnimatedGalleryStyle.js +2 -2
- package/lib/module/components/ImageGallery/hooks/useAnimatedGalleryStyle.js.map +1 -1
- package/lib/module/components/Message/Message.js +7 -0
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +17 -4
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js +15 -6
- package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/StreamingMessageView.js +36 -0
- package/lib/module/components/Message/MessageSimple/StreamingMessageView.js.map +1 -0
- package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js +9 -1
- package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +209 -23
- package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js +2 -0
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/Message/hooks/useStreamingMessage.js +43 -0
- package/lib/module/components/Message/hooks/useStreamingMessage.js.map +1 -0
- package/lib/module/components/MessageInput/MessageInput.js +41 -21
- package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/module/components/MessageInput/StopMessageStreamingButton.js +39 -0
- package/lib/module/components/MessageInput/StopMessageStreamingButton.js.map +1 -0
- package/lib/module/components/MessageList/MessageList.js +74 -73
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/ScrollToBottomButton.js +1 -1
- package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
- package/lib/module/components/MessageMenu/MessageUserReactions.js +1 -1
- package/lib/module/components/MessageMenu/MessageUserReactions.js.map +1 -1
- package/lib/module/components/MessageMenu/MessageUserReactionsItem.js +4 -2
- package/lib/module/components/MessageMenu/MessageUserReactionsItem.js.map +1 -1
- package/lib/module/components/MessageMenu/hooks/useFetchReactions.js +3 -2
- package/lib/module/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
- package/lib/module/components/Poll/CreatePollContent.js +14 -9
- package/lib/module/components/Poll/CreatePollContent.js.map +1 -1
- package/lib/module/components/Poll/Poll.js +2 -8
- package/lib/module/components/Poll/Poll.js.map +1 -1
- package/lib/module/components/Poll/components/Button.js +9 -474
- package/lib/module/components/Poll/components/Button.js.map +1 -1
- package/lib/module/components/Poll/components/CreatePollIcon.js +2 -2
- package/lib/module/components/Poll/components/CreatePollIcon.js.map +1 -1
- package/lib/module/components/Poll/components/CreatePollOptions.js +9 -4
- package/lib/module/components/Poll/components/CreatePollOptions.js.map +1 -1
- package/lib/module/components/Poll/components/PollAnswersList.js +99 -26
- package/lib/module/components/Poll/components/PollAnswersList.js.map +1 -1
- package/lib/module/components/Poll/components/PollButtons.js +291 -0
- package/lib/module/components/Poll/components/PollButtons.js.map +1 -0
- package/lib/module/components/Poll/components/PollInputDialog.js +14 -4
- package/lib/module/components/Poll/components/PollInputDialog.js.map +1 -1
- package/lib/module/components/Poll/components/PollModalHeader.js +7 -1
- package/lib/module/components/Poll/components/PollModalHeader.js.map +1 -1
- package/lib/module/components/Poll/components/PollOption.js +88 -6
- package/lib/module/components/Poll/components/PollOption.js.map +1 -1
- package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js +2 -2
- package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
- package/lib/module/components/Poll/components/PollResults/PollResultItem.js +62 -67
- package/lib/module/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
- package/lib/module/components/Poll/components/PollResults/PollVote.js +89 -0
- package/lib/module/components/Poll/components/PollResults/PollVote.js.map +1 -0
- package/lib/module/components/Poll/components/index.js +11 -0
- package/lib/module/components/Poll/components/index.js.map +1 -1
- package/lib/module/components/ThreadList/ThreadList.js +0 -3
- package/lib/module/components/ThreadList/ThreadList.js.map +1 -1
- package/lib/module/components/UIComponents/BottomSheetModal.js +11 -5
- package/lib/module/components/UIComponents/BottomSheetModal.js.map +1 -1
- package/lib/module/components/index.js +66 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +0 -35
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/useChannelState.js +7 -84
- package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +4 -2
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -0
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +15 -0
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/i18n/en.json +2 -0
- package/lib/module/i18n/es.json +2 -0
- package/lib/module/i18n/fr.json +2 -0
- package/lib/module/i18n/he.json +2 -0
- package/lib/module/i18n/hi.json +2 -0
- package/lib/module/i18n/it.json +2 -0
- package/lib/module/i18n/ja.json +2 -0
- package/lib/module/i18n/ko.json +2 -0
- package/lib/module/i18n/nl.json +2 -0
- package/lib/module/i18n/pt-br.json +2 -0
- package/lib/module/i18n/ru.json +2 -0
- package/lib/module/i18n/tr.json +2 -0
- package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js +14 -0
- package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -0
- package/lib/module/mock-builders/event/notificationMarkRead.js +14 -0
- package/lib/module/mock-builders/event/notificationMarkRead.js.map +1 -0
- package/lib/module/mock-builders/event/notificationMarkUnread.js +17 -0
- package/lib/module/mock-builders/event/notificationMarkUnread.js.map +1 -0
- package/lib/module/mock-builders/generator/channel.js +1 -0
- package/lib/module/mock-builders/generator/channel.js.map +1 -1
- package/lib/module/store/SqliteClient.js +11 -2
- package/lib/module/store/SqliteClient.js.map +1 -1
- package/lib/module/utils/getTrimmedAttachmentTitle.js +8 -2
- package/lib/module/utils/getTrimmedAttachmentTitle.js.map +1 -1
- package/lib/module/utils/utils.js +3 -2
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/AITypingIndicatorView/AITypingIndicatorView.d.ts +11 -0
- package/lib/typescript/components/AITypingIndicatorView/AITypingIndicatorView.d.ts.map +1 -0
- package/lib/typescript/components/AITypingIndicatorView/hooks/useAIState.d.ts +18 -0
- package/lib/typescript/components/AITypingIndicatorView/hooks/useAIState.d.ts.map +1 -0
- package/lib/typescript/components/AITypingIndicatorView/index.d.ts +3 -0
- package/lib/typescript/components/AITypingIndicatorView/index.d.ts.map +1 -0
- package/lib/typescript/components/Attachment/AudioAttachment.d.ts.map +1 -1
- package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts.map +1 -1
- package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerItem.d.ts.map +1 -1
- package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerSelectionBar.d.ts.map +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +7 -6
- package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts +75 -0
- package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts.map +1 -0
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +128 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts +28 -0
- package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +1 -0
- package/lib/typescript/components/ChannelList/Skeleton.d.ts.map +1 -1
- package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +1 -2
- package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +2 -0
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewData.d.ts +8 -0
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewData.d.ts.map +1 -0
- package/lib/typescript/components/ChannelPreview/hooks/useIsChannelMuted.d.ts +8 -0
- package/lib/typescript/components/ChannelPreview/hooks/useIsChannelMuted.d.ts.map +1 -0
- package/lib/typescript/components/Chat/Chat.d.ts +7 -1
- package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
- package/lib/typescript/components/Chat/hooks/useAppSettings.d.ts.map +1 -1
- package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
- package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
- package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts.map +1 -1
- package/lib/typescript/components/ImageGallery/ImageGallery.d.ts.map +1 -1
- package/lib/typescript/components/Message/Message.d.ts +1 -1
- package/lib/typescript/components/Message/Message.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/StreamingMessageView.d.ts +12 -0
- package/lib/typescript/components/Message/MessageSimple/StreamingMessageView.d.ts.map +1 -0
- package/lib/typescript/components/Message/MessageSimple/utils/generateMarkdownText.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +16 -1
- package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts.map +1 -1
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts.map +1 -1
- package/lib/typescript/components/Message/hooks/useStreamingMessage.d.ts +17 -0
- package/lib/typescript/components/Message/hooks/useStreamingMessage.d.ts.map +1 -0
- package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -1
- package/lib/typescript/components/MessageInput/MessageInput.d.ts.map +1 -1
- package/lib/typescript/components/MessageInput/StopMessageStreamingButton.d.ts +10 -0
- package/lib/typescript/components/MessageInput/StopMessageStreamingButton.d.ts.map +1 -0
- package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
- package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +1 -1
- package/lib/typescript/components/MessageList/utils/getReadStates.d.ts.map +1 -1
- package/lib/typescript/components/MessageMenu/MessageUserReactionsItem.d.ts.map +1 -1
- package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts +3 -2
- package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts.map +1 -1
- package/lib/typescript/components/Poll/Poll.d.ts +0 -1
- package/lib/typescript/components/Poll/Poll.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/Button.d.ts +0 -17
- package/lib/typescript/components/Poll/components/Button.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/CreatePollOptions.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollAnswersList.d.ts +2 -0
- package/lib/typescript/components/Poll/components/PollAnswersList.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollButtons.d.ts +10 -0
- package/lib/typescript/components/Poll/components/PollButtons.d.ts.map +1 -0
- package/lib/typescript/components/Poll/components/PollInputDialog.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollOption.d.ts +2 -0
- package/lib/typescript/components/Poll/components/PollOption.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts +11 -4
- package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollResults/PollVote.d.ts +6 -0
- package/lib/typescript/components/Poll/components/PollResults/PollVote.d.ts.map +1 -0
- package/lib/typescript/components/Poll/components/index.d.ts +1 -0
- package/lib/typescript/components/Poll/components/index.d.ts.map +1 -1
- package/lib/typescript/components/ThreadList/ThreadList.d.ts.map +1 -1
- package/lib/typescript/components/UIComponents/BottomSheetModal.d.ts.map +1 -1
- package/lib/typescript/components/index.d.ts +6 -0
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +27 -37
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
- package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +0 -16
- package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts.map +1 -1
- package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +7 -13
- package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts.map +1 -1
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts +2 -1
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +4 -0
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +2 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +1 -1
- package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +8 -4
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
- package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +17 -16
- package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts.map +1 -1
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +16 -1
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
- package/lib/typescript/i18n/en.json +2 -0
- package/lib/typescript/i18n/es.json +2 -0
- package/lib/typescript/i18n/fr.json +2 -0
- package/lib/typescript/i18n/he.json +2 -0
- package/lib/typescript/i18n/hi.json +2 -0
- package/lib/typescript/i18n/it.json +2 -0
- package/lib/typescript/i18n/ja.json +2 -0
- package/lib/typescript/i18n/ko.json +2 -0
- package/lib/typescript/i18n/nl.json +2 -0
- package/lib/typescript/i18n/pt-br.json +2 -0
- package/lib/typescript/i18n/ru.json +2 -0
- package/lib/typescript/i18n/tr.json +2 -0
- package/lib/typescript/store/SqliteClient.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +3 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/utils/getTrimmedAttachmentTitle.d.ts.map +1 -1
- package/lib/typescript/utils/i18n/Streami18n.d.ts +2 -0
- package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
- package/lib/typescript/utils/utils.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/components/AITypingIndicatorView/AITypingIndicatorView.tsx +50 -0
- package/src/components/AITypingIndicatorView/hooks/useAIState.ts +68 -0
- package/src/components/AITypingIndicatorView/index.ts +2 -0
- package/src/components/Attachment/AudioAttachment.tsx +20 -19
- package/src/components/Attachment/Gallery.tsx +1 -1
- package/src/components/AttachmentPicker/AttachmentPicker.tsx +7 -2
- package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +16 -32
- package/src/components/AttachmentPicker/components/AttachmentPickerSelectionBar.tsx +3 -5
- package/src/components/Channel/Channel.tsx +262 -835
- package/src/components/Channel/__tests__/Channel.test.js +244 -13
- package/src/components/Channel/__tests__/useMessageListPagination.test.js +419 -0
- package/src/components/Channel/hooks/useChannelDataState.ts +235 -0
- package/src/components/Channel/hooks/useCreateChannelContext.ts +0 -6
- package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +2 -0
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +4 -0
- package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +3 -10
- package/src/components/Channel/hooks/useMessageListPagination.tsx +246 -0
- package/src/components/ChannelList/Skeleton.tsx +9 -1
- package/src/components/ChannelList/hooks/usePaginatedChannels.ts +37 -30
- package/src/components/ChannelPreview/ChannelPreview.tsx +28 -107
- package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +5 -15
- package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +2 -7
- package/src/components/ChannelPreview/__tests__/ChannelPreview.test.tsx +226 -10
- package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayName.test.tsx +1 -1
- package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewMuted.test.tsx +62 -0
- package/src/components/ChannelPreview/hooks/useChannelPreviewData.ts +138 -0
- package/src/components/ChannelPreview/hooks/useIsChannelMuted.ts +29 -0
- package/src/components/Chat/Chat.tsx +11 -2
- package/src/components/Chat/hooks/__tests__/useAppSettings.test.tsx +1 -0
- package/src/components/Chat/hooks/useAppSettings.ts +2 -0
- package/src/components/Chat/hooks/useCreateChatContext.ts +2 -0
- package/src/components/Chat/hooks/useIsOnline.ts +0 -5
- package/src/components/ImageGallery/ImageGallery.tsx +1 -0
- package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +32 -32
- package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +5 -6
- package/src/components/ImageGallery/hooks/useAnimatedGalleryStyle.tsx +2 -2
- package/src/components/Message/Message.tsx +16 -2
- package/src/components/Message/MessageSimple/MessageContent.tsx +22 -2
- package/src/components/Message/MessageSimple/MessageFooter.tsx +16 -5
- package/src/components/Message/MessageSimple/StreamingMessageView.tsx +34 -0
- package/src/components/Message/MessageSimple/utils/generateMarkdownText.ts +15 -1
- package/src/components/Message/MessageSimple/utils/renderText.tsx +207 -3
- package/src/components/Message/hooks/useCreateMessageContext.ts +2 -0
- package/src/components/Message/hooks/useStreamingMessage.ts +54 -0
- package/src/components/MessageInput/MessageInput.tsx +38 -20
- package/src/components/MessageInput/StopMessageStreamingButton.tsx +34 -0
- package/src/components/MessageInput/__tests__/MessageInput.test.js +116 -2
- package/src/components/MessageList/MessageList.tsx +53 -85
- package/src/components/MessageList/ScrollToBottomButton.tsx +1 -1
- package/src/components/MessageList/__tests__/MessageList.test.js +174 -2
- package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +3 -3
- package/src/components/MessageList/__tests__/__snapshots__/ScrollToBottomButton.test.js.snap +1 -1
- package/src/components/MessageList/hooks/useMessageList.ts +2 -5
- package/src/components/MessageList/utils/getReadStates.ts +3 -2
- package/src/components/MessageMenu/MessageUserReactions.tsx +1 -1
- package/src/components/MessageMenu/MessageUserReactionsItem.tsx +4 -2
- package/src/components/MessageMenu/hooks/useFetchReactions.ts +6 -3
- package/src/components/Poll/CreatePollContent.tsx +4 -4
- package/src/components/Poll/Poll.tsx +1 -20
- package/src/components/Poll/components/Button.tsx +8 -420
- package/src/components/Poll/components/CreatePollIcon.tsx +1 -1
- package/src/components/Poll/components/CreatePollOptions.tsx +9 -4
- package/src/components/Poll/components/PollAnswersList.tsx +66 -3
- package/src/components/Poll/components/PollButtons.tsx +241 -0
- package/src/components/Poll/components/PollInputDialog.tsx +9 -6
- package/src/components/Poll/components/PollModalHeader.tsx +3 -3
- package/src/components/Poll/components/PollOption.tsx +74 -4
- package/src/components/Poll/components/PollResults/PollOptionFullResults.tsx +1 -1
- package/src/components/Poll/components/PollResults/PollResultItem.tsx +68 -52
- package/src/components/Poll/components/PollResults/PollVote.tsx +68 -0
- package/src/components/Poll/components/index.ts +1 -0
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +37 -4
- package/src/components/ThreadList/ThreadList.tsx +0 -2
- package/src/components/UIComponents/BottomSheetModal.tsx +7 -3
- package/src/components/index.ts +7 -0
- package/src/contexts/channelContext/ChannelContext.tsx +35 -37
- package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +1 -67
- package/src/contexts/channelsStateContext/useChannelState.ts +6 -108
- package/src/contexts/chatContext/ChatContext.tsx +2 -1
- package/src/contexts/messageContext/MessageContext.tsx +4 -0
- package/src/contexts/messageInputContext/MessageInputContext.tsx +5 -1
- package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +2 -0
- package/src/contexts/messagesContext/MessagesContext.tsx +8 -3
- package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +17 -16
- package/src/contexts/themeContext/utils/theme.ts +30 -1
- package/src/i18n/en.json +2 -0
- package/src/i18n/es.json +2 -0
- package/src/i18n/fr.json +2 -0
- package/src/i18n/he.json +2 -0
- package/src/i18n/hi.json +2 -0
- package/src/i18n/it.json +2 -0
- package/src/i18n/ja.json +2 -0
- package/src/i18n/ko.json +2 -0
- package/src/i18n/nl.json +2 -0
- package/src/i18n/pt-br.json +2 -0
- package/src/i18n/ru.json +2 -0
- package/src/i18n/tr.json +2 -0
- package/src/mock-builders/event/notificationChannelMutesUpdated.js +7 -0
- package/src/mock-builders/event/notificationMarkRead.js +7 -0
- package/src/mock-builders/event/notificationMarkUnread.js +9 -0
- package/src/mock-builders/generator/channel.ts +1 -0
- package/src/store/SqliteClient.ts +5 -1
- package/src/types/types.ts +3 -0
- package/src/utils/getTrimmedAttachmentTitle.ts +10 -2
- package/src/utils/utils.ts +5 -2
- package/src/version.json +1 -1
|
@@ -16,6 +16,7 @@ var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
|
16
16
|
var _throttle = _interopRequireDefault(require("lodash/throttle"));
|
|
17
17
|
var _mimeTypes = require("mime-types");
|
|
18
18
|
var _streamChat = require("stream-chat");
|
|
19
|
+
var _useChannelDataState2 = require("./hooks/useChannelDataState");
|
|
19
20
|
var _useCreateChannelContext = require("./hooks/useCreateChannelContext");
|
|
20
21
|
var _useCreateInputMessageInputContext = require("./hooks/useCreateInputMessageInputContext");
|
|
21
22
|
var _useCreateMessagesContext = require("./hooks/useCreateMessagesContext");
|
|
@@ -23,6 +24,7 @@ var _useCreateOwnCapabilitiesContext = require("./hooks/useCreateOwnCapabilities
|
|
|
23
24
|
var _useCreatePaginatedMessageListContext = require("./hooks/useCreatePaginatedMessageListContext");
|
|
24
25
|
var _useCreateThreadContext = require("./hooks/useCreateThreadContext");
|
|
25
26
|
var _useCreateTypingContext = require("./hooks/useCreateTypingContext");
|
|
27
|
+
var _useMessageListPagination = require("./hooks/useMessageListPagination");
|
|
26
28
|
var _useTargetedMessage2 = require("./hooks/useTargetedMessage");
|
|
27
29
|
var _ChannelContext = require("../../contexts/channelContext/ChannelContext");
|
|
28
30
|
var _useChannelState2 = require("../../contexts/channelsStateContext/useChannelState");
|
|
@@ -83,6 +85,7 @@ var _MessageStatus = require("../Message/MessageSimple/MessageStatus");
|
|
|
83
85
|
var _MessageTimestamp = require("../Message/MessageSimple/MessageTimestamp");
|
|
84
86
|
var _ReactionListBottom = require("../Message/MessageSimple/ReactionList/ReactionListBottom");
|
|
85
87
|
var _ReactionListTop = require("../Message/MessageSimple/ReactionList/ReactionListTop");
|
|
88
|
+
var _StreamingMessageView = require("../Message/MessageSimple/StreamingMessageView");
|
|
86
89
|
var _AttachButton = require("../MessageInput/AttachButton");
|
|
87
90
|
var _CommandsButton = require("../MessageInput/CommandsButton");
|
|
88
91
|
var _AudioRecorder = require("../MessageInput/components/AudioRecorder/AudioRecorder");
|
|
@@ -102,6 +105,7 @@ var _MoreOptionsButton = require("../MessageInput/MoreOptionsButton");
|
|
|
102
105
|
var _SendButton = require("../MessageInput/SendButton");
|
|
103
106
|
var _SendMessageDisallowedIndicator = require("../MessageInput/SendMessageDisallowedIndicator");
|
|
104
107
|
var _ShowThreadMessageInChannelButton = require("../MessageInput/ShowThreadMessageInChannelButton");
|
|
108
|
+
var _StopMessageStreamingButton = require("../MessageInput/StopMessageStreamingButton");
|
|
105
109
|
var _UploadProgressIndicator = require("../MessageInput/UploadProgressIndicator");
|
|
106
110
|
var _DateHeader = require("../MessageList/DateHeader");
|
|
107
111
|
var _InlineDateSeparator = require("../MessageList/InlineDateSeparator");
|
|
@@ -163,7 +167,7 @@ var debounceOptions = {
|
|
|
163
167
|
trailing: true
|
|
164
168
|
};
|
|
165
169
|
var ChannelWithContext = function ChannelWithContext(props) {
|
|
166
|
-
var _channel$getConfig,
|
|
170
|
+
var _channel$getConfig, _channel$data, _ref17, _channelState$members, _channelState$read, _ref18, _channelMessagesState3, _channelState$typing, _channelMessagesState4;
|
|
167
171
|
var additionalKeyboardAvoidingViewProps = props.additionalKeyboardAvoidingViewProps,
|
|
168
172
|
additionalPressableProps = props.additionalPressableProps,
|
|
169
173
|
additionalTextInputProps = props.additionalTextInputProps,
|
|
@@ -225,8 +229,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
225
229
|
DateHeader = _props$DateHeader === void 0 ? _DateHeader.DateHeader : _props$DateHeader,
|
|
226
230
|
_props$deletedMessage = props.deletedMessagesVisibilityType,
|
|
227
231
|
deletedMessagesVisibilityType = _props$deletedMessage === void 0 ? 'always' : _props$deletedMessage,
|
|
228
|
-
_props$disableIfFroze = props.disableIfFrozenChannel,
|
|
229
|
-
disableIfFrozenChannel = _props$disableIfFroze === void 0 ? true : _props$disableIfFroze,
|
|
230
232
|
_props$disableKeyboar = props.disableKeyboardCompatibleView,
|
|
231
233
|
disableKeyboardCompatibleView = _props$disableKeyboar === void 0 ? false : _props$disableKeyboar,
|
|
232
234
|
disableTypingIndicator = props.disableTypingIndicator,
|
|
@@ -313,6 +315,10 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
313
315
|
_props$InputReplyStat = props.InputReplyStateHeader,
|
|
314
316
|
InputReplyStateHeader = _props$InputReplyStat === void 0 ? _InputReplyStateHeader.InputReplyStateHeader : _props$InputReplyStat,
|
|
315
317
|
isAttachmentEqual = props.isAttachmentEqual,
|
|
318
|
+
_props$isMessageAIGen = props.isMessageAIGenerated,
|
|
319
|
+
isMessageAIGenerated = _props$isMessageAIGen === void 0 ? function () {
|
|
320
|
+
return false;
|
|
321
|
+
} : _props$isMessageAIGen,
|
|
316
322
|
keyboardBehavior = props.keyboardBehavior,
|
|
317
323
|
_props$KeyboardCompat = props.KeyboardCompatibleView,
|
|
318
324
|
KeyboardCompatibleView = _props$KeyboardCompat === void 0 ? _KeyboardCompatibleView.KeyboardCompatibleView : _props$KeyboardCompat,
|
|
@@ -330,7 +336,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
330
336
|
_props$maxNumberOfFil = props.maxNumberOfFiles,
|
|
331
337
|
maxNumberOfFiles = _props$maxNumberOfFil === void 0 ? 10 : _props$maxNumberOfFil,
|
|
332
338
|
maxTimeBetweenGroupedMessages = props.maxTimeBetweenGroupedMessages,
|
|
333
|
-
members = props.members,
|
|
334
339
|
_props$mentionAllAppU = props.mentionAllAppUsersEnabled,
|
|
335
340
|
mentionAllAppUsersEnabled = _props$mentionAllAppU === void 0 ? false : _props$mentionAllAppU,
|
|
336
341
|
mentionAllAppUsersQuery = props.mentionAllAppUsersQuery,
|
|
@@ -348,7 +353,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
348
353
|
_props$MessageContent = props.MessageContent,
|
|
349
354
|
MessageContent = _props$MessageContent === void 0 ? _MessageContent.MessageContent : _props$MessageContent,
|
|
350
355
|
_props$messageContent = props.messageContentOrder,
|
|
351
|
-
messageContentOrder = _props$messageContent === void 0 ? ['quoted_reply', 'gallery', 'files', 'poll', 'text', 'attachments'] : _props$messageContent,
|
|
356
|
+
messageContentOrder = _props$messageContent === void 0 ? ['quoted_reply', 'gallery', 'files', 'poll', 'ai_text', 'text', 'attachments'] : _props$messageContent,
|
|
352
357
|
_props$MessageDeleted = props.MessageDeleted,
|
|
353
358
|
MessageDeleted = _props$MessageDeleted === void 0 ? _MessageDeleted.MessageDeleted : _props$MessageDeleted,
|
|
354
359
|
_props$MessageEditedT = props.MessageEditedTimestamp,
|
|
@@ -371,7 +376,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
371
376
|
MessageReplies = _props$MessageReplies === void 0 ? _MessageReplies.MessageReplies : _props$MessageReplies,
|
|
372
377
|
_props$MessageReplies2 = props.MessageRepliesAvatars,
|
|
373
378
|
MessageRepliesAvatars = _props$MessageReplies2 === void 0 ? _MessageRepliesAvatars.MessageRepliesAvatars : _props$MessageReplies2,
|
|
374
|
-
messages = props.messages,
|
|
375
379
|
_props$MessageSimple = props.MessageSimple,
|
|
376
380
|
MessageSimple = _props$MessageSimple === void 0 ? _MessageSimple.MessageSimple : _props$MessageSimple,
|
|
377
381
|
_props$MessageStatus = props.MessageStatus,
|
|
@@ -379,8 +383,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
379
383
|
_props$MessageSystem = props.MessageSystem,
|
|
380
384
|
MessageSystem = _props$MessageSystem === void 0 ? _MessageSystem.MessageSystem : _props$MessageSystem,
|
|
381
385
|
MessageText = props.MessageText,
|
|
382
|
-
|
|
383
|
-
messageTextNumberOfLines = _props$messageTextNum === void 0 ? 5 : _props$messageTextNum,
|
|
386
|
+
messageTextNumberOfLines = props.messageTextNumberOfLines,
|
|
384
387
|
_props$MessageTimesta = props.MessageTimestamp,
|
|
385
388
|
MessageTimestamp = _props$MessageTimesta === void 0 ? _MessageTimestamp.MessageTimestamp : _props$MessageTimesta,
|
|
386
389
|
_props$MessageUserRea = props.MessageUserReactions,
|
|
@@ -411,7 +414,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
411
414
|
reactionListPosition = _props$reactionListPo === void 0 ? 'top' : _props$reactionListPo,
|
|
412
415
|
_props$ReactionListTo = props.ReactionListTop,
|
|
413
416
|
ReactionListTop = _props$ReactionListTo === void 0 ? _ReactionListTop.ReactionListTop : _props$ReactionListTo,
|
|
414
|
-
read = props.read,
|
|
415
417
|
_props$Reply = props.Reply,
|
|
416
418
|
Reply = _props$Reply === void 0 ? _Reply.Reply : _props$Reply,
|
|
417
419
|
_props$ScrollToBottom = props.ScrollToBottomButton,
|
|
@@ -424,13 +426,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
424
426
|
_props$SendMessageDis = props.SendMessageDisallowedIndicator,
|
|
425
427
|
SendMessageDisallowedIndicator = _props$SendMessageDis === void 0 ? _SendMessageDisallowedIndicator.SendMessageDisallowedIndicator : _props$SendMessageDis,
|
|
426
428
|
setInputRef = props.setInputRef,
|
|
427
|
-
setMembers = props.setMembers,
|
|
428
|
-
setMessages = props.setMessages,
|
|
429
|
-
setRead = props.setRead,
|
|
430
429
|
setThreadMessages = props.setThreadMessages,
|
|
431
|
-
setTyping = props.setTyping,
|
|
432
|
-
setWatcherCount = props.setWatcherCount,
|
|
433
|
-
setWatchers = props.setWatchers,
|
|
434
430
|
_props$shouldShowUnre = props.shouldShowUnreadUnderlay,
|
|
435
431
|
shouldShowUnreadUnderlay = _props$shouldShowUnre === void 0 ? true : _props$shouldShowUnre,
|
|
436
432
|
shouldSyncChannel = props.shouldSyncChannel,
|
|
@@ -442,13 +438,15 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
442
438
|
stateUpdateThrottleInterval = _props$stateUpdateThr === void 0 ? defaultThrottleInterval : _props$stateUpdateThr,
|
|
443
439
|
_props$StickyHeader = props.StickyHeader,
|
|
444
440
|
StickyHeader = _props$StickyHeader === void 0 ? _StickyHeader.StickyHeader : _props$StickyHeader,
|
|
441
|
+
StopMessageStreamingButtonOverride = props.StopMessageStreamingButton,
|
|
442
|
+
_props$StreamingMessa = props.StreamingMessageView,
|
|
443
|
+
StreamingMessageView = _props$StreamingMessa === void 0 ? _StreamingMessageView.StreamingMessageView : _props$StreamingMessa,
|
|
445
444
|
_props$supportedReact = props.supportedReactions,
|
|
446
445
|
supportedReactions = _props$supportedReact === void 0 ? reactionData : _props$supportedReact,
|
|
447
446
|
t = props.t,
|
|
448
447
|
threadFromProps = props.thread,
|
|
449
448
|
threadList = props.threadList,
|
|
450
449
|
threadMessages = props.threadMessages,
|
|
451
|
-
typing = props.typing,
|
|
452
450
|
_props$TypingIndicato = props.TypingIndicator,
|
|
453
451
|
TypingIndicator = _props$TypingIndicato === void 0 ? _TypingIndicator.TypingIndicator : _props$TypingIndicato,
|
|
454
452
|
_props$TypingIndicato2 = props.TypingIndicatorContainer,
|
|
@@ -458,11 +456,10 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
458
456
|
_props$UrlPreview = props.UrlPreview,
|
|
459
457
|
UrlPreview = _props$UrlPreview === void 0 ? _Card.Card : _props$UrlPreview,
|
|
460
458
|
_props$VideoThumbnail = props.VideoThumbnail,
|
|
461
|
-
VideoThumbnail = _props$VideoThumbnail === void 0 ? _VideoThumbnail.VideoThumbnail : _props$VideoThumbnail
|
|
462
|
-
watcherCount = props.watcherCount,
|
|
463
|
-
watchers = props.watchers;
|
|
459
|
+
VideoThumbnail = _props$VideoThumbnail === void 0 ? _VideoThumbnail.VideoThumbnail : _props$VideoThumbnail;
|
|
464
460
|
var threadProps = threadFromProps.thread,
|
|
465
461
|
threadInstance = threadFromProps.threadInstance;
|
|
462
|
+
var StopMessageStreamingButton = StopMessageStreamingButtonOverride === undefined ? _StopMessageStreamingButton.StopMessageStreamingButton : StopMessageStreamingButtonOverride;
|
|
466
463
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
467
464
|
_useTheme$theme = _useTheme.theme,
|
|
468
465
|
selectChannel = _useTheme$theme.channel.selectChannel,
|
|
@@ -479,59 +476,84 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
479
476
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
480
477
|
error = _useState6[0],
|
|
481
478
|
setError = _useState6[1];
|
|
482
|
-
var _useState7 = (0, _react.useState)(
|
|
479
|
+
var _useState7 = (0, _react.useState)(),
|
|
483
480
|
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
var _useState9 = (0, _react.useState)(),
|
|
481
|
+
lastRead = _useState8[0],
|
|
482
|
+
setLastRead = _useState8[1];
|
|
483
|
+
var _useState9 = (0, _react.useState)(undefined),
|
|
487
484
|
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
var _useState11 = (0, _react.useState)(
|
|
485
|
+
quotedMessage = _useState10[0],
|
|
486
|
+
setQuotedMessage = _useState10[1];
|
|
487
|
+
var _useState11 = (0, _react.useState)(threadProps || null),
|
|
491
488
|
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
var _useState13 = (0, _react.useState)(
|
|
489
|
+
thread = _useState12[0],
|
|
490
|
+
setThread = _useState12[1];
|
|
491
|
+
var _useState13 = (0, _react.useState)(true),
|
|
495
492
|
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
496
|
-
|
|
497
|
-
|
|
493
|
+
threadHasMore = _useState14[0],
|
|
494
|
+
setThreadHasMore = _useState14[1];
|
|
498
495
|
var _useState15 = (0, _react.useState)(false),
|
|
499
496
|
_useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
var _useState17 = (0, _react.useState)(undefined),
|
|
503
|
-
_useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
|
|
504
|
-
quotedMessage = _useState18[0],
|
|
505
|
-
setQuotedMessage = _useState18[1];
|
|
506
|
-
var _useState19 = (0, _react.useState)(threadProps || null),
|
|
507
|
-
_useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
|
|
508
|
-
thread = _useState20[0],
|
|
509
|
-
setThread = _useState20[1];
|
|
510
|
-
var _useState21 = (0, _react.useState)(true),
|
|
511
|
-
_useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
|
|
512
|
-
threadHasMore = _useState22[0],
|
|
513
|
-
setThreadHasMore = _useState22[1];
|
|
514
|
-
var _useState23 = (0, _react.useState)(false),
|
|
515
|
-
_useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
|
|
516
|
-
threadLoadingMore = _useState24[0],
|
|
517
|
-
setThreadLoadingMore = _useState24[1];
|
|
497
|
+
threadLoadingMore = _useState16[0],
|
|
498
|
+
setThreadLoadingMore = _useState16[1];
|
|
518
499
|
var syncingChannelRef = (0, _react.useRef)(false);
|
|
519
|
-
var _useState25 = (0, _react.useState)(true),
|
|
520
|
-
_useState26 = (0, _slicedToArray2["default"])(_useState25, 2),
|
|
521
|
-
hasNoMoreRecentMessagesToLoad = _useState26[0],
|
|
522
|
-
setHasNoMoreRecentMessagesToLoad = _useState26[1];
|
|
523
500
|
var _useTargetedMessage = (0, _useTargetedMessage2.useTargetedMessage)(),
|
|
524
|
-
prevTargetedMessage = _useTargetedMessage.prevTargetedMessage,
|
|
525
501
|
setTargetedMessage = _useTargetedMessage.setTargetedMessage,
|
|
526
502
|
targetedMessage = _useTargetedMessage.targetedMessage;
|
|
527
|
-
var hasOverlappingRecentMessagesRef = (0, _react.useRef)(false);
|
|
528
503
|
var uploadAbortControllerRef = (0, _react.useRef)(new Map());
|
|
529
504
|
var channelId = (channel == null ? void 0 : channel.id) || '';
|
|
530
505
|
var pollCreationEnabled = !channel.disconnected && !!(channel != null && channel.id) && (channel == null ? void 0 : (_channel$getConfig = channel.getConfig()) == null ? void 0 : _channel$getConfig.polls);
|
|
506
|
+
var _useChannelDataState = (0, _useChannelDataState2.useChannelDataState)(channel),
|
|
507
|
+
copyStateFromChannel = _useChannelDataState.copyStateFromChannel,
|
|
508
|
+
initStateFromChannel = _useChannelDataState.initStateFromChannel,
|
|
509
|
+
setTyping = _useChannelDataState.setTyping,
|
|
510
|
+
channelState = _useChannelDataState.state;
|
|
511
|
+
var _useMessageListPagina = (0, _useMessageListPagination.useMessageListPagination)({
|
|
512
|
+
channel: channel
|
|
513
|
+
}),
|
|
514
|
+
copyMessagesStateFromChannel = _useMessageListPagina.copyMessagesStateFromChannel,
|
|
515
|
+
loadChannelAroundMessageFn = _useMessageListPagina.loadChannelAroundMessage,
|
|
516
|
+
loadChannelAtFirstUnreadMessage = _useMessageListPagina.loadChannelAtFirstUnreadMessage,
|
|
517
|
+
loadInitialMessagesStateFromChannel = _useMessageListPagina.loadInitialMessagesStateFromChannel,
|
|
518
|
+
loadLatestMessages = _useMessageListPagina.loadLatestMessages,
|
|
519
|
+
loadMore = _useMessageListPagina.loadMore,
|
|
520
|
+
loadMoreRecent = _useMessageListPagina.loadMoreRecent,
|
|
521
|
+
channelMessagesState = _useMessageListPagina.state;
|
|
522
|
+
var copyChannelStateThrottlingTime = newMessageStateUpdateThrottleInterval > stateUpdateThrottleInterval ? newMessageStateUpdateThrottleInterval : stateUpdateThrottleInterval;
|
|
523
|
+
var copyChannelState = (0, _react.useRef)((0, _throttle["default"])(function () {
|
|
524
|
+
if (channel) {
|
|
525
|
+
copyStateFromChannel(channel);
|
|
526
|
+
copyMessagesStateFromChannel(channel);
|
|
527
|
+
}
|
|
528
|
+
}, copyChannelStateThrottlingTime, throttleOptions)).current;
|
|
529
|
+
var handleEvent = function handleEvent(event) {
|
|
530
|
+
if (shouldSyncChannel) {
|
|
531
|
+
var ignorableEvents = ['user.watching.start', 'user.watching.stop'];
|
|
532
|
+
if (ignorableEvents.includes(event.type)) return;
|
|
533
|
+
var isTypingEvent = event.type === 'typing.start' || event.type === 'typing.stop';
|
|
534
|
+
if (isTypingEvent) {
|
|
535
|
+
setTyping(channel);
|
|
536
|
+
} else {
|
|
537
|
+
if (thread != null && thread.id) {
|
|
538
|
+
var _event$message;
|
|
539
|
+
var updatedThreadMessages = thread.id && channel && channel.state.threads[thread.id] || threadMessages;
|
|
540
|
+
setThreadMessages(updatedThreadMessages);
|
|
541
|
+
if (channel && ((_event$message = event.message) == null ? void 0 : _event$message.id) === thread.id && !threadInstance) {
|
|
542
|
+
var updatedThread = channel.state.formatMessage(event.message);
|
|
543
|
+
setThread(updatedThread);
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
if (channel && channel.initialized) {
|
|
548
|
+
copyChannelState();
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
};
|
|
531
552
|
(0, _react.useEffect)(function () {
|
|
553
|
+
var listener;
|
|
532
554
|
var initChannel = function () {
|
|
533
555
|
var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
|
|
534
|
-
var
|
|
556
|
+
var errored;
|
|
535
557
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
536
558
|
while (1) switch (_context.prev = _context.next) {
|
|
537
559
|
case 0:
|
|
@@ -541,42 +563,56 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
541
563
|
}
|
|
542
564
|
return _context.abrupt("return");
|
|
543
565
|
case 2:
|
|
544
|
-
|
|
545
|
-
|
|
566
|
+
errored = false;
|
|
567
|
+
if (!(!channel.initialized || !channel.state.isUpToDate)) {
|
|
568
|
+
_context.next = 14;
|
|
546
569
|
break;
|
|
547
570
|
}
|
|
548
|
-
_context.
|
|
549
|
-
|
|
550
|
-
|
|
571
|
+
_context.prev = 4;
|
|
572
|
+
_context.next = 7;
|
|
573
|
+
return channel == null ? void 0 : channel.watch();
|
|
574
|
+
case 7:
|
|
575
|
+
_context.next = 14;
|
|
576
|
+
break;
|
|
577
|
+
case 9:
|
|
578
|
+
_context.prev = 9;
|
|
579
|
+
_context.t0 = _context["catch"](4);
|
|
580
|
+
console.warn('Channel watch request failed with error:', _context.t0);
|
|
581
|
+
setError(true);
|
|
582
|
+
errored = true;
|
|
583
|
+
case 14:
|
|
584
|
+
if (!errored) {
|
|
585
|
+
initStateFromChannel(channel);
|
|
586
|
+
loadInitialMessagesStateFromChannel(channel, channel.state.messagePagination.hasPrev);
|
|
587
|
+
}
|
|
551
588
|
if (!messageId) {
|
|
552
|
-
_context.next =
|
|
589
|
+
_context.next = 20;
|
|
553
590
|
break;
|
|
554
591
|
}
|
|
555
|
-
|
|
556
|
-
|
|
592
|
+
_context.next = 18;
|
|
593
|
+
return loadChannelAroundMessage({
|
|
594
|
+
messageId: messageId,
|
|
595
|
+
setTargetedMessage: setTargetedMessage
|
|
557
596
|
});
|
|
558
|
-
|
|
597
|
+
case 18:
|
|
598
|
+
_context.next = 23;
|
|
559
599
|
break;
|
|
560
|
-
case
|
|
600
|
+
case 20:
|
|
561
601
|
if (!(initialScrollToFirstUnreadMessage && channel.countUnread() > scrollToFirstUnreadThreshold)) {
|
|
562
|
-
_context.next =
|
|
602
|
+
_context.next = 23;
|
|
563
603
|
break;
|
|
564
604
|
}
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
}
|
|
573
|
-
_context.next = 16;
|
|
574
|
-
return loadChannel();
|
|
575
|
-
case 16:
|
|
605
|
+
_context.next = 23;
|
|
606
|
+
return loadChannelAtFirstUnreadMessage({
|
|
607
|
+
setTargetedMessage: setTargetedMessage
|
|
608
|
+
});
|
|
609
|
+
case 23:
|
|
610
|
+
listener = channel.on(handleEvent);
|
|
611
|
+
case 24:
|
|
576
612
|
case "end":
|
|
577
613
|
return _context.stop();
|
|
578
614
|
}
|
|
579
|
-
}, _callee);
|
|
615
|
+
}, _callee, null, [[4, 9]]);
|
|
580
616
|
}));
|
|
581
617
|
return function initChannel() {
|
|
582
618
|
return _ref.apply(this, arguments);
|
|
@@ -584,13 +620,29 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
584
620
|
}();
|
|
585
621
|
initChannel();
|
|
586
622
|
return function () {
|
|
623
|
+
var _listener;
|
|
587
624
|
copyChannelState.cancel();
|
|
588
|
-
copyReadState.cancel();
|
|
589
|
-
copyTypingState.cancel();
|
|
590
|
-
loadMoreFinished.cancel();
|
|
591
625
|
loadMoreThreadFinished.cancel();
|
|
626
|
+
(_listener = listener) == null ? void 0 : _listener.unsubscribe();
|
|
627
|
+
};
|
|
628
|
+
}, [channel.cid, messageId, shouldSyncChannel]);
|
|
629
|
+
(0, _react.useEffect)(function () {
|
|
630
|
+
var _client$on = client.on('channel.deleted', function (event) {
|
|
631
|
+
if (event.cid === (channel == null ? void 0 : channel.cid)) {
|
|
632
|
+
setDeleted(true);
|
|
633
|
+
}
|
|
634
|
+
}),
|
|
635
|
+
unsubscribe = _client$on.unsubscribe;
|
|
636
|
+
return unsubscribe;
|
|
637
|
+
}, [channel == null ? void 0 : channel.cid, client]);
|
|
638
|
+
(0, _react.useEffect)(function () {
|
|
639
|
+
var handleEvent = function handleEvent(event) {
|
|
640
|
+
if (channel.cid === event.cid) copyChannelState();
|
|
592
641
|
};
|
|
593
|
-
|
|
642
|
+
var _client$on2 = client.on('notification.mark_read', handleEvent),
|
|
643
|
+
unsubscribe = _client$on2.unsubscribe;
|
|
644
|
+
return unsubscribe;
|
|
645
|
+
}, [channel.cid, client, copyChannelState]);
|
|
594
646
|
var threadPropsExists = !!threadProps;
|
|
595
647
|
(0, _react.useEffect)(function () {
|
|
596
648
|
if (threadProps && shouldSyncChannel) {
|
|
@@ -614,9 +666,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
614
666
|
}
|
|
615
667
|
}, [thread == null ? void 0 : thread.id, channelId]);
|
|
616
668
|
(0, _useAppStateListener.useAppStateListener)(undefined, handleAppBackground);
|
|
617
|
-
var isAdmin = (client == null ? void 0 : (_client$user = client.user) == null ? void 0 : _client$user.role) === 'admin' || (channel == null ? void 0 : channel.state.membership.role) === 'admin';
|
|
618
|
-
var isModerator = (channel == null ? void 0 : channel.state.membership.role) === 'channel_moderator' || (channel == null ? void 0 : channel.state.membership.role) === 'moderator';
|
|
619
|
-
var isOwner = (channel == null ? void 0 : channel.state.membership.role) === 'owner';
|
|
620
669
|
var markRead = (0, _react.useRef)((0, _throttle["default"])(function () {
|
|
621
670
|
if (!channel || channel != null && channel.disconnected || !(clientChannelConfig != null && clientChannelConfig.read_events)) {
|
|
622
671
|
return;
|
|
@@ -627,550 +676,79 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
627
676
|
(0, _streamChat.logChatPromiseExecution)(channel.markRead(), 'mark read');
|
|
628
677
|
}
|
|
629
678
|
}, defaultThrottleInterval, throttleOptions)).current;
|
|
630
|
-
var
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
setMessages(channel.state.messages);
|
|
634
|
-
restartSetsMergeFuncRef.current();
|
|
635
|
-
}
|
|
636
|
-
}, newMessageStateUpdateThrottleInterval, throttleOptions)).current;
|
|
637
|
-
var copyTypingState = (0, _react.useRef)((0, _throttle["default"])(function () {
|
|
638
|
-
if (channel) {
|
|
639
|
-
setTyping(Object.assign({}, channel.state.typing));
|
|
640
|
-
}
|
|
641
|
-
}, stateUpdateThrottleInterval, throttleOptions)).current;
|
|
642
|
-
var copyReadState = (0, _react.useRef)((0, _throttle["default"])(function () {
|
|
643
|
-
if (channel) {
|
|
644
|
-
setRead(Object.assign({}, channel.state.read));
|
|
645
|
-
}
|
|
646
|
-
}, stateUpdateThrottleInterval, throttleOptions)).current;
|
|
647
|
-
var copyChannelState = (0, _react.useRef)((0, _throttle["default"])(function () {
|
|
648
|
-
setLoading(false);
|
|
649
|
-
if (channel) {
|
|
650
|
-
setMembers(Object.assign({}, channel.state.members));
|
|
651
|
-
setMessages((0, _toConsumableArray2["default"])(channel.state.messages));
|
|
652
|
-
setRead(Object.assign({}, channel.state.read));
|
|
653
|
-
setTyping(Object.assign({}, channel.state.typing));
|
|
654
|
-
setWatcherCount(channel.state.watcher_count);
|
|
655
|
-
setWatchers(Object.assign({}, channel.state.watchers));
|
|
656
|
-
}
|
|
657
|
-
}, stateUpdateThrottleInterval, throttleOptions)).current;
|
|
658
|
-
(0, _react.useEffect)(function () {
|
|
659
|
-
var channelSubscriptions = [];
|
|
660
|
-
if (channel && shouldSyncChannel) {
|
|
661
|
-
channelSubscriptions.push(channel.on('message.new', copyMessagesState));
|
|
662
|
-
channelSubscriptions.push(channel.on('message.read', copyReadState));
|
|
663
|
-
channelSubscriptions.push(channel.on('typing.start', copyTypingState));
|
|
664
|
-
channelSubscriptions.push(channel.on('typing.stop', copyTypingState));
|
|
665
|
-
}
|
|
666
|
-
return function () {
|
|
667
|
-
channelSubscriptions.forEach(function (s) {
|
|
668
|
-
return s.unsubscribe();
|
|
669
|
-
});
|
|
670
|
-
};
|
|
671
|
-
}, [channelId, shouldSyncChannel]);
|
|
672
|
-
(0, _react.useEffect)(function () {
|
|
673
|
-
var handleEvent = function handleEvent(event) {
|
|
674
|
-
var ignorableEvents = ['user.watching.start', 'user.watching.stop'];
|
|
675
|
-
if (ignorableEvents.includes(event.type)) return;
|
|
676
|
-
if (shouldSyncChannel) {
|
|
677
|
-
var isTypingEvent = event.type === 'typing.start' || event.type === 'typing.stop';
|
|
678
|
-
if (!isTypingEvent) {
|
|
679
|
-
var _event$message;
|
|
680
|
-
if (thread != null && thread.id) {
|
|
681
|
-
var updatedThreadMessages = thread.id && channel && channel.state.threads[thread.id] || threadMessages;
|
|
682
|
-
setThreadMessages(updatedThreadMessages);
|
|
683
|
-
}
|
|
684
|
-
if (channel && thread != null && thread.id && ((_event$message = event.message) == null ? void 0 : _event$message.id) === thread.id && !threadInstance) {
|
|
685
|
-
var updatedThread = channel.state.formatMessage(event.message);
|
|
686
|
-
setThread(updatedThread);
|
|
687
|
-
}
|
|
688
|
-
}
|
|
689
|
-
if (channel && channel.initialized && event.type !== 'message.new' && event.type !== 'message.read' && event.type !== 'typing.start' && event.type !== 'typing.stop') {
|
|
690
|
-
copyChannelState();
|
|
691
|
-
}
|
|
692
|
-
}
|
|
693
|
-
};
|
|
694
|
-
var _channel$on = channel.on(handleEvent),
|
|
695
|
-
unsubscribe = _channel$on.unsubscribe;
|
|
696
|
-
return unsubscribe;
|
|
697
|
-
}, [channelId, thread == null ? void 0 : thread.id, shouldSyncChannel]);
|
|
698
|
-
(0, _react.useEffect)(function () {
|
|
699
|
-
var _client$on = client.on('channel.deleted', function (event) {
|
|
700
|
-
if (event.cid === (channel == null ? void 0 : channel.cid)) {
|
|
701
|
-
setDeleted(true);
|
|
702
|
-
}
|
|
703
|
-
}),
|
|
704
|
-
unsubscribe = _client$on.unsubscribe;
|
|
705
|
-
return unsubscribe;
|
|
706
|
-
}, [channelId]);
|
|
707
|
-
(0, _react.useEffect)(function () {
|
|
708
|
-
var handleEvent = function handleEvent(event) {
|
|
709
|
-
if (channel.cid === event.cid) copyChannelState();
|
|
710
|
-
};
|
|
711
|
-
var _client$on2 = client.on('notification.mark_read', handleEvent),
|
|
712
|
-
unsubscribe = _client$on2.unsubscribe;
|
|
713
|
-
return unsubscribe;
|
|
714
|
-
}, []);
|
|
715
|
-
var channelQueryCallRef = (0, _react.useRef)(function () {
|
|
716
|
-
var _ref2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(queryCall) {
|
|
717
|
-
var onAfterQueryCall,
|
|
718
|
-
scrollToMessageId,
|
|
719
|
-
currentMessages,
|
|
720
|
-
hadCurrentLatestMessages,
|
|
721
|
-
scrollToMessageIndex,
|
|
722
|
-
limitAfter,
|
|
723
|
-
currentLength,
|
|
724
|
-
noOfMessagesAfter,
|
|
725
|
-
endIndex,
|
|
726
|
-
restOfMessages,
|
|
727
|
-
latestSet,
|
|
728
|
-
hasLatestMessages,
|
|
729
|
-
_args2 = arguments;
|
|
679
|
+
var reloadThread = function () {
|
|
680
|
+
var _ref2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() {
|
|
681
|
+
var parentID, limit, queryResponse, updatedHasMore, updatedThreadMessages, _yield$channel$getMes, messages, _messages, threadMessage, formattedMessage;
|
|
730
682
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
731
683
|
while (1) switch (_context2.prev = _context2.next) {
|
|
732
|
-
case 0:
|
|
733
|
-
onAfterQueryCall = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : undefined;
|
|
734
|
-
scrollToMessageId = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : undefined;
|
|
735
|
-
setError(false);
|
|
736
|
-
_context2.prev = 3;
|
|
737
|
-
clearInterval(mergeSetsIntervalRef.current);
|
|
738
|
-
_context2.next = 7;
|
|
739
|
-
return queryCall();
|
|
740
|
-
case 7:
|
|
741
|
-
setLastRead(new Date());
|
|
742
|
-
setHasMore(true);
|
|
743
|
-
currentMessages = channel.state.messages;
|
|
744
|
-
hadCurrentLatestMessages = currentMessages.length > 0 && currentMessages === channel.state.latestMessages;
|
|
745
|
-
if (typeof scrollToMessageId === 'function') {
|
|
746
|
-
scrollToMessageId = scrollToMessageId();
|
|
747
|
-
}
|
|
748
|
-
scrollToMessageIndex = scrollToMessageId ? currentMessages.findIndex(function (_ref3) {
|
|
749
|
-
var id = _ref3.id;
|
|
750
|
-
return id === scrollToMessageId;
|
|
751
|
-
}) : -1;
|
|
752
|
-
if (channel && scrollToMessageIndex !== -1) {
|
|
753
|
-
copyChannelState.cancel();
|
|
754
|
-
limitAfter = 4;
|
|
755
|
-
currentLength = currentMessages.length;
|
|
756
|
-
noOfMessagesAfter = currentLength - scrollToMessageIndex - 1;
|
|
757
|
-
if (noOfMessagesAfter > limitAfter) {
|
|
758
|
-
endIndex = scrollToMessageIndex + limitAfter;
|
|
759
|
-
channel.state.clearMessages();
|
|
760
|
-
channel.state.messages = currentMessages.slice(0, endIndex + 1);
|
|
761
|
-
splitLatestCurrentMessageSetRef.current();
|
|
762
|
-
restOfMessages = currentMessages.slice(endIndex + 1);
|
|
763
|
-
if (hadCurrentLatestMessages) {
|
|
764
|
-
latestSet = channel.state.messageSets.find(function (set) {
|
|
765
|
-
return set.isLatest;
|
|
766
|
-
});
|
|
767
|
-
if (latestSet) {
|
|
768
|
-
latestSet.messages = restOfMessages;
|
|
769
|
-
hasOverlappingRecentMessagesRef.current = true;
|
|
770
|
-
}
|
|
771
|
-
}
|
|
772
|
-
}
|
|
773
|
-
}
|
|
774
|
-
hasLatestMessages = channel.state.latestMessages.length > 0;
|
|
775
|
-
channel.state.setIsUpToDate(hasLatestMessages);
|
|
776
|
-
setHasNoMoreRecentMessagesToLoad(hasLatestMessages);
|
|
777
|
-
copyChannelState();
|
|
778
|
-
if (scrollToMessageIndex !== -1) {
|
|
779
|
-
copyChannelState.flush();
|
|
780
|
-
}
|
|
781
|
-
onAfterQueryCall == null ? void 0 : onAfterQueryCall();
|
|
782
|
-
_context2.next = 27;
|
|
783
|
-
break;
|
|
784
|
-
case 22:
|
|
785
|
-
_context2.prev = 22;
|
|
786
|
-
_context2.t0 = _context2["catch"](3);
|
|
787
|
-
if (_context2.t0 instanceof Error) {
|
|
788
|
-
setError(_context2.t0);
|
|
789
|
-
} else {
|
|
790
|
-
setError(true);
|
|
791
|
-
}
|
|
792
|
-
setLoading(false);
|
|
793
|
-
setLastRead(new Date());
|
|
794
|
-
case 27:
|
|
795
|
-
case "end":
|
|
796
|
-
return _context2.stop();
|
|
797
|
-
}
|
|
798
|
-
}, _callee2, null, [[3, 22]]);
|
|
799
|
-
}));
|
|
800
|
-
return function (_x) {
|
|
801
|
-
return _ref2.apply(this, arguments);
|
|
802
|
-
};
|
|
803
|
-
}());
|
|
804
|
-
var loadChannelAtFirstUnreadMessage = function loadChannelAtFirstUnreadMessage() {
|
|
805
|
-
if (!channel) return;
|
|
806
|
-
var unreadMessageIdToScrollTo;
|
|
807
|
-
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
|
|
808
|
-
var unreadCount, isLatestMessageSetShown, lastReadDate, _res$messages$find, res;
|
|
809
|
-
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
810
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
811
|
-
case 0:
|
|
812
|
-
unreadCount = channel.countUnread();
|
|
813
|
-
if (!(unreadCount === 0)) {
|
|
814
|
-
_context3.next = 3;
|
|
815
|
-
break;
|
|
816
|
-
}
|
|
817
|
-
return _context3.abrupt("return");
|
|
818
|
-
case 3:
|
|
819
|
-
isLatestMessageSetShown = !!channel.state.messageSets.find(function (set) {
|
|
820
|
-
return set.isCurrent && set.isLatest;
|
|
821
|
-
});
|
|
822
|
-
if (!(isLatestMessageSetShown && unreadCount <= channel.state.messages.length)) {
|
|
823
|
-
_context3.next = 7;
|
|
824
|
-
break;
|
|
825
|
-
}
|
|
826
|
-
unreadMessageIdToScrollTo = channel.state.messages[channel.state.messages.length - unreadCount].id;
|
|
827
|
-
return _context3.abrupt("return");
|
|
828
|
-
case 7:
|
|
829
|
-
lastReadDate = channel.lastRead();
|
|
830
|
-
if (!lastReadDate) {
|
|
831
|
-
_context3.next = 17;
|
|
832
|
-
break;
|
|
833
|
-
}
|
|
834
|
-
setLoading(true);
|
|
835
|
-
_context3.next = 12;
|
|
836
|
-
return channel.query({
|
|
837
|
-
messages: {
|
|
838
|
-
created_at_around: lastReadDate,
|
|
839
|
-
limit: 30
|
|
840
|
-
},
|
|
841
|
-
watch: true
|
|
842
|
-
}, 'new');
|
|
843
|
-
case 12:
|
|
844
|
-
res = _context3.sent;
|
|
845
|
-
unreadMessageIdToScrollTo = (_res$messages$find = res.messages.find(function (m) {
|
|
846
|
-
return lastReadDate < (m.created_at ? new Date(m.created_at) : new Date());
|
|
847
|
-
})) == null ? void 0 : _res$messages$find.id;
|
|
848
|
-
if (unreadMessageIdToScrollTo) {
|
|
849
|
-
channel.state.loadMessageIntoState(unreadMessageIdToScrollTo);
|
|
850
|
-
}
|
|
851
|
-
_context3.next = 19;
|
|
852
|
-
break;
|
|
853
|
-
case 17:
|
|
854
|
-
_context3.next = 19;
|
|
855
|
-
return loadLatestMessagesRef.current();
|
|
856
|
-
case 19:
|
|
857
|
-
case "end":
|
|
858
|
-
return _context3.stop();
|
|
859
|
-
}
|
|
860
|
-
}, _callee3);
|
|
861
|
-
})), function () {
|
|
862
|
-
if (unreadMessageIdToScrollTo) {
|
|
863
|
-
restartSetsMergeFuncRef.current();
|
|
864
|
-
}
|
|
865
|
-
}, function () {
|
|
866
|
-
return unreadMessageIdToScrollTo;
|
|
867
|
-
});
|
|
868
|
-
};
|
|
869
|
-
var loadChannelAroundMessage = function () {
|
|
870
|
-
var _ref6 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(_ref5) {
|
|
871
|
-
var messageIdToLoadAround;
|
|
872
|
-
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
873
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
874
|
-
case 0:
|
|
875
|
-
messageIdToLoadAround = _ref5.messageId;
|
|
876
|
-
if (!thread) {
|
|
877
|
-
_context5.next = 18;
|
|
878
|
-
break;
|
|
879
|
-
}
|
|
880
|
-
if (!messageIdToLoadAround) {
|
|
881
|
-
_context5.next = 16;
|
|
882
|
-
break;
|
|
883
|
-
}
|
|
884
|
-
setThreadLoadingMore(true);
|
|
885
|
-
_context5.prev = 4;
|
|
886
|
-
_context5.next = 7;
|
|
887
|
-
return channel.state.loadMessageIntoState(messageIdToLoadAround, thread.id);
|
|
888
|
-
case 7:
|
|
889
|
-
setThreadLoadingMore(false);
|
|
890
|
-
setThreadMessages(channel.state.threads[thread.id]);
|
|
891
|
-
setTargetedMessage(messageIdToLoadAround);
|
|
892
|
-
_context5.next = 16;
|
|
893
|
-
break;
|
|
894
|
-
case 12:
|
|
895
|
-
_context5.prev = 12;
|
|
896
|
-
_context5.t0 = _context5["catch"](4);
|
|
897
|
-
if (_context5.t0 instanceof Error) {
|
|
898
|
-
setError(_context5.t0);
|
|
899
|
-
} else {
|
|
900
|
-
setError(true);
|
|
901
|
-
}
|
|
902
|
-
setThreadLoadingMore(false);
|
|
903
|
-
case 16:
|
|
904
|
-
_context5.next = 20;
|
|
905
|
-
break;
|
|
906
|
-
case 18:
|
|
907
|
-
_context5.next = 20;
|
|
908
|
-
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() {
|
|
909
|
-
var currentMessageSet, recentCurrentSetMsgId;
|
|
910
|
-
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
911
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
912
|
-
case 0:
|
|
913
|
-
setLoading(true);
|
|
914
|
-
if (!messageIdToLoadAround) {
|
|
915
|
-
_context4.next = 10;
|
|
916
|
-
break;
|
|
917
|
-
}
|
|
918
|
-
setMessages([]);
|
|
919
|
-
_context4.next = 5;
|
|
920
|
-
return channel.state.loadMessageIntoState(messageIdToLoadAround);
|
|
921
|
-
case 5:
|
|
922
|
-
currentMessageSet = channel.state.messageSets.find(function (set) {
|
|
923
|
-
return set.isCurrent;
|
|
924
|
-
});
|
|
925
|
-
if (!(currentMessageSet && !(currentMessageSet != null && currentMessageSet.isLatest))) {
|
|
926
|
-
_context4.next = 10;
|
|
927
|
-
break;
|
|
928
|
-
}
|
|
929
|
-
recentCurrentSetMsgId = currentMessageSet.messages[currentMessageSet.messages.length - 1].id;
|
|
930
|
-
_context4.next = 10;
|
|
931
|
-
return channel.query({
|
|
932
|
-
messages: {
|
|
933
|
-
id_gte: recentCurrentSetMsgId,
|
|
934
|
-
limit: 25
|
|
935
|
-
}
|
|
936
|
-
}, 'current');
|
|
937
|
-
case 10:
|
|
938
|
-
case "end":
|
|
939
|
-
return _context4.stop();
|
|
940
|
-
}
|
|
941
|
-
}, _callee4);
|
|
942
|
-
})), function () {
|
|
943
|
-
if (messageIdToLoadAround) {
|
|
944
|
-
clearInterval(mergeSetsIntervalRef.current);
|
|
945
|
-
setTargetedMessage(messageIdToLoadAround);
|
|
946
|
-
}
|
|
947
|
-
}, messageIdToLoadAround);
|
|
948
|
-
case 20:
|
|
949
|
-
case "end":
|
|
950
|
-
return _context5.stop();
|
|
951
|
-
}
|
|
952
|
-
}, _callee5, null, [[4, 12]]);
|
|
953
|
-
}));
|
|
954
|
-
return function loadChannelAroundMessage(_x2) {
|
|
955
|
-
return _ref6.apply(this, arguments);
|
|
956
|
-
};
|
|
957
|
-
}();
|
|
958
|
-
(0, _react.useEffect)(function () {
|
|
959
|
-
if (!targetedMessage && prevTargetedMessage) {
|
|
960
|
-
restartSetsMergeFuncRef.current();
|
|
961
|
-
}
|
|
962
|
-
}, [targetedMessage]);
|
|
963
|
-
var splitLatestCurrentMessageSetRef = (0, _react.useRef)(function () {
|
|
964
|
-
var currentLatestSet = channel.state.messageSets.find(function (set) {
|
|
965
|
-
return set.isCurrent && set.isLatest;
|
|
966
|
-
});
|
|
967
|
-
if (!currentLatestSet) return;
|
|
968
|
-
currentLatestSet.isLatest = false;
|
|
969
|
-
channel.state.messageSets.push({
|
|
970
|
-
isCurrent: false,
|
|
971
|
-
isLatest: true,
|
|
972
|
-
messages: [],
|
|
973
|
-
pagination: {
|
|
974
|
-
hasNext: true,
|
|
975
|
-
hasPrev: true
|
|
976
|
-
}
|
|
977
|
-
});
|
|
978
|
-
});
|
|
979
|
-
var mergeOverlappingMessageSetsRef = (0, _react.useRef)(function () {
|
|
980
|
-
var limitToMaxRenderPerBatch = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
981
|
-
if (hasOverlappingRecentMessagesRef.current) {
|
|
982
|
-
var limit = 5;
|
|
983
|
-
var latestMessageSet = channel.state.messageSets.find(function (set) {
|
|
984
|
-
return set.isLatest;
|
|
985
|
-
});
|
|
986
|
-
var currentMessageSet = channel.state.messageSets.find(function (set) {
|
|
987
|
-
return set.isCurrent;
|
|
988
|
-
});
|
|
989
|
-
if (latestMessageSet && currentMessageSet && latestMessageSet !== currentMessageSet) {
|
|
990
|
-
if (limitToMaxRenderPerBatch && latestMessageSet.messages.length > limit) {
|
|
991
|
-
currentMessageSet.messages = currentMessageSet.messages.concat(latestMessageSet.messages.slice(0, limit));
|
|
992
|
-
latestMessageSet.messages = latestMessageSet.messages.slice(limit);
|
|
993
|
-
} else {
|
|
994
|
-
channel.state.messageSets = channel.state.messageSets.filter(function (set) {
|
|
995
|
-
return !set.isLatest;
|
|
996
|
-
});
|
|
997
|
-
currentMessageSet.messages = currentMessageSet.messages.concat(latestMessageSet.messages);
|
|
998
|
-
currentMessageSet.isLatest = true;
|
|
999
|
-
hasOverlappingRecentMessagesRef.current = false;
|
|
1000
|
-
clearInterval(mergeSetsIntervalRef.current);
|
|
1001
|
-
}
|
|
1002
|
-
return true;
|
|
1003
|
-
}
|
|
1004
|
-
}
|
|
1005
|
-
return false;
|
|
1006
|
-
});
|
|
1007
|
-
var mergeSetsIntervalRef = (0, _react.useRef)();
|
|
1008
|
-
(0, _react.useEffect)(function () {
|
|
1009
|
-
return function () {
|
|
1010
|
-
clearInterval(mergeSetsIntervalRef.current);
|
|
1011
|
-
};
|
|
1012
|
-
}, []);
|
|
1013
|
-
var restartSetsMergeFuncRef = (0, _react.useRef)(function () {
|
|
1014
|
-
clearInterval(mergeSetsIntervalRef.current);
|
|
1015
|
-
if (!hasOverlappingRecentMessagesRef.current) return;
|
|
1016
|
-
});
|
|
1017
|
-
var loadLatestMessagesRef = (0, _react.useRef)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6() {
|
|
1018
|
-
var clearLatest,
|
|
1019
|
-
latestSet,
|
|
1020
|
-
_args6 = arguments;
|
|
1021
|
-
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
1022
|
-
while (1) switch (_context6.prev = _context6.next) {
|
|
1023
|
-
case 0:
|
|
1024
|
-
clearLatest = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : false;
|
|
1025
|
-
mergeOverlappingMessageSetsRef.current();
|
|
1026
|
-
if (clearLatest) {
|
|
1027
|
-
latestSet = channel.state.messageSets.find(function (set) {
|
|
1028
|
-
return set.isLatest;
|
|
1029
|
-
});
|
|
1030
|
-
if (latestSet) latestSet.messages = [];
|
|
1031
|
-
}
|
|
1032
|
-
if (!(channel.state.latestMessages.length === 0)) {
|
|
1033
|
-
_context6.next = 6;
|
|
1034
|
-
break;
|
|
1035
|
-
}
|
|
1036
|
-
_context6.next = 6;
|
|
1037
|
-
return channel.query({}, 'latest');
|
|
1038
|
-
case 6:
|
|
1039
|
-
_context6.next = 8;
|
|
1040
|
-
return channel.state.loadMessageIntoState('latest');
|
|
1041
|
-
case 8:
|
|
1042
|
-
case "end":
|
|
1043
|
-
return _context6.stop();
|
|
1044
|
-
}
|
|
1045
|
-
}, _callee6);
|
|
1046
|
-
})));
|
|
1047
|
-
var loadChannel = function loadChannel() {
|
|
1048
|
-
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7() {
|
|
1049
|
-
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
1050
|
-
while (1) switch (_context7.prev = _context7.next) {
|
|
1051
|
-
case 0:
|
|
1052
|
-
if (!(!(channel != null && channel.initialized) || !channel.state.isUpToDate)) {
|
|
1053
|
-
_context7.next = 5;
|
|
1054
|
-
break;
|
|
1055
|
-
}
|
|
1056
|
-
_context7.next = 3;
|
|
1057
|
-
return channel == null ? void 0 : channel.watch();
|
|
1058
|
-
case 3:
|
|
1059
|
-
_context7.next = 7;
|
|
1060
|
-
break;
|
|
1061
|
-
case 5:
|
|
1062
|
-
_context7.next = 7;
|
|
1063
|
-
return channel.state.loadMessageIntoState('latest');
|
|
1064
|
-
case 7:
|
|
1065
|
-
case "end":
|
|
1066
|
-
return _context7.stop();
|
|
1067
|
-
}
|
|
1068
|
-
}, _callee7);
|
|
1069
|
-
})), function () {
|
|
1070
|
-
channel == null ? void 0 : channel.state.setIsUpToDate(true);
|
|
1071
|
-
setHasNoMoreRecentMessagesToLoad(true);
|
|
1072
|
-
});
|
|
1073
|
-
};
|
|
1074
|
-
var reloadThread = function () {
|
|
1075
|
-
var _ref10 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8() {
|
|
1076
|
-
var parentID, limit, queryResponse, updatedHasMore, updatedThreadMessages, _yield$channel$getMes, _messages, _messages2, threadMessage, formattedMessage;
|
|
1077
|
-
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
1078
|
-
while (1) switch (_context8.prev = _context8.next) {
|
|
1079
684
|
case 0:
|
|
1080
685
|
if (!(!channel || !(thread != null && thread.id))) {
|
|
1081
|
-
|
|
686
|
+
_context2.next = 2;
|
|
1082
687
|
break;
|
|
1083
688
|
}
|
|
1084
|
-
return
|
|
689
|
+
return _context2.abrupt("return");
|
|
1085
690
|
case 2:
|
|
1086
691
|
setThreadLoadingMore(true);
|
|
1087
|
-
|
|
692
|
+
_context2.prev = 3;
|
|
1088
693
|
parentID = thread.id;
|
|
1089
694
|
limit = 50;
|
|
1090
695
|
channel.state.threads[parentID] = [];
|
|
1091
|
-
|
|
696
|
+
_context2.next = 9;
|
|
1092
697
|
return channel.getReplies(parentID, {
|
|
1093
698
|
limit: limit
|
|
1094
699
|
});
|
|
1095
700
|
case 9:
|
|
1096
|
-
queryResponse =
|
|
701
|
+
queryResponse = _context2.sent;
|
|
1097
702
|
updatedHasMore = queryResponse.messages.length === limit;
|
|
1098
703
|
updatedThreadMessages = channel.state.threads[parentID] || [];
|
|
1099
704
|
loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);
|
|
1100
|
-
|
|
705
|
+
_context2.next = 15;
|
|
1101
706
|
return channel.getMessagesById([parentID]);
|
|
1102
707
|
case 15:
|
|
1103
|
-
_yield$channel$getMes =
|
|
1104
|
-
|
|
1105
|
-
|
|
708
|
+
_yield$channel$getMes = _context2.sent;
|
|
709
|
+
messages = _yield$channel$getMes.messages;
|
|
710
|
+
_messages = (0, _slicedToArray2["default"])(messages, 1), threadMessage = _messages[0];
|
|
1106
711
|
if (threadMessage && !threadInstance) {
|
|
1107
712
|
formattedMessage = channel.state.formatMessage(threadMessage);
|
|
1108
713
|
setThread(formattedMessage);
|
|
1109
714
|
}
|
|
1110
|
-
|
|
715
|
+
_context2.next = 27;
|
|
1111
716
|
break;
|
|
1112
717
|
case 21:
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
console.warn('Thread loading request failed with error',
|
|
1116
|
-
if (
|
|
1117
|
-
setError(
|
|
718
|
+
_context2.prev = 21;
|
|
719
|
+
_context2.t0 = _context2["catch"](3);
|
|
720
|
+
console.warn('Thread loading request failed with error', _context2.t0);
|
|
721
|
+
if (_context2.t0 instanceof Error) {
|
|
722
|
+
setError(_context2.t0);
|
|
1118
723
|
} else {
|
|
1119
724
|
setError(true);
|
|
1120
725
|
}
|
|
1121
726
|
setThreadLoadingMore(false);
|
|
1122
|
-
throw
|
|
727
|
+
throw _context2.t0;
|
|
1123
728
|
case 27:
|
|
1124
729
|
case "end":
|
|
1125
|
-
return
|
|
730
|
+
return _context2.stop();
|
|
1126
731
|
}
|
|
1127
|
-
},
|
|
732
|
+
}, _callee2, null, [[3, 21]]);
|
|
1128
733
|
}));
|
|
1129
734
|
return function reloadThread() {
|
|
1130
|
-
return
|
|
735
|
+
return _ref2.apply(this, arguments);
|
|
1131
736
|
};
|
|
1132
737
|
}();
|
|
1133
738
|
var resyncChannel = function () {
|
|
1134
|
-
var
|
|
1135
|
-
var
|
|
1136
|
-
return _regenerator["default"].wrap(function
|
|
1137
|
-
while (1) switch (
|
|
739
|
+
var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
|
|
740
|
+
var parseMessage, _channelMessagesState, failedMessages, failedThreadMessages;
|
|
741
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
742
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1138
743
|
case 0:
|
|
1139
744
|
if (!(!channel || syncingChannelRef.current)) {
|
|
1140
|
-
|
|
745
|
+
_context3.next = 2;
|
|
1141
746
|
break;
|
|
1142
747
|
}
|
|
1143
|
-
return
|
|
748
|
+
return _context3.abrupt("return");
|
|
1144
749
|
case 2:
|
|
1145
|
-
hasOverlappingRecentMessagesRef.current = false;
|
|
1146
|
-
clearInterval(mergeSetsIntervalRef.current);
|
|
1147
750
|
syncingChannelRef.current = true;
|
|
1148
751
|
setError(false);
|
|
1149
|
-
_context9.prev = 6;
|
|
1150
|
-
_context9.next = 9;
|
|
1151
|
-
return channel.watch({
|
|
1152
|
-
messages: {
|
|
1153
|
-
limit: messages.length + 30
|
|
1154
|
-
}
|
|
1155
|
-
});
|
|
1156
|
-
case 9:
|
|
1157
|
-
state = _context9.sent;
|
|
1158
|
-
oldListTopMessage = messages[0];
|
|
1159
|
-
oldListTopMessageId = (_messages$ = messages[0]) == null ? void 0 : _messages$.id;
|
|
1160
|
-
oldListBottomMessage = messages[messages.length - 1];
|
|
1161
|
-
newListTopMessage = state.messages[0];
|
|
1162
|
-
newListBottomMessage = state.messages[state.messages.length - 1];
|
|
1163
|
-
if (!(!oldListTopMessage || !oldListBottomMessage || !newListTopMessage || !newListBottomMessage)) {
|
|
1164
|
-
_context9.next = 22;
|
|
1165
|
-
break;
|
|
1166
|
-
}
|
|
1167
|
-
channel.state.clearMessages();
|
|
1168
|
-
channel.state.setIsUpToDate(true);
|
|
1169
|
-
channel.state.addMessagesSorted(state.messages);
|
|
1170
|
-
channel.state.addPinnedMessages(state.pinned_messages);
|
|
1171
|
-
copyChannelState();
|
|
1172
|
-
return _context9.abrupt("return");
|
|
1173
|
-
case 22:
|
|
1174
752
|
parseMessage = function parseMessage(message) {
|
|
1175
753
|
var _message$pinned_at, _message$updated_at;
|
|
1176
754
|
return Object.assign({}, message, {
|
|
@@ -1179,64 +757,52 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1179
757
|
updated_at: (_message$updated_at = message.updated_at) == null ? void 0 : _message$updated_at.toString()
|
|
1180
758
|
});
|
|
1181
759
|
};
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
return message.status === _utils.MessageStatusTypes.FAILED;
|
|
1187
|
-
}).map(parseMessage) : [];
|
|
1188
|
-
oldListTopMessageCreatedAt = oldListTopMessage.created_at;
|
|
1189
|
-
oldListBottomMessageCreatedAt = oldListBottomMessage.created_at;
|
|
1190
|
-
newListTopMessageCreatedAt = newListTopMessage.created_at ? new Date(newListTopMessage.created_at) : new Date();
|
|
1191
|
-
newListBottomMessageCreatedAt = newListBottomMessage != null && newListBottomMessage.created_at ? new Date(newListBottomMessage.created_at) : new Date();
|
|
1192
|
-
finalMessages = [];
|
|
1193
|
-
if (oldListTopMessage && oldListTopMessageCreatedAt && oldListBottomMessageCreatedAt && newListTopMessageCreatedAt < oldListTopMessageCreatedAt && newListBottomMessageCreatedAt >= oldListBottomMessageCreatedAt) {
|
|
1194
|
-
index = state.messages.findIndex(function (message) {
|
|
1195
|
-
return message.id === oldListTopMessageId;
|
|
1196
|
-
});
|
|
1197
|
-
finalMessages = state.messages.slice(index);
|
|
1198
|
-
} else {
|
|
1199
|
-
finalMessages = state.messages;
|
|
760
|
+
_context3.prev = 5;
|
|
761
|
+
if (thread) {
|
|
762
|
+
_context3.next = 12;
|
|
763
|
+
break;
|
|
1200
764
|
}
|
|
1201
|
-
channel.state.setIsUpToDate(true);
|
|
1202
|
-
channel.state.clearMessages();
|
|
1203
|
-
channel.state.addMessagesSorted(finalMessages);
|
|
1204
|
-
channel.state.addPinnedMessages(state.pinned_messages);
|
|
1205
|
-
setHasNoMoreRecentMessagesToLoad(true);
|
|
1206
|
-
setHasMore(true);
|
|
1207
765
|
copyChannelState();
|
|
1208
|
-
|
|
766
|
+
failedMessages = (_channelMessagesState = channelMessagesState.messages) == null ? void 0 : _channelMessagesState.filter(function (message) {
|
|
767
|
+
return message.status === _utils.MessageStatusTypes.FAILED;
|
|
768
|
+
}).map(parseMessage);
|
|
769
|
+
if (failedMessages != null && failedMessages.length) {
|
|
1209
770
|
channel.state.addMessagesSorted(failedMessages);
|
|
1210
|
-
copyChannelState();
|
|
1211
771
|
}
|
|
1212
|
-
|
|
772
|
+
_context3.next = 16;
|
|
773
|
+
break;
|
|
774
|
+
case 12:
|
|
775
|
+
_context3.next = 14;
|
|
1213
776
|
return reloadThread();
|
|
1214
|
-
case
|
|
1215
|
-
|
|
777
|
+
case 14:
|
|
778
|
+
failedThreadMessages = thread ? threadMessages.filter(function (message) {
|
|
779
|
+
return message.status === _utils.MessageStatusTypes.FAILED;
|
|
780
|
+
}).map(parseMessage) : [];
|
|
781
|
+
if (failedThreadMessages.length) {
|
|
1216
782
|
channel.state.addMessagesSorted(failedThreadMessages);
|
|
1217
783
|
setThreadMessages((0, _toConsumableArray2["default"])(channel.state.threads[thread.id]));
|
|
1218
784
|
}
|
|
1219
|
-
|
|
785
|
+
case 16:
|
|
786
|
+
_context3.next = 21;
|
|
1220
787
|
break;
|
|
1221
|
-
case
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
if (
|
|
1225
|
-
setError(
|
|
788
|
+
case 18:
|
|
789
|
+
_context3.prev = 18;
|
|
790
|
+
_context3.t0 = _context3["catch"](5);
|
|
791
|
+
if (_context3.t0 instanceof Error) {
|
|
792
|
+
setError(_context3.t0);
|
|
1226
793
|
} else {
|
|
1227
794
|
setError(true);
|
|
1228
795
|
}
|
|
1229
|
-
|
|
1230
|
-
case 48:
|
|
796
|
+
case 21:
|
|
1231
797
|
syncingChannelRef.current = false;
|
|
1232
|
-
case
|
|
798
|
+
case 22:
|
|
1233
799
|
case "end":
|
|
1234
|
-
return
|
|
800
|
+
return _context3.stop();
|
|
1235
801
|
}
|
|
1236
|
-
},
|
|
802
|
+
}, _callee3, null, [[5, 18]]);
|
|
1237
803
|
}));
|
|
1238
804
|
return function resyncChannel() {
|
|
1239
|
-
return
|
|
805
|
+
return _ref3.apply(this, arguments);
|
|
1240
806
|
};
|
|
1241
807
|
}();
|
|
1242
808
|
var resyncChannelRef = (0, _react.useRef)(resyncChannel);
|
|
@@ -1251,7 +817,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1251
817
|
if (enableOfflineSupport) {
|
|
1252
818
|
connectionChangedSubscription = _DBSyncManager.DBSyncManager.onSyncStatusChange(function (statusChanged) {
|
|
1253
819
|
if (statusChanged) {
|
|
1254
|
-
|
|
820
|
+
copyChannelState();
|
|
1255
821
|
}
|
|
1256
822
|
});
|
|
1257
823
|
} else {
|
|
@@ -1265,25 +831,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1265
831
|
connectionChangedSubscription.unsubscribe();
|
|
1266
832
|
};
|
|
1267
833
|
}, [enableOfflineSupport, shouldSyncChannel]);
|
|
1268
|
-
var reloadChannel = function reloadChannel() {
|
|
1269
|
-
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10() {
|
|
1270
|
-
return _regenerator["default"].wrap(function _callee10$(_context10) {
|
|
1271
|
-
while (1) switch (_context10.prev = _context10.next) {
|
|
1272
|
-
case 0:
|
|
1273
|
-
setLoading(true);
|
|
1274
|
-
_context10.next = 3;
|
|
1275
|
-
return loadLatestMessagesRef.current(true);
|
|
1276
|
-
case 3:
|
|
1277
|
-
setLoading(false);
|
|
1278
|
-
channel == null ? void 0 : channel.state.setIsUpToDate(true);
|
|
1279
|
-
setHasNoMoreRecentMessagesToLoad(true);
|
|
1280
|
-
case 6:
|
|
1281
|
-
case "end":
|
|
1282
|
-
return _context10.stop();
|
|
1283
|
-
}
|
|
1284
|
-
}, _callee10);
|
|
1285
|
-
})));
|
|
1286
|
-
};
|
|
1287
834
|
var getChannelConfigSafely = function getChannelConfigSafely() {
|
|
1288
835
|
try {
|
|
1289
836
|
return channel == null ? void 0 : channel.getConfig();
|
|
@@ -1292,41 +839,130 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1292
839
|
}
|
|
1293
840
|
};
|
|
1294
841
|
var clientChannelConfig = getChannelConfigSafely();
|
|
842
|
+
var reloadChannel = function () {
|
|
843
|
+
var _ref4 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() {
|
|
844
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
845
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
846
|
+
case 0:
|
|
847
|
+
_context4.prev = 0;
|
|
848
|
+
_context4.next = 3;
|
|
849
|
+
return loadLatestMessages();
|
|
850
|
+
case 3:
|
|
851
|
+
_context4.next = 8;
|
|
852
|
+
break;
|
|
853
|
+
case 5:
|
|
854
|
+
_context4.prev = 5;
|
|
855
|
+
_context4.t0 = _context4["catch"](0);
|
|
856
|
+
console.warn('Reloading channel failed with error:', _context4.t0);
|
|
857
|
+
case 8:
|
|
858
|
+
case "end":
|
|
859
|
+
return _context4.stop();
|
|
860
|
+
}
|
|
861
|
+
}, _callee4, null, [[0, 5]]);
|
|
862
|
+
}));
|
|
863
|
+
return function reloadChannel() {
|
|
864
|
+
return _ref4.apply(this, arguments);
|
|
865
|
+
};
|
|
866
|
+
}();
|
|
867
|
+
var loadChannelAroundMessage = function () {
|
|
868
|
+
var _ref6 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(_ref5) {
|
|
869
|
+
var messageIdToLoadAround;
|
|
870
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
871
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
872
|
+
case 0:
|
|
873
|
+
messageIdToLoadAround = _ref5.messageId;
|
|
874
|
+
if (messageIdToLoadAround) {
|
|
875
|
+
_context5.next = 3;
|
|
876
|
+
break;
|
|
877
|
+
}
|
|
878
|
+
return _context5.abrupt("return");
|
|
879
|
+
case 3:
|
|
880
|
+
_context5.prev = 3;
|
|
881
|
+
if (!thread) {
|
|
882
|
+
_context5.next = 20;
|
|
883
|
+
break;
|
|
884
|
+
}
|
|
885
|
+
setThreadLoadingMore(true);
|
|
886
|
+
_context5.prev = 6;
|
|
887
|
+
_context5.next = 9;
|
|
888
|
+
return channel.state.loadMessageIntoState(messageIdToLoadAround, thread.id);
|
|
889
|
+
case 9:
|
|
890
|
+
setThreadLoadingMore(false);
|
|
891
|
+
setThreadMessages(channel.state.threads[thread.id]);
|
|
892
|
+
if (setTargetedMessage) {
|
|
893
|
+
setTargetedMessage(messageIdToLoadAround);
|
|
894
|
+
}
|
|
895
|
+
_context5.next = 18;
|
|
896
|
+
break;
|
|
897
|
+
case 14:
|
|
898
|
+
_context5.prev = 14;
|
|
899
|
+
_context5.t0 = _context5["catch"](6);
|
|
900
|
+
if (_context5.t0 instanceof Error) {
|
|
901
|
+
setError(_context5.t0);
|
|
902
|
+
} else {
|
|
903
|
+
setError(true);
|
|
904
|
+
}
|
|
905
|
+
setThreadLoadingMore(false);
|
|
906
|
+
case 18:
|
|
907
|
+
_context5.next = 22;
|
|
908
|
+
break;
|
|
909
|
+
case 20:
|
|
910
|
+
_context5.next = 22;
|
|
911
|
+
return loadChannelAroundMessageFn({
|
|
912
|
+
messageId: messageIdToLoadAround,
|
|
913
|
+
setTargetedMessage: setTargetedMessage
|
|
914
|
+
});
|
|
915
|
+
case 22:
|
|
916
|
+
_context5.next = 27;
|
|
917
|
+
break;
|
|
918
|
+
case 24:
|
|
919
|
+
_context5.prev = 24;
|
|
920
|
+
_context5.t1 = _context5["catch"](3);
|
|
921
|
+
console.warn('Loading channel around message failed with error:', _context5.t1);
|
|
922
|
+
case 27:
|
|
923
|
+
case "end":
|
|
924
|
+
return _context5.stop();
|
|
925
|
+
}
|
|
926
|
+
}, _callee5, null, [[3, 24], [6, 14]]);
|
|
927
|
+
}));
|
|
928
|
+
return function loadChannelAroundMessage(_x) {
|
|
929
|
+
return _ref6.apply(this, arguments);
|
|
930
|
+
};
|
|
931
|
+
}();
|
|
1295
932
|
var updateMessage = function updateMessage(updatedMessage) {
|
|
1296
933
|
var extraState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1297
|
-
if (channel)
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
setMessages((0, _toConsumableArray2["default"])(channel.state.messages));
|
|
934
|
+
if (!channel) return;
|
|
935
|
+
channel.state.addMessageSorted(updatedMessage, true);
|
|
936
|
+
copyMessagesStateFromChannel(channel);
|
|
937
|
+
if (thread && updatedMessage.parent_id) {
|
|
938
|
+
extraState.threadMessages = channel.state.threads[updatedMessage.parent_id] || [];
|
|
939
|
+
setThreadMessages(extraState.threadMessages);
|
|
1304
940
|
}
|
|
1305
941
|
};
|
|
1306
942
|
var replaceMessage = function replaceMessage(oldMessage, newMessage) {
|
|
1307
943
|
if (channel) {
|
|
1308
944
|
channel.state.removeMessage(oldMessage);
|
|
1309
945
|
channel.state.addMessageSorted(newMessage, true);
|
|
946
|
+
copyMessagesStateFromChannel(channel);
|
|
1310
947
|
if (thread && newMessage.parent_id) {
|
|
1311
948
|
var _threadMessages = channel.state.threads[newMessage.parent_id] || [];
|
|
1312
949
|
setThreadMessages(_threadMessages);
|
|
1313
950
|
}
|
|
1314
|
-
setMessages(channel.state.messages);
|
|
1315
951
|
}
|
|
1316
952
|
};
|
|
1317
|
-
var createMessagePreview = function createMessagePreview(
|
|
1318
|
-
var attachments =
|
|
1319
|
-
mentioned_users =
|
|
1320
|
-
parent_id =
|
|
1321
|
-
poll =
|
|
1322
|
-
poll_id =
|
|
1323
|
-
text =
|
|
1324
|
-
extraFields = (0, _objectWithoutProperties2["default"])(
|
|
1325
|
-
var _client$
|
|
1326
|
-
channel_mutes = _client$
|
|
1327
|
-
devices = _client$
|
|
1328
|
-
mutes = _client$
|
|
1329
|
-
messageUser = (0, _objectWithoutProperties2["default"])(_client$
|
|
953
|
+
var createMessagePreview = function createMessagePreview(_ref7) {
|
|
954
|
+
var attachments = _ref7.attachments,
|
|
955
|
+
mentioned_users = _ref7.mentioned_users,
|
|
956
|
+
parent_id = _ref7.parent_id,
|
|
957
|
+
poll = _ref7.poll,
|
|
958
|
+
poll_id = _ref7.poll_id,
|
|
959
|
+
text = _ref7.text,
|
|
960
|
+
extraFields = (0, _objectWithoutProperties2["default"])(_ref7, _excluded);
|
|
961
|
+
var _client$user = client.user,
|
|
962
|
+
channel_mutes = _client$user.channel_mutes,
|
|
963
|
+
devices = _client$user.devices,
|
|
964
|
+
mutes = _client$user.mutes,
|
|
965
|
+
messageUser = (0, _objectWithoutProperties2["default"])(_client$user, _excluded2);
|
|
1330
966
|
var preview = Object.assign({
|
|
1331
967
|
__html: text,
|
|
1332
968
|
attachments: attachments,
|
|
@@ -1350,7 +986,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1350
986
|
})
|
|
1351
987
|
}, extraFields);
|
|
1352
988
|
if (preview.quoted_message_id) {
|
|
1353
|
-
var
|
|
989
|
+
var _channelMessagesState2;
|
|
990
|
+
var _quotedMessage = (_channelMessagesState2 = channelMessagesState.messages) == null ? void 0 : _channelMessagesState2.find(function (message) {
|
|
1354
991
|
return message.id === preview.quoted_message_id;
|
|
1355
992
|
});
|
|
1356
993
|
preview.quoted_message = _quotedMessage;
|
|
@@ -1358,28 +995,28 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1358
995
|
return preview;
|
|
1359
996
|
};
|
|
1360
997
|
var uploadPendingAttachments = function () {
|
|
1361
|
-
var
|
|
998
|
+
var _ref8 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(message) {
|
|
1362
999
|
var _updatedMessage$attac;
|
|
1363
1000
|
var updatedMessage, i, _updatedMessage$attac2, attachment, image, file, _image$name, filename, controller, compressedUri, contentType, uploadResponse, _controller, response;
|
|
1364
|
-
return _regenerator["default"].wrap(function
|
|
1365
|
-
while (1) switch (
|
|
1001
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
1002
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
1366
1003
|
case 0:
|
|
1367
1004
|
updatedMessage = Object.assign({}, message);
|
|
1368
1005
|
if (!((_updatedMessage$attac = updatedMessage.attachments) != null && _updatedMessage$attac.length)) {
|
|
1369
|
-
|
|
1006
|
+
_context6.next = 50;
|
|
1370
1007
|
break;
|
|
1371
1008
|
}
|
|
1372
1009
|
i = 0;
|
|
1373
1010
|
case 3:
|
|
1374
1011
|
if (!(i < ((_updatedMessage$attac2 = updatedMessage.attachments) == null ? void 0 : _updatedMessage$attac2.length))) {
|
|
1375
|
-
|
|
1012
|
+
_context6.next = 50;
|
|
1376
1013
|
break;
|
|
1377
1014
|
}
|
|
1378
1015
|
attachment = updatedMessage.attachments[i];
|
|
1379
1016
|
image = attachment.originalImage;
|
|
1380
1017
|
file = attachment.originalFile;
|
|
1381
1018
|
if (!(attachment.type === _types.FileTypes.Image && image != null && image.uri && attachment.image_url && (0, _utils.isLocalUrl)(attachment.image_url))) {
|
|
1382
|
-
|
|
1019
|
+
_context6.next = 29;
|
|
1383
1020
|
break;
|
|
1384
1021
|
}
|
|
1385
1022
|
filename = (_image$name = image.name) != null ? _image$name : (0, _utils.getFileNameFromPath)(image.uri);
|
|
@@ -1388,31 +1025,31 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1388
1025
|
controller.abort();
|
|
1389
1026
|
uploadAbortControllerRef.current["delete"](filename);
|
|
1390
1027
|
}
|
|
1391
|
-
|
|
1028
|
+
_context6.next = 13;
|
|
1392
1029
|
return (0, _compressImage.compressedImageURI)(image, compressImageQuality);
|
|
1393
1030
|
case 13:
|
|
1394
|
-
compressedUri =
|
|
1031
|
+
compressedUri = _context6.sent;
|
|
1395
1032
|
contentType = (0, _mimeTypes.lookup)(filename) || 'multipart/form-data';
|
|
1396
1033
|
if (!doImageUploadRequest) {
|
|
1397
|
-
|
|
1034
|
+
_context6.next = 21;
|
|
1398
1035
|
break;
|
|
1399
1036
|
}
|
|
1400
|
-
|
|
1037
|
+
_context6.next = 18;
|
|
1401
1038
|
return doImageUploadRequest(image, channel);
|
|
1402
1039
|
case 18:
|
|
1403
|
-
|
|
1404
|
-
|
|
1040
|
+
_context6.t0 = _context6.sent;
|
|
1041
|
+
_context6.next = 24;
|
|
1405
1042
|
break;
|
|
1406
1043
|
case 21:
|
|
1407
|
-
|
|
1044
|
+
_context6.next = 23;
|
|
1408
1045
|
return channel.sendImage(compressedUri, filename, contentType);
|
|
1409
1046
|
case 23:
|
|
1410
|
-
|
|
1047
|
+
_context6.t0 = _context6.sent;
|
|
1411
1048
|
case 24:
|
|
1412
|
-
uploadResponse =
|
|
1049
|
+
uploadResponse = _context6.t0;
|
|
1413
1050
|
attachment.image_url = uploadResponse.file;
|
|
1414
1051
|
delete attachment.originalFile;
|
|
1415
|
-
|
|
1052
|
+
_context6.next = 29;
|
|
1416
1053
|
return dbApi.updateMessage({
|
|
1417
1054
|
message: Object.assign({}, updatedMessage, {
|
|
1418
1055
|
cid: channel.cid
|
|
@@ -1420,7 +1057,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1420
1057
|
});
|
|
1421
1058
|
case 29:
|
|
1422
1059
|
if (!((attachment.type === _types.FileTypes.File || attachment.type === _types.FileTypes.Audio || attachment.type === _types.FileTypes.VoiceRecording || attachment.type === _types.FileTypes.Video) && attachment.asset_url && (0, _utils.isLocalUrl)(attachment.asset_url) && file != null && file.uri)) {
|
|
1423
|
-
|
|
1060
|
+
_context6.next = 47;
|
|
1424
1061
|
break;
|
|
1425
1062
|
}
|
|
1426
1063
|
_controller = uploadAbortControllerRef.current.get(file.name);
|
|
@@ -1429,28 +1066,28 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1429
1066
|
uploadAbortControllerRef.current["delete"](file.name);
|
|
1430
1067
|
}
|
|
1431
1068
|
if (!doDocUploadRequest) {
|
|
1432
|
-
|
|
1069
|
+
_context6.next = 38;
|
|
1433
1070
|
break;
|
|
1434
1071
|
}
|
|
1435
|
-
|
|
1072
|
+
_context6.next = 35;
|
|
1436
1073
|
return doDocUploadRequest(file, channel);
|
|
1437
1074
|
case 35:
|
|
1438
|
-
|
|
1439
|
-
|
|
1075
|
+
_context6.t1 = _context6.sent;
|
|
1076
|
+
_context6.next = 41;
|
|
1440
1077
|
break;
|
|
1441
1078
|
case 38:
|
|
1442
|
-
|
|
1079
|
+
_context6.next = 40;
|
|
1443
1080
|
return channel.sendFile(file.uri, file.name, file.mimeType);
|
|
1444
1081
|
case 40:
|
|
1445
|
-
|
|
1082
|
+
_context6.t1 = _context6.sent;
|
|
1446
1083
|
case 41:
|
|
1447
|
-
response =
|
|
1084
|
+
response = _context6.t1;
|
|
1448
1085
|
attachment.asset_url = response.file;
|
|
1449
1086
|
if (response.thumb_url) {
|
|
1450
1087
|
attachment.thumb_url = response.thumb_url;
|
|
1451
1088
|
}
|
|
1452
1089
|
delete attachment.originalFile;
|
|
1453
|
-
|
|
1090
|
+
_context6.next = 47;
|
|
1454
1091
|
return dbApi.updateMessage({
|
|
1455
1092
|
message: Object.assign({}, updatedMessage, {
|
|
1456
1093
|
cid: channel.cid
|
|
@@ -1458,38 +1095,38 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1458
1095
|
});
|
|
1459
1096
|
case 47:
|
|
1460
1097
|
i++;
|
|
1461
|
-
|
|
1098
|
+
_context6.next = 3;
|
|
1462
1099
|
break;
|
|
1463
1100
|
case 50:
|
|
1464
|
-
return
|
|
1101
|
+
return _context6.abrupt("return", updatedMessage);
|
|
1465
1102
|
case 51:
|
|
1466
1103
|
case "end":
|
|
1467
|
-
return
|
|
1104
|
+
return _context6.stop();
|
|
1468
1105
|
}
|
|
1469
|
-
},
|
|
1106
|
+
}, _callee6);
|
|
1470
1107
|
}));
|
|
1471
|
-
return function uploadPendingAttachments(
|
|
1472
|
-
return
|
|
1108
|
+
return function uploadPendingAttachments(_x2) {
|
|
1109
|
+
return _ref8.apply(this, arguments);
|
|
1473
1110
|
};
|
|
1474
1111
|
}();
|
|
1475
1112
|
var sendMessageRequest = function () {
|
|
1476
|
-
var
|
|
1113
|
+
var _ref9 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(message, retrying) {
|
|
1477
1114
|
var _updatedMessage, extraFields, attachments, id, mentioned_users, parent_id, text, mentionedUserIds, _messageData, messageResponse, _updatedMessage2;
|
|
1478
|
-
return _regenerator["default"].wrap(function
|
|
1479
|
-
while (1) switch (
|
|
1115
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
1116
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
1480
1117
|
case 0:
|
|
1481
|
-
|
|
1482
|
-
|
|
1118
|
+
_context7.prev = 0;
|
|
1119
|
+
_context7.next = 3;
|
|
1483
1120
|
return uploadPendingAttachments(message);
|
|
1484
1121
|
case 3:
|
|
1485
|
-
_updatedMessage =
|
|
1122
|
+
_updatedMessage = _context7.sent;
|
|
1486
1123
|
extraFields = (0, _omit["default"])(_updatedMessage, ['__html', 'attachments', 'created_at', 'deleted_at', 'html', 'id', 'latest_reactions', 'mentioned_users', 'own_reactions', 'parent_id', 'quoted_message', 'reaction_counts', 'reaction_groups', 'reactions', 'status', 'text', 'type', 'updated_at', 'user']);
|
|
1487
1124
|
attachments = _updatedMessage.attachments, id = _updatedMessage.id, mentioned_users = _updatedMessage.mentioned_users, parent_id = _updatedMessage.parent_id, text = _updatedMessage.text;
|
|
1488
1125
|
if (channel.id) {
|
|
1489
|
-
|
|
1126
|
+
_context7.next = 8;
|
|
1490
1127
|
break;
|
|
1491
1128
|
}
|
|
1492
|
-
return
|
|
1129
|
+
return _context7.abrupt("return");
|
|
1493
1130
|
case 8:
|
|
1494
1131
|
mentionedUserIds = (mentioned_users == null ? void 0 : mentioned_users.map(function (user) {
|
|
1495
1132
|
return user.id;
|
|
@@ -1503,35 +1140,35 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1503
1140
|
}, extraFields);
|
|
1504
1141
|
messageResponse = {};
|
|
1505
1142
|
if (!doSendMessageRequest) {
|
|
1506
|
-
|
|
1143
|
+
_context7.next = 17;
|
|
1507
1144
|
break;
|
|
1508
1145
|
}
|
|
1509
|
-
|
|
1146
|
+
_context7.next = 14;
|
|
1510
1147
|
return doSendMessageRequest((channel == null ? void 0 : channel.cid) || '', _messageData);
|
|
1511
1148
|
case 14:
|
|
1512
|
-
messageResponse =
|
|
1513
|
-
|
|
1149
|
+
messageResponse = _context7.sent;
|
|
1150
|
+
_context7.next = 21;
|
|
1514
1151
|
break;
|
|
1515
1152
|
case 17:
|
|
1516
1153
|
if (!channel) {
|
|
1517
|
-
|
|
1154
|
+
_context7.next = 21;
|
|
1518
1155
|
break;
|
|
1519
1156
|
}
|
|
1520
|
-
|
|
1157
|
+
_context7.next = 20;
|
|
1521
1158
|
return channel.sendMessage(_messageData);
|
|
1522
1159
|
case 20:
|
|
1523
|
-
messageResponse =
|
|
1160
|
+
messageResponse = _context7.sent;
|
|
1524
1161
|
case 21:
|
|
1525
1162
|
if (!messageResponse.message) {
|
|
1526
|
-
|
|
1163
|
+
_context7.next = 28;
|
|
1527
1164
|
break;
|
|
1528
1165
|
}
|
|
1529
1166
|
messageResponse.message.status = _utils.MessageStatusTypes.RECEIVED;
|
|
1530
1167
|
if (!enableOfflineSupport) {
|
|
1531
|
-
|
|
1168
|
+
_context7.next = 26;
|
|
1532
1169
|
break;
|
|
1533
1170
|
}
|
|
1534
|
-
|
|
1171
|
+
_context7.next = 26;
|
|
1535
1172
|
return dbApi.updateMessage({
|
|
1536
1173
|
message: Object.assign({}, messageResponse.message, {
|
|
1537
1174
|
cid: channel.cid
|
|
@@ -1547,12 +1184,12 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1547
1184
|
message: messageResponse.message
|
|
1548
1185
|
});
|
|
1549
1186
|
case 28:
|
|
1550
|
-
|
|
1187
|
+
_context7.next = 40;
|
|
1551
1188
|
break;
|
|
1552
1189
|
case 30:
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
console.log(
|
|
1190
|
+
_context7.prev = 30;
|
|
1191
|
+
_context7.t0 = _context7["catch"](0);
|
|
1192
|
+
console.log(_context7.t0);
|
|
1556
1193
|
message.status = _utils.MessageStatusTypes.FAILED;
|
|
1557
1194
|
_updatedMessage2 = Object.assign({}, message, {
|
|
1558
1195
|
cid: channel.cid
|
|
@@ -1562,10 +1199,10 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1562
1199
|
message: _updatedMessage2
|
|
1563
1200
|
});
|
|
1564
1201
|
if (!enableOfflineSupport) {
|
|
1565
|
-
|
|
1202
|
+
_context7.next = 40;
|
|
1566
1203
|
break;
|
|
1567
1204
|
}
|
|
1568
|
-
|
|
1205
|
+
_context7.next = 40;
|
|
1569
1206
|
return dbApi.updateMessage({
|
|
1570
1207
|
message: Object.assign({}, message, {
|
|
1571
1208
|
cid: channel.cid
|
|
@@ -1573,20 +1210,20 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1573
1210
|
});
|
|
1574
1211
|
case 40:
|
|
1575
1212
|
case "end":
|
|
1576
|
-
return
|
|
1213
|
+
return _context7.stop();
|
|
1577
1214
|
}
|
|
1578
|
-
},
|
|
1215
|
+
}, _callee7, null, [[0, 30]]);
|
|
1579
1216
|
}));
|
|
1580
|
-
return function sendMessageRequest(
|
|
1581
|
-
return
|
|
1217
|
+
return function sendMessageRequest(_x3, _x4) {
|
|
1218
|
+
return _ref9.apply(this, arguments);
|
|
1582
1219
|
};
|
|
1583
1220
|
}();
|
|
1584
1221
|
var sendMessage = function () {
|
|
1585
|
-
var
|
|
1222
|
+
var _ref10 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8(message) {
|
|
1586
1223
|
var _channel$state;
|
|
1587
1224
|
var messagePreview;
|
|
1588
|
-
return _regenerator["default"].wrap(function
|
|
1589
|
-
while (1) switch (
|
|
1225
|
+
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
1226
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
1590
1227
|
case 0:
|
|
1591
1228
|
if (channel != null && (_channel$state = channel.state) != null && _channel$state.filterErrorMessages) {
|
|
1592
1229
|
channel.state.filterErrorMessages();
|
|
@@ -1594,7 +1231,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1594
1231
|
messagePreview = createMessagePreview(Object.assign({}, message, {
|
|
1595
1232
|
attachments: message.attachments || []
|
|
1596
1233
|
}));
|
|
1597
|
-
mergeOverlappingMessageSetsRef.current();
|
|
1598
1234
|
updateMessage(messagePreview, {
|
|
1599
1235
|
commands: [],
|
|
1600
1236
|
messageInput: ''
|
|
@@ -1603,34 +1239,34 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1603
1239
|
message: messagePreview
|
|
1604
1240
|
});
|
|
1605
1241
|
if (!enableOfflineSupport) {
|
|
1606
|
-
|
|
1242
|
+
_context8.next = 7;
|
|
1607
1243
|
break;
|
|
1608
1244
|
}
|
|
1609
|
-
|
|
1245
|
+
_context8.next = 7;
|
|
1610
1246
|
return dbApi.upsertMessages({
|
|
1611
1247
|
messages: [Object.assign({}, messagePreview, {
|
|
1612
1248
|
cid: channel.cid,
|
|
1613
1249
|
status: _utils.MessageStatusTypes.FAILED
|
|
1614
1250
|
})]
|
|
1615
1251
|
});
|
|
1616
|
-
case
|
|
1617
|
-
|
|
1252
|
+
case 7:
|
|
1253
|
+
_context8.next = 9;
|
|
1618
1254
|
return sendMessageRequest(messagePreview);
|
|
1619
|
-
case
|
|
1255
|
+
case 9:
|
|
1620
1256
|
case "end":
|
|
1621
|
-
return
|
|
1257
|
+
return _context8.stop();
|
|
1622
1258
|
}
|
|
1623
|
-
},
|
|
1259
|
+
}, _callee8);
|
|
1624
1260
|
}));
|
|
1625
|
-
return function sendMessage(
|
|
1626
|
-
return
|
|
1261
|
+
return function sendMessage(_x5) {
|
|
1262
|
+
return _ref10.apply(this, arguments);
|
|
1627
1263
|
};
|
|
1628
1264
|
}();
|
|
1629
1265
|
var retrySendMessage = function () {
|
|
1630
|
-
var
|
|
1266
|
+
var _ref11 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(message) {
|
|
1631
1267
|
var statusPendingMessage, messageWithoutReservedFields;
|
|
1632
|
-
return _regenerator["default"].wrap(function
|
|
1633
|
-
while (1) switch (
|
|
1268
|
+
return _regenerator["default"].wrap(function _callee9$(_context9) {
|
|
1269
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
1634
1270
|
case 0:
|
|
1635
1271
|
statusPendingMessage = Object.assign({}, message, {
|
|
1636
1272
|
status: _utils.MessageStatusTypes.SENDING
|
|
@@ -1639,199 +1275,18 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1639
1275
|
if (!(0, _utils.isBouncedMessage)(message)) {
|
|
1640
1276
|
updateMessage(messageWithoutReservedFields);
|
|
1641
1277
|
}
|
|
1642
|
-
|
|
1278
|
+
_context9.next = 5;
|
|
1643
1279
|
return sendMessageRequest(messageWithoutReservedFields, true);
|
|
1644
1280
|
case 5:
|
|
1645
1281
|
case "end":
|
|
1646
|
-
return
|
|
1282
|
+
return _context9.stop();
|
|
1647
1283
|
}
|
|
1648
|
-
},
|
|
1284
|
+
}, _callee9);
|
|
1649
1285
|
}));
|
|
1650
|
-
return function retrySendMessage(
|
|
1651
|
-
return
|
|
1286
|
+
return function retrySendMessage(_x6) {
|
|
1287
|
+
return _ref11.apply(this, arguments);
|
|
1652
1288
|
};
|
|
1653
1289
|
}();
|
|
1654
|
-
var loadMoreFinished = (0, _react.useRef)((0, _debounce["default"])(function (updatedHasMore, newMessages) {
|
|
1655
|
-
setLoading(false);
|
|
1656
|
-
setLoadingMore(false);
|
|
1657
|
-
setError(false);
|
|
1658
|
-
setHasMore(updatedHasMore);
|
|
1659
|
-
setMessages(newMessages);
|
|
1660
|
-
}, defaultDebounceInterval, debounceOptions)).current;
|
|
1661
|
-
var loadMore = (0, _react.useCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee15() {
|
|
1662
|
-
var limit,
|
|
1663
|
-
currentMessages,
|
|
1664
|
-
oldestMessage,
|
|
1665
|
-
oldestID,
|
|
1666
|
-
queryResponse,
|
|
1667
|
-
updatedHasMore,
|
|
1668
|
-
_args15 = arguments;
|
|
1669
|
-
return _regenerator["default"].wrap(function _callee15$(_context15) {
|
|
1670
|
-
while (1) switch (_context15.prev = _context15.next) {
|
|
1671
|
-
case 0:
|
|
1672
|
-
limit = _args15.length > 0 && _args15[0] !== undefined ? _args15[0] : 20;
|
|
1673
|
-
if (!(loadingMore || hasMore === false)) {
|
|
1674
|
-
_context15.next = 3;
|
|
1675
|
-
break;
|
|
1676
|
-
}
|
|
1677
|
-
return _context15.abrupt("return");
|
|
1678
|
-
case 3:
|
|
1679
|
-
currentMessages = channel.state.messages;
|
|
1680
|
-
if (currentMessages.length) {
|
|
1681
|
-
_context15.next = 6;
|
|
1682
|
-
break;
|
|
1683
|
-
}
|
|
1684
|
-
return _context15.abrupt("return", setLoadingMore(false));
|
|
1685
|
-
case 6:
|
|
1686
|
-
oldestMessage = currentMessages && currentMessages[0];
|
|
1687
|
-
if (!(oldestMessage && oldestMessage.status !== _utils.MessageStatusTypes.RECEIVED)) {
|
|
1688
|
-
_context15.next = 9;
|
|
1689
|
-
break;
|
|
1690
|
-
}
|
|
1691
|
-
return _context15.abrupt("return", setLoadingMore(false));
|
|
1692
|
-
case 9:
|
|
1693
|
-
setLoadingMore(true);
|
|
1694
|
-
oldestID = oldestMessage && oldestMessage.id;
|
|
1695
|
-
_context15.prev = 11;
|
|
1696
|
-
if (!channel) {
|
|
1697
|
-
_context15.next = 18;
|
|
1698
|
-
break;
|
|
1699
|
-
}
|
|
1700
|
-
_context15.next = 15;
|
|
1701
|
-
return channel.query({
|
|
1702
|
-
messages: {
|
|
1703
|
-
id_lt: oldestID,
|
|
1704
|
-
limit: limit
|
|
1705
|
-
}
|
|
1706
|
-
});
|
|
1707
|
-
case 15:
|
|
1708
|
-
queryResponse = _context15.sent;
|
|
1709
|
-
updatedHasMore = queryResponse.messages.length === limit;
|
|
1710
|
-
loadMoreFinished(updatedHasMore, channel.state.messages);
|
|
1711
|
-
case 18:
|
|
1712
|
-
_context15.next = 25;
|
|
1713
|
-
break;
|
|
1714
|
-
case 20:
|
|
1715
|
-
_context15.prev = 20;
|
|
1716
|
-
_context15.t0 = _context15["catch"](11);
|
|
1717
|
-
if (_context15.t0 instanceof Error) {
|
|
1718
|
-
setError(_context15.t0);
|
|
1719
|
-
} else {
|
|
1720
|
-
setError(true);
|
|
1721
|
-
}
|
|
1722
|
-
setLoadingMore(false);
|
|
1723
|
-
throw _context15.t0;
|
|
1724
|
-
case 25:
|
|
1725
|
-
case "end":
|
|
1726
|
-
return _context15.stop();
|
|
1727
|
-
}
|
|
1728
|
-
}, _callee15, null, [[11, 20]]);
|
|
1729
|
-
})), [channelId, hasMore, loadingMore]);
|
|
1730
|
-
var loadMoreRecent = (0, _react.useCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee16() {
|
|
1731
|
-
var limit,
|
|
1732
|
-
latestMessageSet,
|
|
1733
|
-
latestLengthBeforeMerge,
|
|
1734
|
-
didMerge,
|
|
1735
|
-
currentMessages,
|
|
1736
|
-
recentMessage,
|
|
1737
|
-
queryResponse,
|
|
1738
|
-
gotAllRecentMessages,
|
|
1739
|
-
currentSet,
|
|
1740
|
-
_args16 = arguments;
|
|
1741
|
-
return _regenerator["default"].wrap(function _callee16$(_context16) {
|
|
1742
|
-
while (1) switch (_context16.prev = _context16.next) {
|
|
1743
|
-
case 0:
|
|
1744
|
-
limit = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : 5;
|
|
1745
|
-
latestMessageSet = channel.state.messageSets.find(function (set) {
|
|
1746
|
-
return set.isLatest;
|
|
1747
|
-
});
|
|
1748
|
-
latestLengthBeforeMerge = (latestMessageSet == null ? void 0 : latestMessageSet.messages.length) || 0;
|
|
1749
|
-
didMerge = mergeOverlappingMessageSetsRef.current(true);
|
|
1750
|
-
if (!didMerge) {
|
|
1751
|
-
_context16.next = 12;
|
|
1752
|
-
break;
|
|
1753
|
-
}
|
|
1754
|
-
if (!(latestMessageSet && latestLengthBeforeMerge >= limit)) {
|
|
1755
|
-
_context16.next = 12;
|
|
1756
|
-
break;
|
|
1757
|
-
}
|
|
1758
|
-
setLoadingMoreRecent(true);
|
|
1759
|
-
channel.state.setIsUpToDate(true);
|
|
1760
|
-
setHasNoMoreRecentMessagesToLoad(true);
|
|
1761
|
-
loadMoreRecentFinished(channel.state.messages);
|
|
1762
|
-
restartSetsMergeFuncRef.current();
|
|
1763
|
-
return _context16.abrupt("return");
|
|
1764
|
-
case 12:
|
|
1765
|
-
if (!channel.state.isUpToDate) {
|
|
1766
|
-
_context16.next = 15;
|
|
1767
|
-
break;
|
|
1768
|
-
}
|
|
1769
|
-
setLoadingMoreRecent(false);
|
|
1770
|
-
return _context16.abrupt("return");
|
|
1771
|
-
case 15:
|
|
1772
|
-
currentMessages = channel.state.messages;
|
|
1773
|
-
recentMessage = currentMessages[currentMessages.length - 1];
|
|
1774
|
-
if (!((recentMessage == null ? void 0 : recentMessage.status) !== _utils.MessageStatusTypes.RECEIVED)) {
|
|
1775
|
-
_context16.next = 20;
|
|
1776
|
-
break;
|
|
1777
|
-
}
|
|
1778
|
-
setLoadingMoreRecent(false);
|
|
1779
|
-
return _context16.abrupt("return");
|
|
1780
|
-
case 20:
|
|
1781
|
-
setLoadingMoreRecent(true);
|
|
1782
|
-
_context16.prev = 21;
|
|
1783
|
-
if (!channel) {
|
|
1784
|
-
_context16.next = 32;
|
|
1785
|
-
break;
|
|
1786
|
-
}
|
|
1787
|
-
_context16.next = 25;
|
|
1788
|
-
return channel.query({
|
|
1789
|
-
messages: {
|
|
1790
|
-
id_gte: recentMessage.id,
|
|
1791
|
-
limit: limit
|
|
1792
|
-
},
|
|
1793
|
-
watch: true
|
|
1794
|
-
});
|
|
1795
|
-
case 25:
|
|
1796
|
-
queryResponse = _context16.sent;
|
|
1797
|
-
gotAllRecentMessages = queryResponse.messages.length < limit;
|
|
1798
|
-
currentSet = channel.state.messageSets.find(function (set) {
|
|
1799
|
-
return set.isCurrent;
|
|
1800
|
-
});
|
|
1801
|
-
if (gotAllRecentMessages && currentSet && !currentSet.isLatest) {
|
|
1802
|
-
channel.state.messageSets = channel.state.messageSets.filter(function (set) {
|
|
1803
|
-
return !set.isLatest;
|
|
1804
|
-
});
|
|
1805
|
-
currentSet.isLatest = true;
|
|
1806
|
-
}
|
|
1807
|
-
channel.state.setIsUpToDate(gotAllRecentMessages);
|
|
1808
|
-
setHasNoMoreRecentMessagesToLoad(gotAllRecentMessages);
|
|
1809
|
-
loadMoreRecentFinished(channel.state.messages);
|
|
1810
|
-
case 32:
|
|
1811
|
-
_context16.next = 40;
|
|
1812
|
-
break;
|
|
1813
|
-
case 34:
|
|
1814
|
-
_context16.prev = 34;
|
|
1815
|
-
_context16.t0 = _context16["catch"](21);
|
|
1816
|
-
console.warn('Message pagination request failed with error', _context16.t0);
|
|
1817
|
-
if (_context16.t0 instanceof Error) {
|
|
1818
|
-
setError(_context16.t0);
|
|
1819
|
-
} else {
|
|
1820
|
-
setError(true);
|
|
1821
|
-
}
|
|
1822
|
-
setLoadingMoreRecent(false);
|
|
1823
|
-
throw _context16.t0;
|
|
1824
|
-
case 40:
|
|
1825
|
-
case "end":
|
|
1826
|
-
return _context16.stop();
|
|
1827
|
-
}
|
|
1828
|
-
}, _callee16, null, [[21, 34]]);
|
|
1829
|
-
})), [channelId, hasNoMoreRecentMessagesToLoad]);
|
|
1830
|
-
var loadMoreRecentFinished = (0, _react.useRef)((0, _debounce["default"])(function (newMessages) {
|
|
1831
|
-
setLoadingMoreRecent(false);
|
|
1832
|
-
setMessages(newMessages);
|
|
1833
|
-
setError(false);
|
|
1834
|
-
}, defaultDebounceInterval, debounceOptions)).current;
|
|
1835
1290
|
var editMessage = function editMessage(updatedMessage) {
|
|
1836
1291
|
return doUpdateMessageRequest ? doUpdateMessageRequest((channel == null ? void 0 : channel.cid) || '', updatedMessage) : client.updateMessage(updatedMessage);
|
|
1837
1292
|
};
|
|
@@ -1849,43 +1304,43 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1849
1304
|
return setQuotedMessage(undefined);
|
|
1850
1305
|
};
|
|
1851
1306
|
var removeMessage = function () {
|
|
1852
|
-
var
|
|
1853
|
-
return _regenerator["default"].wrap(function
|
|
1854
|
-
while (1) switch (
|
|
1307
|
+
var _ref12 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10(message) {
|
|
1308
|
+
return _regenerator["default"].wrap(function _callee10$(_context10) {
|
|
1309
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
1855
1310
|
case 0:
|
|
1856
1311
|
if (channel) {
|
|
1857
1312
|
channel.state.removeMessage(message);
|
|
1858
|
-
|
|
1313
|
+
copyMessagesStateFromChannel(channel);
|
|
1859
1314
|
if (thread) {
|
|
1860
1315
|
setThreadMessages(channel.state.threads[thread.id] || []);
|
|
1861
1316
|
}
|
|
1862
1317
|
}
|
|
1863
1318
|
if (!enableOfflineSupport) {
|
|
1864
|
-
|
|
1319
|
+
_context10.next = 4;
|
|
1865
1320
|
break;
|
|
1866
1321
|
}
|
|
1867
|
-
|
|
1322
|
+
_context10.next = 4;
|
|
1868
1323
|
return dbApi.deleteMessage({
|
|
1869
1324
|
id: message.id
|
|
1870
1325
|
});
|
|
1871
1326
|
case 4:
|
|
1872
1327
|
case "end":
|
|
1873
|
-
return
|
|
1328
|
+
return _context10.stop();
|
|
1874
1329
|
}
|
|
1875
|
-
},
|
|
1330
|
+
}, _callee10);
|
|
1876
1331
|
}));
|
|
1877
|
-
return function removeMessage(
|
|
1878
|
-
return
|
|
1332
|
+
return function removeMessage(_x7) {
|
|
1333
|
+
return _ref12.apply(this, arguments);
|
|
1879
1334
|
};
|
|
1880
1335
|
}();
|
|
1881
1336
|
var sendReaction = function () {
|
|
1882
|
-
var
|
|
1337
|
+
var _ref13 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee11(type, messageId) {
|
|
1883
1338
|
var payload, sendReactionResponse;
|
|
1884
|
-
return _regenerator["default"].wrap(function
|
|
1885
|
-
while (1) switch (
|
|
1339
|
+
return _regenerator["default"].wrap(function _callee11$(_context11) {
|
|
1340
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
1886
1341
|
case 0:
|
|
1887
1342
|
if (!(!(channel != null && channel.id) || !client.user)) {
|
|
1888
|
-
|
|
1343
|
+
_context11.next = 2;
|
|
1889
1344
|
break;
|
|
1890
1345
|
}
|
|
1891
1346
|
throw new Error('Channel has not been initialized');
|
|
@@ -1896,13 +1351,13 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1896
1351
|
enforce_unique: enforceUniqueReaction
|
|
1897
1352
|
}];
|
|
1898
1353
|
if (enableOfflineSupport) {
|
|
1899
|
-
|
|
1354
|
+
_context11.next = 7;
|
|
1900
1355
|
break;
|
|
1901
1356
|
}
|
|
1902
|
-
|
|
1357
|
+
_context11.next = 6;
|
|
1903
1358
|
return channel.sendReaction.apply(channel, payload);
|
|
1904
1359
|
case 6:
|
|
1905
|
-
return
|
|
1360
|
+
return _context11.abrupt("return");
|
|
1906
1361
|
case 7:
|
|
1907
1362
|
(0, _addReactionToLocalState.addReactionToLocalState)({
|
|
1908
1363
|
channel: channel,
|
|
@@ -1911,8 +1366,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1911
1366
|
reactionType: type,
|
|
1912
1367
|
user: client.user
|
|
1913
1368
|
});
|
|
1914
|
-
|
|
1915
|
-
|
|
1369
|
+
copyMessagesStateFromChannel(channel);
|
|
1370
|
+
_context11.next = 11;
|
|
1916
1371
|
return _DBSyncManager.DBSyncManager.queueTask({
|
|
1917
1372
|
client: client,
|
|
1918
1373
|
task: {
|
|
@@ -1924,7 +1379,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1924
1379
|
}
|
|
1925
1380
|
});
|
|
1926
1381
|
case 11:
|
|
1927
|
-
sendReactionResponse =
|
|
1382
|
+
sendReactionResponse = _context11.sent;
|
|
1928
1383
|
if (sendReactionResponse != null && sendReactionResponse.message) {
|
|
1929
1384
|
threadInstance == null ? void 0 : threadInstance.upsertReplyLocally == null ? void 0 : threadInstance.upsertReplyLocally({
|
|
1930
1385
|
message: sendReactionResponse.message
|
|
@@ -1932,57 +1387,57 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1932
1387
|
}
|
|
1933
1388
|
case 13:
|
|
1934
1389
|
case "end":
|
|
1935
|
-
return
|
|
1390
|
+
return _context11.stop();
|
|
1936
1391
|
}
|
|
1937
|
-
},
|
|
1392
|
+
}, _callee11);
|
|
1938
1393
|
}));
|
|
1939
|
-
return function sendReaction(
|
|
1940
|
-
return
|
|
1394
|
+
return function sendReaction(_x8, _x9) {
|
|
1395
|
+
return _ref13.apply(this, arguments);
|
|
1941
1396
|
};
|
|
1942
1397
|
}();
|
|
1943
1398
|
var deleteMessage = function () {
|
|
1944
|
-
var
|
|
1399
|
+
var _ref14 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee12(message) {
|
|
1945
1400
|
var _updatedMessage3, _data;
|
|
1946
|
-
return _regenerator["default"].wrap(function
|
|
1947
|
-
while (1) switch (
|
|
1401
|
+
return _regenerator["default"].wrap(function _callee12$(_context12) {
|
|
1402
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
1948
1403
|
case 0:
|
|
1949
1404
|
if (channel.id) {
|
|
1950
|
-
|
|
1405
|
+
_context12.next = 2;
|
|
1951
1406
|
break;
|
|
1952
1407
|
}
|
|
1953
1408
|
throw new Error('Channel has not been initialized yet');
|
|
1954
1409
|
case 2:
|
|
1955
1410
|
if (enableOfflineSupport) {
|
|
1956
|
-
|
|
1411
|
+
_context12.next = 10;
|
|
1957
1412
|
break;
|
|
1958
1413
|
}
|
|
1959
1414
|
if (!(message.status === _utils.MessageStatusTypes.FAILED)) {
|
|
1960
|
-
|
|
1415
|
+
_context12.next = 7;
|
|
1961
1416
|
break;
|
|
1962
1417
|
}
|
|
1963
|
-
|
|
1418
|
+
_context12.next = 6;
|
|
1964
1419
|
return removeMessage(message);
|
|
1965
1420
|
case 6:
|
|
1966
|
-
return
|
|
1421
|
+
return _context12.abrupt("return");
|
|
1967
1422
|
case 7:
|
|
1968
|
-
|
|
1423
|
+
_context12.next = 9;
|
|
1969
1424
|
return client.deleteMessage(message.id);
|
|
1970
1425
|
case 9:
|
|
1971
|
-
return
|
|
1426
|
+
return _context12.abrupt("return");
|
|
1972
1427
|
case 10:
|
|
1973
1428
|
if (!(message.status === _utils.MessageStatusTypes.FAILED)) {
|
|
1974
|
-
|
|
1429
|
+
_context12.next = 17;
|
|
1975
1430
|
break;
|
|
1976
1431
|
}
|
|
1977
|
-
|
|
1432
|
+
_context12.next = 13;
|
|
1978
1433
|
return _DBSyncManager.DBSyncManager.dropPendingTasks({
|
|
1979
1434
|
messageId: message.id
|
|
1980
1435
|
});
|
|
1981
1436
|
case 13:
|
|
1982
|
-
|
|
1437
|
+
_context12.next = 15;
|
|
1983
1438
|
return removeMessage(message);
|
|
1984
1439
|
case 15:
|
|
1985
|
-
|
|
1440
|
+
_context12.next = 24;
|
|
1986
1441
|
break;
|
|
1987
1442
|
case 17:
|
|
1988
1443
|
_updatedMessage3 = Object.assign({}, message, {
|
|
@@ -1994,7 +1449,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1994
1449
|
threadInstance == null ? void 0 : threadInstance.upsertReplyLocally({
|
|
1995
1450
|
message: _updatedMessage3
|
|
1996
1451
|
});
|
|
1997
|
-
|
|
1452
|
+
_context12.next = 22;
|
|
1998
1453
|
return _DBSyncManager.DBSyncManager.queueTask({
|
|
1999
1454
|
client: client,
|
|
2000
1455
|
task: {
|
|
@@ -2006,41 +1461,41 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2006
1461
|
}
|
|
2007
1462
|
});
|
|
2008
1463
|
case 22:
|
|
2009
|
-
_data =
|
|
1464
|
+
_data = _context12.sent;
|
|
2010
1465
|
if (_data != null && _data.message) {
|
|
2011
1466
|
updateMessage(Object.assign({}, _data.message));
|
|
2012
1467
|
}
|
|
2013
1468
|
case 24:
|
|
2014
1469
|
case "end":
|
|
2015
|
-
return
|
|
1470
|
+
return _context12.stop();
|
|
2016
1471
|
}
|
|
2017
|
-
},
|
|
1472
|
+
}, _callee12);
|
|
2018
1473
|
}));
|
|
2019
|
-
return function deleteMessage(
|
|
2020
|
-
return
|
|
1474
|
+
return function deleteMessage(_x10) {
|
|
1475
|
+
return _ref14.apply(this, arguments);
|
|
2021
1476
|
};
|
|
2022
1477
|
}();
|
|
2023
1478
|
var deleteReaction = function () {
|
|
2024
|
-
var
|
|
1479
|
+
var _ref15 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee13(type, messageId) {
|
|
2025
1480
|
var payload;
|
|
2026
|
-
return _regenerator["default"].wrap(function
|
|
2027
|
-
while (1) switch (
|
|
1481
|
+
return _regenerator["default"].wrap(function _callee13$(_context13) {
|
|
1482
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
2028
1483
|
case 0:
|
|
2029
1484
|
if (!(!(channel != null && channel.id) || !client.user)) {
|
|
2030
|
-
|
|
1485
|
+
_context13.next = 2;
|
|
2031
1486
|
break;
|
|
2032
1487
|
}
|
|
2033
1488
|
throw new Error('Channel has not been initialized');
|
|
2034
1489
|
case 2:
|
|
2035
1490
|
payload = [messageId, type];
|
|
2036
1491
|
if (enableOfflineSupport) {
|
|
2037
|
-
|
|
1492
|
+
_context13.next = 7;
|
|
2038
1493
|
break;
|
|
2039
1494
|
}
|
|
2040
|
-
|
|
1495
|
+
_context13.next = 6;
|
|
2041
1496
|
return channel.deleteReaction.apply(channel, payload);
|
|
2042
1497
|
case 6:
|
|
2043
|
-
return
|
|
1498
|
+
return _context13.abrupt("return");
|
|
2044
1499
|
case 7:
|
|
2045
1500
|
(0, _removeReactionFromLocalState.removeReactionFromLocalState)({
|
|
2046
1501
|
channel: channel,
|
|
@@ -2048,8 +1503,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2048
1503
|
reactionType: type,
|
|
2049
1504
|
user: client.user
|
|
2050
1505
|
});
|
|
2051
|
-
|
|
2052
|
-
|
|
1506
|
+
copyMessagesStateFromChannel(channel);
|
|
1507
|
+
_context13.next = 11;
|
|
2053
1508
|
return _DBSyncManager.DBSyncManager.queueTask({
|
|
2054
1509
|
client: client,
|
|
2055
1510
|
task: {
|
|
@@ -2062,12 +1517,12 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2062
1517
|
});
|
|
2063
1518
|
case 11:
|
|
2064
1519
|
case "end":
|
|
2065
|
-
return
|
|
1520
|
+
return _context13.stop();
|
|
2066
1521
|
}
|
|
2067
|
-
},
|
|
1522
|
+
}, _callee13);
|
|
2068
1523
|
}));
|
|
2069
|
-
return function deleteReaction(
|
|
2070
|
-
return
|
|
1524
|
+
return function deleteReaction(_x11, _x12) {
|
|
1525
|
+
return _ref15.apply(this, arguments);
|
|
2071
1526
|
};
|
|
2072
1527
|
}();
|
|
2073
1528
|
var openThread = (0, _react.useCallback)(function (message) {
|
|
@@ -2088,94 +1543,87 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2088
1543
|
setThreadMessages(updatedThreadMessages);
|
|
2089
1544
|
}, defaultDebounceInterval, debounceOptions)).current;
|
|
2090
1545
|
var loadMoreThread = function () {
|
|
2091
|
-
var
|
|
1546
|
+
var _ref16 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee14() {
|
|
2092
1547
|
var _threadMessages$, parentID, oldestMessageID, limit, queryResponse, updatedHasMore, updatedThreadMessages;
|
|
2093
|
-
return _regenerator["default"].wrap(function
|
|
2094
|
-
while (1) switch (
|
|
1548
|
+
return _regenerator["default"].wrap(function _callee14$(_context14) {
|
|
1549
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
2095
1550
|
case 0:
|
|
2096
1551
|
if (!(threadLoadingMore || !(thread != null && thread.id))) {
|
|
2097
|
-
|
|
1552
|
+
_context14.next = 2;
|
|
2098
1553
|
break;
|
|
2099
1554
|
}
|
|
2100
|
-
return
|
|
1555
|
+
return _context14.abrupt("return");
|
|
2101
1556
|
case 2:
|
|
2102
1557
|
setThreadLoadingMore(true);
|
|
2103
|
-
|
|
1558
|
+
_context14.prev = 3;
|
|
2104
1559
|
if (!channel) {
|
|
2105
|
-
|
|
1560
|
+
_context14.next = 15;
|
|
2106
1561
|
break;
|
|
2107
1562
|
}
|
|
2108
1563
|
parentID = thread.id;
|
|
2109
1564
|
channel.state.threads[parentID] = threadMessages;
|
|
2110
1565
|
oldestMessageID = threadMessages == null ? void 0 : (_threadMessages$ = threadMessages[0]) == null ? void 0 : _threadMessages$.id;
|
|
2111
1566
|
limit = 50;
|
|
2112
|
-
|
|
1567
|
+
_context14.next = 11;
|
|
2113
1568
|
return channel.getReplies(parentID, {
|
|
2114
1569
|
id_lt: oldestMessageID,
|
|
2115
1570
|
limit: limit
|
|
2116
1571
|
});
|
|
2117
1572
|
case 11:
|
|
2118
|
-
queryResponse =
|
|
1573
|
+
queryResponse = _context14.sent;
|
|
2119
1574
|
updatedHasMore = queryResponse.messages.length === limit;
|
|
2120
1575
|
updatedThreadMessages = channel.state.threads[parentID] || [];
|
|
2121
1576
|
loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);
|
|
2122
1577
|
case 15:
|
|
2123
|
-
|
|
1578
|
+
_context14.next = 23;
|
|
2124
1579
|
break;
|
|
2125
1580
|
case 17:
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
console.warn('Message pagination request failed with error',
|
|
2129
|
-
if (
|
|
2130
|
-
setError(
|
|
1581
|
+
_context14.prev = 17;
|
|
1582
|
+
_context14.t0 = _context14["catch"](3);
|
|
1583
|
+
console.warn('Message pagination request failed with error', _context14.t0);
|
|
1584
|
+
if (_context14.t0 instanceof Error) {
|
|
1585
|
+
setError(_context14.t0);
|
|
2131
1586
|
} else {
|
|
2132
1587
|
setError(true);
|
|
2133
1588
|
}
|
|
2134
1589
|
setThreadLoadingMore(false);
|
|
2135
|
-
throw
|
|
1590
|
+
throw _context14.t0;
|
|
2136
1591
|
case 23:
|
|
2137
1592
|
case "end":
|
|
2138
|
-
return
|
|
1593
|
+
return _context14.stop();
|
|
2139
1594
|
}
|
|
2140
|
-
},
|
|
1595
|
+
}, _callee14, null, [[3, 17]]);
|
|
2141
1596
|
}));
|
|
2142
1597
|
return function loadMoreThread() {
|
|
2143
|
-
return
|
|
1598
|
+
return _ref16.apply(this, arguments);
|
|
2144
1599
|
};
|
|
2145
1600
|
}();
|
|
2146
|
-
var disabledValue = (0, _react.useMemo)(function () {
|
|
2147
|
-
var _channel$data;
|
|
2148
|
-
return !!(channel != null && (_channel$data = channel.data) != null && _channel$data.frozen) && disableIfFrozenChannel;
|
|
2149
|
-
}, [(_channel$data2 = channel.data) == null ? void 0 : _channel$data2.frozen, disableIfFrozenChannel]);
|
|
2150
1601
|
var ownCapabilitiesContext = (0, _useCreateOwnCapabilitiesContext.useCreateOwnCapabilitiesContext)({
|
|
2151
1602
|
channel: channel,
|
|
2152
1603
|
overrideCapabilities: overrideOwnCapabilities
|
|
2153
1604
|
});
|
|
2154
1605
|
var channelContext = (0, _useCreateChannelContext.useCreateChannelContext)({
|
|
2155
1606
|
channel: channel,
|
|
2156
|
-
disabled:
|
|
1607
|
+
disabled: !!(channel != null && (_channel$data = channel.data) != null && _channel$data.frozen),
|
|
2157
1608
|
EmptyStateIndicator: EmptyStateIndicator,
|
|
2158
1609
|
enableMessageGroupingByUser: enableMessageGroupingByUser,
|
|
2159
1610
|
enforceUniqueReaction: enforceUniqueReaction,
|
|
2160
1611
|
error: error,
|
|
2161
|
-
giphyEnabled: giphyEnabled != null ? giphyEnabled : !!((
|
|
1612
|
+
giphyEnabled: giphyEnabled != null ? giphyEnabled : !!((_ref17 = (clientChannelConfig == null ? void 0 : clientChannelConfig.commands) || []) != null && _ref17.some(function (command) {
|
|
2162
1613
|
return command.name === 'giphy';
|
|
2163
1614
|
})),
|
|
2164
1615
|
hideDateSeparators: hideDateSeparators,
|
|
2165
1616
|
hideStickyDateHeader: hideStickyDateHeader,
|
|
2166
|
-
isAdmin: isAdmin,
|
|
2167
1617
|
isChannelActive: shouldSyncChannel,
|
|
2168
|
-
isModerator: isModerator,
|
|
2169
|
-
isOwner: isOwner,
|
|
2170
1618
|
lastRead: lastRead,
|
|
2171
1619
|
loadChannelAroundMessage: loadChannelAroundMessage,
|
|
2172
|
-
loading: loading,
|
|
1620
|
+
loading: channelMessagesState.loading,
|
|
2173
1621
|
LoadingIndicator: LoadingIndicator,
|
|
2174
1622
|
markRead: markRead,
|
|
2175
1623
|
maxTimeBetweenGroupedMessages: maxTimeBetweenGroupedMessages,
|
|
2176
|
-
members: members,
|
|
1624
|
+
members: (_channelState$members = channelState.members) != null ? _channelState$members : {},
|
|
2177
1625
|
NetworkDownIndicator: NetworkDownIndicator,
|
|
2178
|
-
read: read,
|
|
1626
|
+
read: (_channelState$read = channelState.read) != null ? _channelState$read : {},
|
|
2179
1627
|
reloadChannel: reloadChannel,
|
|
2180
1628
|
scrollToFirstUnreadThreshold: scrollToFirstUnreadThreshold,
|
|
2181
1629
|
setLastRead: setLastRead,
|
|
@@ -2184,8 +1632,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2184
1632
|
targetedMessage: targetedMessage,
|
|
2185
1633
|
threadList: threadList,
|
|
2186
1634
|
uploadAbortControllerRef: uploadAbortControllerRef,
|
|
2187
|
-
watcherCount: watcherCount,
|
|
2188
|
-
watchers: watchers
|
|
1635
|
+
watcherCount: channelState.watcherCount,
|
|
1636
|
+
watchers: channelState.watchers
|
|
2189
1637
|
});
|
|
2190
1638
|
var sendMessageRef = (0, _react.useRef)(sendMessage);
|
|
2191
1639
|
sendMessageRef.current = sendMessage;
|
|
@@ -2230,7 +1678,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2230
1678
|
InputEditingStateHeader: InputEditingStateHeader,
|
|
2231
1679
|
InputGiphySearch: InputGiphySearch,
|
|
2232
1680
|
InputReplyStateHeader: InputReplyStateHeader,
|
|
2233
|
-
maxMessageLength: (
|
|
1681
|
+
maxMessageLength: (_ref18 = maxMessageLengthProp != null ? maxMessageLengthProp : clientChannelConfig == null ? void 0 : clientChannelConfig.max_message_length) != null ? _ref18 : undefined,
|
|
2234
1682
|
maxNumberOfFiles: maxNumberOfFiles,
|
|
2235
1683
|
mentionAllAppUsersEnabled: mentionAllAppUsersEnabled,
|
|
2236
1684
|
mentionAllAppUsersQuery: mentionAllAppUsersQuery,
|
|
@@ -2249,19 +1697,18 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2249
1697
|
setQuotedMessageState: setQuotedMessageState,
|
|
2250
1698
|
ShowThreadMessageInChannelButton: ShowThreadMessageInChannelButton,
|
|
2251
1699
|
StartAudioRecordingButton: StartAudioRecordingButton,
|
|
1700
|
+
StopMessageStreamingButton: StopMessageStreamingButton,
|
|
2252
1701
|
UploadProgressIndicator: UploadProgressIndicator
|
|
2253
1702
|
});
|
|
2254
1703
|
var messageListContext = (0, _useCreatePaginatedMessageListContext.useCreatePaginatedMessageListContext)({
|
|
2255
1704
|
channelId: channelId,
|
|
2256
|
-
hasMore: hasMore,
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
1705
|
+
hasMore: channelMessagesState.hasMore,
|
|
1706
|
+
loadingMore: loadingMoreProp !== undefined ? loadingMoreProp : channelMessagesState.loadingMore,
|
|
1707
|
+
loadingMoreRecent: loadingMoreRecentProp !== undefined ? loadingMoreRecentProp : channelMessagesState.loadingMoreRecent,
|
|
1708
|
+
loadLatestMessages: loadLatestMessages,
|
|
2260
1709
|
loadMore: loadMore,
|
|
2261
1710
|
loadMoreRecent: loadMoreRecent,
|
|
2262
|
-
messages: messages
|
|
2263
|
-
setLoadingMore: setLoadingMore,
|
|
2264
|
-
setLoadingMoreRecent: setLoadingMoreRecent
|
|
1711
|
+
messages: (_channelMessagesState3 = channelMessagesState.messages) != null ? _channelMessagesState3 : []
|
|
2265
1712
|
});
|
|
2266
1713
|
var messagesContext = (0, _useCreateMessagesContext.useCreateMessagesContext)({
|
|
2267
1714
|
additionalPressableProps: additionalPressableProps,
|
|
@@ -2307,6 +1754,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2307
1754
|
InlineDateSeparator: InlineDateSeparator,
|
|
2308
1755
|
InlineUnreadIndicator: InlineUnreadIndicator,
|
|
2309
1756
|
isAttachmentEqual: isAttachmentEqual,
|
|
1757
|
+
isMessageAIGenerated: isMessageAIGenerated,
|
|
2310
1758
|
legacyImageViewerSwipeBehaviour: legacyImageViewerSwipeBehaviour,
|
|
2311
1759
|
markdownRules: markdownRules,
|
|
2312
1760
|
Message: Message,
|
|
@@ -2354,6 +1802,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2354
1802
|
setEditingState: setEditingState,
|
|
2355
1803
|
setQuotedMessageState: setQuotedMessageState,
|
|
2356
1804
|
shouldShowUnreadUnderlay: shouldShowUnreadUnderlay,
|
|
1805
|
+
StreamingMessageView: StreamingMessageView,
|
|
2357
1806
|
supportedReactions: supportedReactions,
|
|
2358
1807
|
targetedMessage: targetedMessage,
|
|
2359
1808
|
TypingIndicator: TypingIndicator,
|
|
@@ -2381,10 +1830,10 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2381
1830
|
threadMessages: threadMessages
|
|
2382
1831
|
});
|
|
2383
1832
|
var typingContext = (0, _useCreateTypingContext.useCreateTypingContext)({
|
|
2384
|
-
typing: typing
|
|
1833
|
+
typing: (_channelState$typing = channelState.typing) != null ? _channelState$typing : {}
|
|
2385
1834
|
});
|
|
2386
1835
|
if (deleted) return null;
|
|
2387
|
-
if (!channel || error && messages.length === 0) {
|
|
1836
|
+
if (!channel || error && ((_channelMessagesState4 = channelMessagesState.messages) == null ? void 0 : _channelMessagesState4.length) === 0) {
|
|
2388
1837
|
return (0, _jsxRuntime.jsx)(LoadingErrorIndicator, {
|
|
2389
1838
|
error: error,
|
|
2390
1839
|
listType: "message",
|
|
@@ -2440,7 +1889,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2440
1889
|
var Channel = function Channel(props) {
|
|
2441
1890
|
var _useChatContext = (0, _ChatContext.useChatContext)(),
|
|
2442
1891
|
client = _useChatContext.client,
|
|
2443
|
-
enableOfflineSupport = _useChatContext.enableOfflineSupport
|
|
1892
|
+
enableOfflineSupport = _useChatContext.enableOfflineSupport,
|
|
1893
|
+
isMessageAIGenerated = _useChatContext.isMessageAIGenerated;
|
|
2444
1894
|
var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
|
|
2445
1895
|
t = _useTranslationContex.t;
|
|
2446
1896
|
var threadFromProps = props == null ? void 0 : props.thread;
|
|
@@ -2452,41 +1902,18 @@ var Channel = function Channel(props) {
|
|
|
2452
1902
|
};
|
|
2453
1903
|
var shouldSyncChannel = threadMessage != null && threadMessage.id ? !!props.threadList : true;
|
|
2454
1904
|
var _useChannelState = (0, _useChannelState2.useChannelState)(props.channel, props.threadList ? threadMessage == null ? void 0 : threadMessage.id : undefined),
|
|
2455
|
-
members = _useChannelState.members,
|
|
2456
|
-
messages = _useChannelState.messages,
|
|
2457
|
-
read = _useChannelState.read,
|
|
2458
|
-
setMembers = _useChannelState.setMembers,
|
|
2459
|
-
setMessages = _useChannelState.setMessages,
|
|
2460
|
-
setRead = _useChannelState.setRead,
|
|
2461
1905
|
setThreadMessages = _useChannelState.setThreadMessages,
|
|
2462
|
-
|
|
2463
|
-
setWatcherCount = _useChannelState.setWatcherCount,
|
|
2464
|
-
setWatchers = _useChannelState.setWatchers,
|
|
2465
|
-
threadMessages = _useChannelState.threadMessages,
|
|
2466
|
-
typing = _useChannelState.typing,
|
|
2467
|
-
watcherCount = _useChannelState.watcherCount,
|
|
2468
|
-
watchers = _useChannelState.watchers;
|
|
1906
|
+
threadMessages = _useChannelState.threadMessages;
|
|
2469
1907
|
return (0, _jsxRuntime.jsx)(ChannelWithContext, Object.assign({
|
|
2470
1908
|
client: client,
|
|
2471
1909
|
enableOfflineSupport: enableOfflineSupport,
|
|
2472
1910
|
t: t
|
|
2473
1911
|
}, props, {
|
|
2474
1912
|
shouldSyncChannel: shouldSyncChannel,
|
|
2475
|
-
|
|
2476
|
-
messages: props.messages || messages,
|
|
2477
|
-
read: read,
|
|
2478
|
-
setMembers: setMembers,
|
|
2479
|
-
setMessages: setMessages,
|
|
2480
|
-
setRead: setRead,
|
|
1913
|
+
isMessageAIGenerated: isMessageAIGenerated,
|
|
2481
1914
|
setThreadMessages: setThreadMessages,
|
|
2482
|
-
setTyping: setTyping,
|
|
2483
|
-
setWatcherCount: setWatcherCount,
|
|
2484
|
-
setWatchers: setWatchers,
|
|
2485
1915
|
thread: thread,
|
|
2486
|
-
threadMessages: threadMessages
|
|
2487
|
-
typing: typing,
|
|
2488
|
-
watcherCount: watcherCount,
|
|
2489
|
-
watchers: watchers
|
|
1916
|
+
threadMessages: threadMessages
|
|
2490
1917
|
}));
|
|
2491
1918
|
};
|
|
2492
1919
|
exports.Channel = Channel;
|