stream-chat-react-native-core 7.0.0-rc.8 → 7.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/Attachment/AudioAttachment.js +19 -9
- package/lib/commonjs/components/Attachment/AudioAttachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +3 -1
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +16 -3
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/ImageReloadIndicator.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 +7 -24
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +2 -4
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +320 -310
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useChannelDataState.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +2 -0
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js +133 -147
- package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +8 -13
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +14 -7
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +70 -54
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +14 -6
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +3 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js +25 -39
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/InputButtons.js +18 -15
- package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +96 -74
- package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +2 -1
- package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/hooks/useAudioController.js +4 -4
- package/lib/commonjs/components/MessageInput/hooks/useAudioController.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +281 -223
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js +65 -48
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +1 -1
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getReadState.js +20 -0
- package/lib/commonjs/components/MessageList/utils/getReadState.js.map +1 -0
- package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
- package/lib/commonjs/components/Poll/components/Button.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
- package/lib/commonjs/components/Reply/Reply.js +2 -2
- package/lib/commonjs/components/Reply/Reply.js.map +1 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +24 -6
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/commonjs/components/ThreadList/ThreadListItem.js.map +1 -1
- package/lib/commonjs/components/UIComponents/BottomSheetModal.js +10 -6
- package/lib/commonjs/components/UIComponents/BottomSheetModal.js.map +1 -1
- package/lib/commonjs/components/index.js +15 -4
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +5 -1
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/commonjs/contexts/debugContext/DebugContext.js.map +1 -1
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +535 -523
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +7 -6
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +37 -41
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/utils/utils.js +4 -4
- package/lib/commonjs/contexts/messageInputContext/utils/utils.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/contexts/pollContext/pollContext.js.map +1 -1
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +23 -14
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +2 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
- package/lib/commonjs/contexts/threadsContext/ThreadListItemContext.js.map +1 -1
- package/lib/commonjs/hooks/index.js +22 -0
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useAudioPlayer.js +60 -69
- package/lib/commonjs/hooks/useAudioPlayer.js.map +1 -1
- package/lib/commonjs/hooks/useStableCallback.js +13 -0
- package/lib/commonjs/hooks/useStableCallback.js.map +1 -0
- package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
- package/lib/commonjs/i18n/en.json +3 -0
- package/lib/commonjs/i18n/es.json +3 -0
- package/lib/commonjs/i18n/fr.json +3 -0
- package/lib/commonjs/i18n/he.json +3 -0
- package/lib/commonjs/i18n/hi.json +2 -0
- package/lib/commonjs/i18n/it.json +3 -0
- package/lib/commonjs/i18n/ja.json +1 -0
- package/lib/commonjs/i18n/ko.json +1 -0
- package/lib/commonjs/i18n/nl.json +2 -0
- package/lib/commonjs/i18n/pt-br.json +3 -0
- package/lib/commonjs/i18n/ru.json +4 -0
- package/lib/commonjs/i18n/tr.json +2 -0
- package/lib/commonjs/mock-builders/api/channelMocks.js.map +1 -1
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -1
- package/lib/commonjs/types/types.js.map +1 -1
- package/lib/commonjs/utils/compressImage.js +1 -1
- package/lib/commonjs/utils/compressImage.js.map +1 -1
- package/lib/commonjs/utils/removeReservedFields.js.map +1 -1
- package/lib/commonjs/utils/utils.js +17 -4
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/AudioAttachment.js +19 -9
- package/lib/module/components/Attachment/AudioAttachment.js.map +1 -1
- package/lib/module/components/Attachment/FileAttachmentGroup.js +3 -1
- package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +16 -3
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/ImageReloadIndicator.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 +7 -24
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +2 -4
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +320 -310
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useChannelDataState.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +2 -0
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useMessageListPagination.js +133 -147
- package/lib/module/components/Channel/hooks/useMessageListPagination.js.map +1 -1
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +8 -13
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
- package/lib/module/components/Message/Message.js +14 -7
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js +70 -54
- package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageStatus.js +14 -6
- package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js +3 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/module/components/MessageInput/FileUploadPreview.js +25 -39
- package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/InputButtons.js +18 -15
- package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +96 -74
- package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +2 -1
- package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -1
- package/lib/module/components/MessageInput/hooks/useAudioController.js +4 -4
- package/lib/module/components/MessageInput/hooks/useAudioController.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +281 -223
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js +65 -48
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js.map +1 -1
- package/lib/module/components/MessageList/utils/getGroupStyles.js +1 -1
- package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
- package/lib/module/components/MessageList/utils/getReadState.js +20 -0
- package/lib/module/components/MessageList/utils/getReadState.js.map +1 -0
- package/lib/module/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
- package/lib/module/components/Poll/components/Button.js.map +1 -1
- package/lib/module/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
- package/lib/module/components/Reply/Reply.js +2 -2
- package/lib/module/components/Reply/Reply.js.map +1 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js +24 -6
- package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/module/components/ThreadList/ThreadListItem.js.map +1 -1
- package/lib/module/components/UIComponents/BottomSheetModal.js +10 -6
- package/lib/module/components/UIComponents/BottomSheetModal.js.map +1 -1
- package/lib/module/components/index.js +15 -4
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/useChannelState.js +5 -1
- package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/module/contexts/debugContext/DebugContext.js.map +1 -1
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +535 -523
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +7 -6
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +37 -41
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/module/contexts/messageInputContext/utils/utils.js +4 -4
- package/lib/module/contexts/messageInputContext/utils/utils.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/contexts/pollContext/pollContext.js.map +1 -1
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +23 -14
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +2 -1
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
- package/lib/module/contexts/threadsContext/ThreadListItemContext.js.map +1 -1
- package/lib/module/hooks/index.js +22 -0
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useAudioPlayer.js +60 -69
- package/lib/module/hooks/useAudioPlayer.js.map +1 -1
- package/lib/module/hooks/useStableCallback.js +13 -0
- package/lib/module/hooks/useStableCallback.js.map +1 -0
- package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
- package/lib/module/i18n/en.json +3 -0
- package/lib/module/i18n/es.json +3 -0
- package/lib/module/i18n/fr.json +3 -0
- package/lib/module/i18n/he.json +3 -0
- package/lib/module/i18n/hi.json +2 -0
- package/lib/module/i18n/it.json +3 -0
- package/lib/module/i18n/ja.json +1 -0
- package/lib/module/i18n/ko.json +1 -0
- package/lib/module/i18n/nl.json +2 -0
- package/lib/module/i18n/pt-br.json +3 -0
- package/lib/module/i18n/ru.json +4 -0
- package/lib/module/i18n/tr.json +2 -0
- package/lib/module/mock-builders/api/channelMocks.js.map +1 -1
- package/lib/module/native.js.map +1 -1
- package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -1
- package/lib/module/types/types.js.map +1 -1
- package/lib/module/utils/compressImage.js +1 -1
- package/lib/module/utils/compressImage.js.map +1 -1
- package/lib/module/utils/removeReservedFields.js.map +1 -1
- package/lib/module/utils/utils.js +17 -4
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/AudioAttachment.d.ts +2 -2
- package/lib/typescript/components/Attachment/AudioAttachment.d.ts.map +1 -1
- package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts.map +1 -1
- package/lib/typescript/components/Attachment/Gallery.d.ts +3 -3
- package/lib/typescript/components/Attachment/Gallery.d.ts.map +1 -1
- package/lib/typescript/components/Attachment/ImageReloadIndicator.d.ts +4 -3
- package/lib/typescript/components/Attachment/ImageReloadIndicator.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 +2 -2
- package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerItem.d.ts.map +1 -1
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +2 -3
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts.map +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +3 -4
- package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts +2 -3
- package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +6 -6
- package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts +3 -3
- package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewData.d.ts +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +1 -1
- package/lib/typescript/components/Chat/Chat.d.ts +0 -9
- package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
- package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts +3 -0
- package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts.map +1 -1
- package/lib/typescript/components/Message/Message.d.ts +4 -5
- package/lib/typescript/components/Message/Message.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +2 -3
- package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +2 -2
- 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/useMessageActionHandlers.d.ts.map +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +2 -2
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts.map +1 -1
- package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +2 -4
- package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts.map +1 -1
- package/lib/typescript/components/MessageInput/InputButtons.d.ts +1 -1
- package/lib/typescript/components/MessageInput/InputButtons.d.ts.map +1 -1
- 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/hooks/useAudioController.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/MessageList.d.ts +4 -4
- package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/MessageSystem.d.ts +2 -2
- package/lib/typescript/components/MessageList/MessageSystem.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +14 -9
- package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.d.ts +2 -2
- package/lib/typescript/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts +2 -2
- package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/utils/getReadState.d.ts +9 -0
- package/lib/typescript/components/MessageList/utils/getReadState.d.ts.map +1 -0
- package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts +2 -3
- package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/Button.d.ts +2 -3
- package/lib/typescript/components/Poll/components/Button.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts +2 -3
- package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts.map +1 -1
- package/lib/typescript/components/Reply/Reply.d.ts.map +1 -1
- package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts.map +1 -1
- package/lib/typescript/components/ThreadList/ThreadListItem.d.ts.map +1 -1
- package/lib/typescript/components/UIComponents/BottomSheetModal.d.ts.map +1 -1
- package/lib/typescript/components/index.d.ts +2 -1
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +3 -3
- package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts.map +1 -1
- package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts.map +1 -1
- package/lib/typescript/contexts/debugContext/DebugContext.d.ts +2 -3
- package/lib/typescript/contexts/debugContext/DebugContext.d.ts.map +1 -1
- package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +3 -3
- package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +6 -4
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +13 -15
- 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/messageInputContext/hooks/useMessageDetailsForState.d.ts +3 -3
- package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts.map +1 -1
- package/lib/typescript/contexts/messageInputContext/utils/utils.d.ts +2 -2
- package/lib/typescript/contexts/messageInputContext/utils/utils.d.ts.map +1 -1
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +25 -21
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
- package/lib/typescript/contexts/pollContext/pollContext.d.ts +2 -3
- package/lib/typescript/contexts/pollContext/pollContext.d.ts.map +1 -1
- package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts.map +1 -1
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +1 -0
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
- package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +4 -5
- package/lib/typescript/contexts/threadContext/ThreadContext.d.ts.map +1 -1
- package/lib/typescript/contexts/threadsContext/ThreadListItemContext.d.ts +3 -4
- package/lib/typescript/contexts/threadsContext/ThreadListItemContext.d.ts.map +1 -1
- package/lib/typescript/hooks/index.d.ts +2 -0
- package/lib/typescript/hooks/index.d.ts.map +1 -1
- package/lib/typescript/hooks/useAudioPlayer.d.ts.map +1 -1
- package/lib/typescript/hooks/useStableCallback.d.ts +26 -0
- package/lib/typescript/hooks/useStableCallback.d.ts.map +1 -0
- package/lib/typescript/hooks/useTranslatedMessage.d.ts +59 -58
- package/lib/typescript/hooks/useTranslatedMessage.d.ts.map +1 -1
- package/lib/typescript/i18n/en.json +3 -0
- package/lib/typescript/i18n/es.json +3 -0
- package/lib/typescript/i18n/fr.json +3 -0
- package/lib/typescript/i18n/he.json +3 -0
- package/lib/typescript/i18n/hi.json +2 -0
- package/lib/typescript/i18n/it.json +3 -0
- package/lib/typescript/i18n/ja.json +1 -0
- package/lib/typescript/i18n/ko.json +1 -0
- package/lib/typescript/i18n/nl.json +2 -0
- package/lib/typescript/i18n/pt-br.json +3 -0
- package/lib/typescript/i18n/ru.json +4 -0
- package/lib/typescript/i18n/tr.json +2 -0
- package/lib/typescript/native.d.ts +8 -11
- package/lib/typescript/native.d.ts.map +1 -1
- package/lib/typescript/store/apis/insertReaction.d.ts +2 -2
- package/lib/typescript/store/apis/insertReaction.d.ts.map +1 -1
- package/lib/typescript/store/apis/updateMessage.d.ts +2 -2
- package/lib/typescript/store/apis/updateMessage.d.ts.map +1 -1
- package/lib/typescript/store/apis/updateReaction.d.ts +2 -2
- package/lib/typescript/store/apis/updateReaction.d.ts.map +1 -1
- package/lib/typescript/store/mappers/mapMessageToStorable.d.ts +2 -2
- package/lib/typescript/store/mappers/mapMessageToStorable.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +28 -50
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/utils/compressImage.d.ts +2 -2
- package/lib/typescript/utils/compressImage.d.ts.map +1 -1
- package/lib/typescript/utils/i18n/Streami18n.d.ts +3 -0
- package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
- package/lib/typescript/utils/removeReservedFields.d.ts +2 -3
- package/lib/typescript/utils/removeReservedFields.d.ts.map +1 -1
- package/lib/typescript/utils/utils.d.ts +10 -10
- package/lib/typescript/utils/utils.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/components/Attachment/AudioAttachment.tsx +12 -6
- package/src/components/Attachment/FileAttachmentGroup.tsx +3 -1
- package/src/components/Attachment/Gallery.tsx +22 -7
- package/src/components/Attachment/ImageReloadIndicator.tsx +4 -5
- package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -10
- package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +9 -37
- package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +27 -23
- package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +12 -12
- package/src/components/Channel/Channel.tsx +423 -361
- package/src/components/Channel/__tests__/Channel.test.js +10 -3
- package/src/components/Channel/hooks/useChannelDataState.ts +2 -4
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +2 -0
- package/src/components/Channel/hooks/useMessageListPagination.tsx +150 -150
- package/src/components/Chat/Chat.tsx +0 -9
- package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +8 -7
- package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +5 -4
- package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +5 -4
- package/src/components/ImageGallery/__tests__/ImageGalleryOverlay.test.tsx +3 -2
- package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx +12 -5
- package/src/components/Message/Message.tsx +16 -15
- package/src/components/Message/MessageSimple/MessageFooter.tsx +2 -3
- package/src/components/Message/MessageSimple/MessageSimple.tsx +112 -70
- package/src/components/Message/MessageSimple/MessageStatus.tsx +19 -17
- package/src/components/Message/MessageSimple/MessageTextContainer.tsx +3 -3
- package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +11 -5
- package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.tsx +5 -4
- package/src/components/Message/MessageSimple/utils/renderText.tsx +2 -3
- package/src/components/Message/hooks/useCreateMessageContext.ts +3 -0
- package/src/components/Message/hooks/useMessageActionHandlers.ts +1 -3
- package/src/components/Message/hooks/useMessageActions.tsx +4 -3
- package/src/components/MessageInput/FileUploadPreview.tsx +41 -70
- package/src/components/MessageInput/ImageUploadPreview.tsx +2 -2
- package/src/components/MessageInput/InputButtons.tsx +14 -10
- package/src/components/MessageInput/MessageInput.tsx +28 -30
- package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +1 -1
- package/src/components/MessageInput/__tests__/MessageInput.test.js +3 -1
- package/src/components/MessageInput/components/AudioRecorder/AudioRecordingButton.tsx +1 -0
- package/src/components/MessageInput/hooks/useAudioController.tsx +6 -5
- package/src/components/MessageList/MessageList.tsx +253 -137
- package/src/components/MessageList/MessageSystem.tsx +2 -2
- package/src/components/MessageList/hooks/useMessageList.ts +82 -64
- package/src/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.ts +2 -2
- package/src/components/MessageList/utils/getGroupStyles.ts +7 -5
- package/src/components/MessageList/utils/getLastReceivedMessage.ts +3 -3
- package/src/components/MessageList/utils/getReadState.ts +27 -0
- package/src/components/MessageMenu/__tests__/MessageUserReactions.test.tsx +2 -3
- package/src/components/MessageMenu/hooks/useFetchReactions.ts +2 -3
- package/src/components/Poll/components/Button.tsx +2 -4
- package/src/components/Poll/components/PollResults/PollResultItem.tsx +2 -3
- package/src/components/Reply/Reply.tsx +1 -2
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +318 -847
- package/src/components/Thread/components/ThreadFooterComponent.tsx +31 -9
- package/src/components/ThreadList/ThreadListItem.tsx +6 -4
- package/src/components/UIComponents/BottomSheetModal.tsx +11 -7
- package/src/components/index.ts +2 -1
- package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +5 -4
- package/src/contexts/channelsStateContext/useChannelState.ts +5 -1
- package/src/contexts/debugContext/DebugContext.tsx +2 -4
- package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +5 -4
- package/src/contexts/messageContext/MessageContext.tsx +6 -4
- package/src/contexts/messageInputContext/MessageInputContext.tsx +295 -262
- package/src/contexts/messageInputContext/__tests__/__snapshots__/sendMessage.test.tsx.snap +10 -6
- package/src/contexts/messageInputContext/__tests__/sendMessage.test.tsx +6 -5
- package/src/contexts/messageInputContext/__tests__/updateMessage.test.tsx +3 -5
- package/src/contexts/messageInputContext/__tests__/useMessageDetailsForState.test.tsx +14 -9
- package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +7 -3
- package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +37 -40
- package/src/contexts/messageInputContext/utils/utils.ts +6 -8
- package/src/contexts/messagesContext/MessagesContext.tsx +26 -20
- package/src/contexts/pollContext/pollContext.tsx +2 -4
- package/src/contexts/suggestionsContext/SuggestionsContext.tsx +33 -14
- package/src/contexts/themeContext/utils/theme.ts +2 -0
- package/src/contexts/threadContext/ThreadContext.tsx +4 -6
- package/src/contexts/threadsContext/ThreadListItemContext.tsx +3 -5
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useAudioPlayer.ts +37 -31
- package/src/hooks/useStableCallback.ts +37 -0
- package/src/hooks/useTranslatedMessage.ts +2 -2
- package/src/i18n/en.json +3 -0
- package/src/i18n/es.json +3 -0
- package/src/i18n/fr.json +3 -0
- package/src/i18n/he.json +3 -0
- package/src/i18n/hi.json +2 -0
- package/src/i18n/it.json +3 -0
- package/src/i18n/ja.json +1 -0
- package/src/i18n/ko.json +1 -0
- package/src/i18n/nl.json +2 -0
- package/src/i18n/pt-br.json +3 -0
- package/src/i18n/ru.json +4 -0
- package/src/i18n/tr.json +2 -0
- package/src/mock-builders/api/channelMocks.tsx +2 -8
- package/src/native.ts +13 -8
- package/src/store/apis/insertReaction.ts +2 -2
- package/src/store/apis/updateMessage.ts +2 -2
- package/src/store/apis/updateReaction.ts +2 -2
- package/src/store/mappers/mapMessageToStorable.ts +2 -2
- package/src/types/stream-chat-common-custom-data.d.ts +22 -22
- package/src/types/types.ts +35 -54
- package/src/utils/compressImage.ts +3 -4
- package/src/utils/removeReservedFields.ts +3 -5
- package/src/utils/utils.ts +25 -16
- package/src/version.json +1 -1
- package/lib/commonjs/components/MessageList/hooks/useLastReadData.js +0 -20
- package/lib/commonjs/components/MessageList/hooks/useLastReadData.js.map +0 -1
- package/lib/commonjs/components/MessageList/utils/getReadStates.js +0 -34
- package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +0 -1
- package/lib/module/components/MessageList/hooks/useLastReadData.js +0 -20
- package/lib/module/components/MessageList/hooks/useLastReadData.js.map +0 -1
- package/lib/module/components/MessageList/utils/getReadStates.js +0 -34
- package/lib/module/components/MessageList/utils/getReadStates.js.map +0 -1
- package/lib/typescript/components/MessageList/hooks/useLastReadData.d.ts +0 -12
- package/lib/typescript/components/MessageList/hooks/useLastReadData.d.ts.map +0 -1
- package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +0 -5
- package/lib/typescript/components/MessageList/utils/getReadStates.d.ts.map +0 -1
- package/src/components/MessageList/hooks/useLastReadData.ts +0 -29
- package/src/components/MessageList/utils/getReadStates.ts +0 -55
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
import React, { PropsWithChildren, useContext } from 'react';
|
|
2
2
|
|
|
3
|
-
import { ChannelState, Thread } from 'stream-chat';
|
|
4
|
-
|
|
5
|
-
import type { MessageType } from '../../components/MessageList/hooks/useMessageList';
|
|
3
|
+
import { ChannelState, LocalMessage, Thread } from 'stream-chat';
|
|
6
4
|
|
|
7
5
|
import { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';
|
|
8
6
|
|
|
9
7
|
import { isTestEnvironment } from '../utils/isTestEnvironment';
|
|
10
8
|
|
|
11
|
-
export type ThreadType = { thread:
|
|
9
|
+
export type ThreadType = { thread: LocalMessage; threadInstance: Thread };
|
|
12
10
|
|
|
13
11
|
export type ThreadContextValue = {
|
|
14
12
|
allowThreadMessagesInChannel: boolean;
|
|
15
13
|
closeThread: () => void;
|
|
16
14
|
loadMoreThread: () => Promise<void>;
|
|
17
|
-
openThread: (message:
|
|
15
|
+
openThread: (message: LocalMessage) => void;
|
|
18
16
|
reloadThread: () => void;
|
|
19
17
|
setThreadLoadingMore: React.Dispatch<React.SetStateAction<boolean>>;
|
|
20
|
-
thread:
|
|
18
|
+
thread: LocalMessage | null;
|
|
21
19
|
threadHasMore: boolean;
|
|
22
20
|
threadMessages: ChannelState['threads'][string];
|
|
23
21
|
loadMoreRecentThread?: (opts: { limit?: number }) => Promise<void>;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import React, { PropsWithChildren, useContext } from 'react';
|
|
2
2
|
|
|
3
|
-
import { Channel, Thread } from 'stream-chat';
|
|
4
|
-
|
|
5
|
-
import { MessageType } from '../../components';
|
|
3
|
+
import { Channel, LocalMessage, Thread } from 'stream-chat';
|
|
6
4
|
|
|
7
5
|
import { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';
|
|
8
6
|
|
|
@@ -10,9 +8,9 @@ export type ThreadListItemContextValue = {
|
|
|
10
8
|
channel: Channel;
|
|
11
9
|
dateString: string | number | undefined;
|
|
12
10
|
deletedAtDateString: string | number | undefined;
|
|
13
|
-
lastReply:
|
|
11
|
+
lastReply: LocalMessage | undefined;
|
|
14
12
|
ownUnreadMessageCount: number;
|
|
15
|
-
parentMessage:
|
|
13
|
+
parentMessage: LocalMessage | undefined;
|
|
16
14
|
thread: Thread;
|
|
17
15
|
};
|
|
18
16
|
|
package/src/hooks/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
2
|
|
|
3
3
|
import { NativeHandlers, SoundReturnType } from '../native';
|
|
4
4
|
|
|
@@ -15,7 +15,7 @@ export const useAudioPlayer = (props: UseSoundPlayerProps) => {
|
|
|
15
15
|
|
|
16
16
|
const isExpoCLI = NativeHandlers.SDK === 'stream-chat-expo';
|
|
17
17
|
|
|
18
|
-
const playAudio = async () => {
|
|
18
|
+
const playAudio = useCallback(async () => {
|
|
19
19
|
if (isExpoCLI) {
|
|
20
20
|
if (soundRef.current?.playAsync) {
|
|
21
21
|
await soundRef.current.playAsync();
|
|
@@ -25,9 +25,9 @@ export const useAudioPlayer = (props: UseSoundPlayerProps) => {
|
|
|
25
25
|
soundRef.current.resume();
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
};
|
|
28
|
+
}, [isExpoCLI, soundRef]);
|
|
29
29
|
|
|
30
|
-
const pauseAudio = async () => {
|
|
30
|
+
const pauseAudio = useCallback(async () => {
|
|
31
31
|
if (isExpoCLI) {
|
|
32
32
|
if (soundRef.current?.pauseAsync) {
|
|
33
33
|
await soundRef.current.pauseAsync();
|
|
@@ -37,39 +37,45 @@ export const useAudioPlayer = (props: UseSoundPlayerProps) => {
|
|
|
37
37
|
soundRef.current.pause();
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
};
|
|
40
|
+
}, [isExpoCLI, soundRef]);
|
|
41
41
|
|
|
42
|
-
const seekAudio =
|
|
43
|
-
|
|
44
|
-
if (
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
42
|
+
const seekAudio = useCallback(
|
|
43
|
+
async (currentTime: number) => {
|
|
44
|
+
if (isExpoCLI) {
|
|
45
|
+
if (currentTime === 0) {
|
|
46
|
+
// If currentTime is 0, we should replay the video from 0th position.
|
|
47
|
+
if (soundRef.current?.replayAsync) {
|
|
48
|
+
await soundRef.current.replayAsync({
|
|
49
|
+
positionMillis: 0,
|
|
50
|
+
shouldPlay: false,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
} else {
|
|
54
|
+
if (soundRef.current?.setPositionAsync) {
|
|
55
|
+
await soundRef.current.setPositionAsync(currentTime * 1000);
|
|
56
|
+
}
|
|
51
57
|
}
|
|
52
58
|
} else {
|
|
53
|
-
if (soundRef.current?.
|
|
54
|
-
|
|
59
|
+
if (soundRef.current?.seek) {
|
|
60
|
+
soundRef.current.seek(currentTime);
|
|
55
61
|
}
|
|
56
62
|
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
+
},
|
|
64
|
+
[isExpoCLI, soundRef],
|
|
65
|
+
);
|
|
63
66
|
|
|
64
|
-
const changeAudioSpeed =
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
const changeAudioSpeed = useCallback(
|
|
68
|
+
async (speed: number) => {
|
|
69
|
+
// Handled through prop `rate` in `Sound.Player`
|
|
70
|
+
if (!isExpoCLI) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (soundRef.current?.setRateAsync) {
|
|
74
|
+
await soundRef.current.setRateAsync(speed, true, 'high');
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
[isExpoCLI, soundRef],
|
|
78
|
+
);
|
|
73
79
|
|
|
74
80
|
return { changeAudioSpeed, pauseAudio, playAudio, seekAudio };
|
|
75
81
|
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useCallback, useRef } from 'react';
|
|
2
|
+
|
|
3
|
+
export type StableCallback<A extends unknown[], R> = (...args: A) => R;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A utility hook implementing a stable callback. It takes in an unstable method that
|
|
7
|
+
* is supposed to be invoked somewhere deeper in the DOM tree without making it
|
|
8
|
+
* change its reference every time the parent component rerenders. It will also return
|
|
9
|
+
* the value of the callback if it does return one.
|
|
10
|
+
* A common use-case would be having a function whose invocation depends on state
|
|
11
|
+
* somewhere high up in the DOM tree and wanting to use the same function deeper
|
|
12
|
+
* down, for example in a leaf node and simply using useCallback results in
|
|
13
|
+
* cascading dependency hell. If we wrap it in useStableCallback, we would be able
|
|
14
|
+
* to:
|
|
15
|
+
* - Use the same function as a dependency of another hook (since it is stable)
|
|
16
|
+
* - Still invoke it and get the latest state
|
|
17
|
+
*
|
|
18
|
+
* **Caveats:**
|
|
19
|
+
* - Never wrap a function that is supposed to return a React.ReactElement in
|
|
20
|
+
* useStableCallback, since React will not know that the DOM needs to be updated
|
|
21
|
+
* whenever the callback value changes (for example, renderItem from FlatList must
|
|
22
|
+
* never be wrapped in this hook)
|
|
23
|
+
* - Always prefer using a standard useCallback/stable function wherever possible
|
|
24
|
+
* (the purpose of useStableCallback is to bridge the gap between top level contexts
|
|
25
|
+
* and cascading rereders in downstream components - **not** as an escape hatch)
|
|
26
|
+
* @param callback - the callback we want to stabilize
|
|
27
|
+
*/
|
|
28
|
+
export const useStableCallback = <A extends unknown[], R>(
|
|
29
|
+
callback: StableCallback<A, R>,
|
|
30
|
+
): StableCallback<A, R> => {
|
|
31
|
+
const ref = useRef(callback);
|
|
32
|
+
ref.current = callback;
|
|
33
|
+
|
|
34
|
+
return useCallback<StableCallback<A, R>>((...args) => {
|
|
35
|
+
return ref.current(...args);
|
|
36
|
+
}, []);
|
|
37
|
+
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LocalMessage, MessageResponse, TranslationLanguages } from 'stream-chat';
|
|
2
2
|
|
|
3
3
|
import { useTranslationContext } from '../contexts/translationContext/TranslationContext';
|
|
4
4
|
|
|
5
5
|
type TranslationKey = `${TranslationLanguages}_text`;
|
|
6
6
|
|
|
7
|
-
export const useTranslatedMessage = (message?: MessageResponse |
|
|
7
|
+
export const useTranslatedMessage = (message?: MessageResponse | LocalMessage) => {
|
|
8
8
|
const { userLanguage } = useTranslationContext();
|
|
9
9
|
|
|
10
10
|
const translationKey: TranslationKey = `${userLanguage}_text`;
|
package/src/i18n/en.json
CHANGED
package/src/i18n/es.json
CHANGED
package/src/i18n/fr.json
CHANGED
package/src/i18n/he.json
CHANGED
package/src/i18n/hi.json
CHANGED
package/src/i18n/it.json
CHANGED
package/src/i18n/ja.json
CHANGED
package/src/i18n/ko.json
CHANGED
package/src/i18n/nl.json
CHANGED
package/src/i18n/pt-br.json
CHANGED
package/src/i18n/ru.json
CHANGED
package/src/i18n/tr.json
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
Attachment,
|
|
3
|
-
Channel,
|
|
4
|
-
FormatMessageResponse,
|
|
5
|
-
MessageResponse,
|
|
6
|
-
UserResponse,
|
|
7
|
-
} from 'stream-chat';
|
|
1
|
+
import type { Attachment, Channel, LocalMessage, MessageResponse, UserResponse } from 'stream-chat';
|
|
8
2
|
|
|
9
3
|
import {
|
|
10
4
|
GROUP_CHANNEL_MEMBERS_MOCK,
|
|
@@ -168,7 +162,7 @@ const LATEST_MESSAGE = {
|
|
|
168
162
|
user: { id: 'okechukwu' } as unknown as UserResponse,
|
|
169
163
|
} as unknown as MessageResponse;
|
|
170
164
|
|
|
171
|
-
const FORMATTED_MESSAGE:
|
|
165
|
+
const FORMATTED_MESSAGE: LocalMessage = {
|
|
172
166
|
created_at: new Date('2021-02-12T12:12:35.862282Z'),
|
|
173
167
|
id: '',
|
|
174
168
|
message: {} as unknown as MessageResponse,
|
package/src/native.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import { FlatList as DefaultFlatList, StyleProp, ViewStyle } from 'react-native';
|
|
3
3
|
|
|
4
|
-
import type {
|
|
5
|
-
|
|
4
|
+
import type { File } from './types/types';
|
|
6
5
|
const fail = () => {
|
|
7
6
|
throw Error(
|
|
8
7
|
'Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native',
|
|
@@ -31,7 +30,7 @@ type iOS14RefreshGallerySelection = () => Promise<void>;
|
|
|
31
30
|
|
|
32
31
|
type GetPhotos = ({ after, first }: { first: number; after?: string }) =>
|
|
33
32
|
| Promise<{
|
|
34
|
-
assets:
|
|
33
|
+
assets: File[];
|
|
35
34
|
endCursor: string;
|
|
36
35
|
hasNextPage: boolean;
|
|
37
36
|
iOSLimited: boolean;
|
|
@@ -47,7 +46,7 @@ type PickDocument = ({ maxNumberOfFiles }: { maxNumberOfFiles?: number }) =>
|
|
|
47
46
|
|
|
48
47
|
type PickImageAssetType = {
|
|
49
48
|
askToOpenSettings?: boolean;
|
|
50
|
-
assets?:
|
|
49
|
+
assets?: File[];
|
|
51
50
|
cancelled?: boolean;
|
|
52
51
|
};
|
|
53
52
|
|
|
@@ -67,8 +66,7 @@ type ShareOptions = {
|
|
|
67
66
|
};
|
|
68
67
|
type ShareImage = (options: ShareOptions) => Promise<boolean> | never;
|
|
69
68
|
|
|
70
|
-
type
|
|
71
|
-
source: 'camera';
|
|
69
|
+
type TakePhotoFileType = File & {
|
|
72
70
|
askToOpenSettings?: boolean;
|
|
73
71
|
cancelled?: boolean;
|
|
74
72
|
};
|
|
@@ -78,7 +76,7 @@ export type MediaTypes = 'image' | 'video' | 'mixed';
|
|
|
78
76
|
type TakePhoto = (options: {
|
|
79
77
|
compressImageQuality?: number;
|
|
80
78
|
mediaType?: MediaTypes;
|
|
81
|
-
}) => Promise<
|
|
79
|
+
}) => Promise<TakePhotoFileType> | never;
|
|
82
80
|
|
|
83
81
|
type HapticFeedbackMethod =
|
|
84
82
|
| 'impactHeavy'
|
|
@@ -107,9 +105,12 @@ export type PlaybackStatus = {
|
|
|
107
105
|
shouldPlay: boolean;
|
|
108
106
|
};
|
|
109
107
|
|
|
108
|
+
export type PitchCorrectionQuality = 'low' | 'medium' | 'high';
|
|
109
|
+
|
|
110
110
|
export type AVPlaybackStatusToSet = {
|
|
111
111
|
isLooping: boolean;
|
|
112
112
|
isMuted: boolean;
|
|
113
|
+
pitchCorrectionQuality: PitchCorrectionQuality;
|
|
113
114
|
positionMillis: number;
|
|
114
115
|
progressUpdateIntervalMillis: number;
|
|
115
116
|
rate: number;
|
|
@@ -152,7 +153,11 @@ export type SoundReturnType = {
|
|
|
152
153
|
seek?: (progress: number, tolerance?: number) => void;
|
|
153
154
|
setPositionAsync?: (millis: number) => void;
|
|
154
155
|
setProgressUpdateIntervalAsync?: (progressUpdateIntervalMillis: number) => void;
|
|
155
|
-
setRateAsync?: (
|
|
156
|
+
setRateAsync?: (
|
|
157
|
+
rate: number,
|
|
158
|
+
shouldCorrectPitch: boolean,
|
|
159
|
+
pitchCorrectionQuality?: PitchCorrectionQuality,
|
|
160
|
+
) => void;
|
|
156
161
|
soundRef?: React.RefObject<SoundReturnType>;
|
|
157
162
|
stopAsync?: () => void;
|
|
158
163
|
style?: StyleProp<ViewStyle>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LocalMessage, MessageResponse, ReactionResponse } from 'stream-chat';
|
|
2
2
|
|
|
3
3
|
import { mapReactionToStorable } from '../mappers/mapReactionToStorable';
|
|
4
4
|
import { createUpdateQuery } from '../sqlite-utils/createUpdateQuery';
|
|
@@ -11,7 +11,7 @@ export const insertReaction = async ({
|
|
|
11
11
|
message,
|
|
12
12
|
reaction,
|
|
13
13
|
}: {
|
|
14
|
-
message: MessageResponse |
|
|
14
|
+
message: MessageResponse | LocalMessage;
|
|
15
15
|
reaction: ReactionResponse;
|
|
16
16
|
flush?: boolean;
|
|
17
17
|
}) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LocalMessage, MessageResponse } from 'stream-chat';
|
|
2
2
|
|
|
3
3
|
import { mapMessageToStorable } from '../mappers/mapMessageToStorable';
|
|
4
4
|
import { mapReactionToStorable } from '../mappers/mapReactionToStorable';
|
|
@@ -14,7 +14,7 @@ export const updateMessage = async ({
|
|
|
14
14
|
flush = true,
|
|
15
15
|
message,
|
|
16
16
|
}: {
|
|
17
|
-
message: MessageResponse |
|
|
17
|
+
message: MessageResponse | LocalMessage;
|
|
18
18
|
flush?: boolean;
|
|
19
19
|
}) => {
|
|
20
20
|
const queries: PreparedQueries[] = [];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LocalMessage, MessageResponse, ReactionResponse } from 'stream-chat';
|
|
2
2
|
|
|
3
3
|
import { mapMessageToStorable } from '../mappers/mapMessageToStorable';
|
|
4
4
|
import { mapReactionToStorable } from '../mappers/mapReactionToStorable';
|
|
@@ -13,7 +13,7 @@ export const updateReaction = async ({
|
|
|
13
13
|
message,
|
|
14
14
|
reaction,
|
|
15
15
|
}: {
|
|
16
|
-
message: MessageResponse |
|
|
16
|
+
message: MessageResponse | LocalMessage;
|
|
17
17
|
reaction: ReactionResponse;
|
|
18
18
|
flush?: boolean;
|
|
19
19
|
}) => {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LocalMessage, MessageResponse } from 'stream-chat';
|
|
2
2
|
|
|
3
3
|
import { mapDateTimeToStorable } from './mapDateTimeToStorable';
|
|
4
4
|
|
|
5
5
|
import type { TableRow } from '../types';
|
|
6
6
|
|
|
7
7
|
export const mapMessageToStorable = (
|
|
8
|
-
message: MessageResponse |
|
|
8
|
+
message: MessageResponse | LocalMessage,
|
|
9
9
|
): TableRow<'messages'> => {
|
|
10
10
|
const {
|
|
11
11
|
attachments,
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
import 'stream-chat';
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
DefaultAttachmentData,
|
|
4
|
+
DefaultChannelData,
|
|
5
|
+
DefaultCommandData,
|
|
6
|
+
DefaultEventData,
|
|
7
|
+
DefaultMemberData,
|
|
8
|
+
DefaultMessageData,
|
|
9
|
+
DefaultPollData,
|
|
10
|
+
DefaultPollOptionData,
|
|
11
|
+
DefaultReactionData,
|
|
12
|
+
DefaultThreadData,
|
|
13
|
+
DefaultUserData,
|
|
14
14
|
} from './types';
|
|
15
15
|
|
|
16
16
|
declare module 'stream-chat' {
|
|
17
17
|
/* eslint-disable @typescript-eslint/no-empty-object-type */
|
|
18
18
|
|
|
19
|
-
interface CustomAttachmentData extends
|
|
19
|
+
interface CustomAttachmentData extends DefaultAttachmentData {}
|
|
20
20
|
|
|
21
|
-
interface CustomChannelData extends
|
|
21
|
+
interface CustomChannelData extends DefaultChannelData {}
|
|
22
22
|
|
|
23
|
-
interface CustomCommandData extends
|
|
23
|
+
interface CustomCommandData extends DefaultCommandData {}
|
|
24
24
|
|
|
25
|
-
interface CustomEventData extends
|
|
25
|
+
interface CustomEventData extends DefaultEventData {}
|
|
26
26
|
|
|
27
|
-
interface CustomMemberData extends
|
|
27
|
+
interface CustomMemberData extends DefaultMemberData {}
|
|
28
28
|
|
|
29
|
-
interface CustomUserData extends
|
|
29
|
+
interface CustomUserData extends DefaultUserData {}
|
|
30
30
|
|
|
31
|
-
interface CustomMessageData extends
|
|
31
|
+
interface CustomMessageData extends DefaultMessageData {}
|
|
32
32
|
|
|
33
|
-
interface CustomPollOptionData extends
|
|
33
|
+
interface CustomPollOptionData extends DefaultPollOptionData {}
|
|
34
34
|
|
|
35
|
-
interface CustomPollData extends
|
|
35
|
+
interface CustomPollData extends DefaultPollData {}
|
|
36
36
|
|
|
37
|
-
interface CustomReactionData extends
|
|
37
|
+
interface CustomReactionData extends DefaultReactionData {}
|
|
38
38
|
|
|
39
|
-
interface CustomThreadData extends
|
|
39
|
+
interface CustomThreadData extends DefaultThreadData {}
|
|
40
40
|
|
|
41
41
|
/* eslint-enable @typescript-eslint/no-empty-object-type */
|
|
42
42
|
}
|