stream-chat-react-native-core 7.0.1 → 7.1.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/Channel/Channel.js +214 -237
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelList.js +2 -19
- package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +48 -176
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useIsChannelMuted.js +13 -2
- package/lib/commonjs/components/ChannelPreview/hooks/useIsChannelMuted.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js +33 -46
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js +47 -120
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js +0 -15
- package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js.map +1 -1
- package/lib/commonjs/components/MessageMenu/MessageUserReactions.js +5 -0
- package/lib/commonjs/components/MessageMenu/MessageUserReactions.js.map +1 -1
- package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js +92 -108
- package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
- package/lib/commonjs/index.js +8 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelVisible.js +13 -0
- package/lib/commonjs/mock-builders/event/channelVisible.js.map +1 -0
- package/lib/commonjs/mock-builders/event/memberAdded.js +4 -2
- package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -1
- package/lib/commonjs/mock-builders/event/memberRemoved.js +2 -1
- package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -1
- package/lib/commonjs/mock-builders/event/memberUpdated.js +2 -1
- package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageNew.js +4 -2
- package/lib/commonjs/mock-builders/event/messageNew.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageRead.js +6 -3
- package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationMarkUnread.js +3 -0
- package/lib/commonjs/mock-builders/event/notificationMarkUnread.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/channel.js +10 -3
- package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
- package/lib/commonjs/store/OfflineDB.js +108 -0
- package/lib/commonjs/store/OfflineDB.js.map +1 -0
- package/lib/commonjs/store/SqliteClient.js +11 -10
- package/lib/commonjs/store/SqliteClient.js.map +1 -1
- package/lib/commonjs/store/apis/addPendingTask.js.map +1 -1
- package/lib/commonjs/store/apis/channelExists.js +34 -0
- package/lib/commonjs/store/apis/channelExists.js.map +1 -0
- package/lib/commonjs/store/apis/deleteChannel.js +4 -4
- package/lib/commonjs/store/apis/deleteChannel.js.map +1 -1
- package/lib/commonjs/store/apis/deleteMember.js +4 -4
- package/lib/commonjs/store/apis/deleteMember.js.map +1 -1
- package/lib/commonjs/store/apis/deleteMessage.js +16 -12
- package/lib/commonjs/store/apis/deleteMessage.js.map +1 -1
- package/lib/commonjs/store/apis/deleteMessagesForChannel.js +11 -12
- package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -1
- package/lib/commonjs/store/apis/deleteReaction.js +29 -17
- package/lib/commonjs/store/apis/deleteReaction.js.map +1 -1
- package/lib/commonjs/store/apis/deleteReactions.js +4 -4
- package/lib/commonjs/store/apis/deleteReactions.js.map +1 -1
- package/lib/commonjs/store/apis/dropPendingTasks.js +41 -0
- package/lib/commonjs/store/apis/dropPendingTasks.js.map +1 -0
- package/lib/commonjs/store/apis/getChannelMessages.js +1 -1
- package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
- package/lib/commonjs/store/apis/getChannels.js +18 -21
- package/lib/commonjs/store/apis/getChannels.js.map +1 -1
- package/lib/commonjs/store/apis/getLastSyncedAt.js +3 -9
- package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -1
- package/lib/commonjs/store/apis/getReactionsforFilterSort.js +5 -8
- package/lib/commonjs/store/apis/getReactionsforFilterSort.js.map +1 -1
- package/lib/commonjs/store/apis/index.js +103 -4
- package/lib/commonjs/store/apis/index.js.map +1 -1
- package/lib/commonjs/store/apis/insertReaction.js +4 -4
- package/lib/commonjs/store/apis/insertReaction.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +1 -1
- package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +25 -5
- package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
- package/lib/commonjs/store/apis/softDeleteMessage.js +45 -0
- package/lib/commonjs/store/apis/softDeleteMessage.js.map +1 -0
- package/lib/commonjs/store/apis/updateMessage.js +7 -11
- package/lib/commonjs/store/apis/updateMessage.js.map +1 -1
- package/lib/commonjs/store/apis/updateReaction.js +11 -9
- package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
- package/lib/commonjs/store/apis/upsertAppSettings.js +9 -7
- package/lib/commonjs/store/apis/upsertAppSettings.js.map +1 -1
- package/lib/commonjs/store/apis/upsertChannelData.js +4 -4
- package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -1
- package/lib/commonjs/store/apis/upsertChannelDataFromChannel.js +3 -3
- package/lib/commonjs/store/apis/upsertChannelDataFromChannel.js.map +1 -1
- package/lib/commonjs/store/apis/upsertChannels.js +86 -83
- package/lib/commonjs/store/apis/upsertChannels.js.map +1 -1
- package/lib/commonjs/store/apis/upsertCidsForQuery.js +4 -4
- package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -1
- package/lib/commonjs/store/apis/upsertMembers.js +4 -4
- package/lib/commonjs/store/apis/upsertMembers.js.map +1 -1
- package/lib/commonjs/store/apis/upsertMessages.js +4 -4
- package/lib/commonjs/store/apis/upsertMessages.js.map +1 -1
- package/lib/commonjs/store/apis/upsertPoll.js +42 -0
- package/lib/commonjs/store/apis/upsertPoll.js.map +1 -0
- package/lib/commonjs/store/apis/upsertReads.js +4 -4
- package/lib/commonjs/store/apis/upsertReads.js.map +1 -1
- package/lib/commonjs/store/apis/upsertUserSyncStatus.js +13 -7
- package/lib/commonjs/store/apis/upsertUserSyncStatus.js.map +1 -1
- package/lib/commonjs/store/mappers/mapMemberToStorable.js +6 -2
- package/lib/commonjs/store/mappers/mapMemberToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapReadToStorable.js +3 -1
- package/lib/commonjs/store/mappers/mapReadToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToMember.js +5 -1
- package/lib/commonjs/store/mappers/mapStorableToMember.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToRead.js +3 -1
- package/lib/commonjs/store/mappers/mapStorableToRead.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToTask.js.map +1 -1
- package/lib/commonjs/store/schema.js +2 -0
- package/lib/commonjs/store/schema.js.map +1 -1
- package/lib/commonjs/utils/addReactionToLocalState.js +62 -81
- package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -1
- package/lib/commonjs/utils/removeReactionFromLocalState.js +0 -6
- package/lib/commonjs/utils/removeReactionFromLocalState.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +214 -237
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelList.js +2 -19
- package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +48 -176
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useIsChannelMuted.js +13 -2
- package/lib/module/components/ChannelPreview/hooks/useIsChannelMuted.js.map +1 -1
- package/lib/module/components/Chat/Chat.js +33 -46
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useAppSettings.js +47 -120
- package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/module/components/Chat/hooks/useSyncDatabase.js +0 -15
- package/lib/module/components/Chat/hooks/useSyncDatabase.js.map +1 -1
- package/lib/module/components/MessageMenu/MessageUserReactions.js +5 -0
- package/lib/module/components/MessageMenu/MessageUserReactions.js.map +1 -1
- package/lib/module/components/MessageMenu/hooks/useFetchReactions.js +92 -108
- package/lib/module/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
- package/lib/module/index.js +8 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/mock-builders/event/channelVisible.js +13 -0
- package/lib/module/mock-builders/event/channelVisible.js.map +1 -0
- package/lib/module/mock-builders/event/memberAdded.js +4 -2
- package/lib/module/mock-builders/event/memberAdded.js.map +1 -1
- package/lib/module/mock-builders/event/memberRemoved.js +2 -1
- package/lib/module/mock-builders/event/memberRemoved.js.map +1 -1
- package/lib/module/mock-builders/event/memberUpdated.js +2 -1
- package/lib/module/mock-builders/event/memberUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/messageNew.js +4 -2
- package/lib/module/mock-builders/event/messageNew.js.map +1 -1
- package/lib/module/mock-builders/event/messageRead.js +6 -3
- package/lib/module/mock-builders/event/messageRead.js.map +1 -1
- package/lib/module/mock-builders/event/notificationMarkUnread.js +3 -0
- package/lib/module/mock-builders/event/notificationMarkUnread.js.map +1 -1
- package/lib/module/mock-builders/generator/channel.js +10 -3
- package/lib/module/mock-builders/generator/channel.js.map +1 -1
- package/lib/module/store/OfflineDB.js +108 -0
- package/lib/module/store/OfflineDB.js.map +1 -0
- package/lib/module/store/SqliteClient.js +11 -10
- package/lib/module/store/SqliteClient.js.map +1 -1
- package/lib/module/store/apis/addPendingTask.js.map +1 -1
- package/lib/module/store/apis/channelExists.js +34 -0
- package/lib/module/store/apis/channelExists.js.map +1 -0
- package/lib/module/store/apis/deleteChannel.js +4 -4
- package/lib/module/store/apis/deleteChannel.js.map +1 -1
- package/lib/module/store/apis/deleteMember.js +4 -4
- package/lib/module/store/apis/deleteMember.js.map +1 -1
- package/lib/module/store/apis/deleteMessage.js +16 -12
- package/lib/module/store/apis/deleteMessage.js.map +1 -1
- package/lib/module/store/apis/deleteMessagesForChannel.js +11 -12
- package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -1
- package/lib/module/store/apis/deleteReaction.js +29 -17
- package/lib/module/store/apis/deleteReaction.js.map +1 -1
- package/lib/module/store/apis/deleteReactions.js +4 -4
- package/lib/module/store/apis/deleteReactions.js.map +1 -1
- package/lib/module/store/apis/dropPendingTasks.js +41 -0
- package/lib/module/store/apis/dropPendingTasks.js.map +1 -0
- package/lib/module/store/apis/getChannelMessages.js +1 -1
- package/lib/module/store/apis/getChannelMessages.js.map +1 -1
- package/lib/module/store/apis/getChannels.js +18 -21
- package/lib/module/store/apis/getChannels.js.map +1 -1
- package/lib/module/store/apis/getLastSyncedAt.js +3 -9
- package/lib/module/store/apis/getLastSyncedAt.js.map +1 -1
- package/lib/module/store/apis/getReactionsforFilterSort.js +5 -8
- package/lib/module/store/apis/getReactionsforFilterSort.js.map +1 -1
- package/lib/module/store/apis/index.js +103 -4
- package/lib/module/store/apis/index.js.map +1 -1
- package/lib/module/store/apis/insertReaction.js +4 -4
- package/lib/module/store/apis/insertReaction.js.map +1 -1
- package/lib/module/store/apis/queries/selectMessagesForChannels.js +1 -1
- package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
- package/lib/module/store/apis/queries/selectReactionsForMessages.js +25 -5
- package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
- package/lib/module/store/apis/softDeleteMessage.js +45 -0
- package/lib/module/store/apis/softDeleteMessage.js.map +1 -0
- package/lib/module/store/apis/updateMessage.js +7 -11
- package/lib/module/store/apis/updateMessage.js.map +1 -1
- package/lib/module/store/apis/updateReaction.js +11 -9
- package/lib/module/store/apis/updateReaction.js.map +1 -1
- package/lib/module/store/apis/upsertAppSettings.js +9 -7
- package/lib/module/store/apis/upsertAppSettings.js.map +1 -1
- package/lib/module/store/apis/upsertChannelData.js +4 -4
- package/lib/module/store/apis/upsertChannelData.js.map +1 -1
- package/lib/module/store/apis/upsertChannelDataFromChannel.js +3 -3
- package/lib/module/store/apis/upsertChannelDataFromChannel.js.map +1 -1
- package/lib/module/store/apis/upsertChannels.js +86 -83
- package/lib/module/store/apis/upsertChannels.js.map +1 -1
- package/lib/module/store/apis/upsertCidsForQuery.js +4 -4
- package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -1
- package/lib/module/store/apis/upsertMembers.js +4 -4
- package/lib/module/store/apis/upsertMembers.js.map +1 -1
- package/lib/module/store/apis/upsertMessages.js +4 -4
- package/lib/module/store/apis/upsertMessages.js.map +1 -1
- package/lib/module/store/apis/upsertPoll.js +42 -0
- package/lib/module/store/apis/upsertPoll.js.map +1 -0
- package/lib/module/store/apis/upsertReads.js +4 -4
- package/lib/module/store/apis/upsertReads.js.map +1 -1
- package/lib/module/store/apis/upsertUserSyncStatus.js +13 -7
- package/lib/module/store/apis/upsertUserSyncStatus.js.map +1 -1
- package/lib/module/store/mappers/mapMemberToStorable.js +6 -2
- package/lib/module/store/mappers/mapMemberToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapReadToStorable.js +3 -1
- package/lib/module/store/mappers/mapReadToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToMember.js +5 -1
- package/lib/module/store/mappers/mapStorableToMember.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToRead.js +3 -1
- package/lib/module/store/mappers/mapStorableToRead.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToTask.js.map +1 -1
- package/lib/module/store/schema.js +2 -0
- package/lib/module/store/schema.js.map +1 -1
- package/lib/module/utils/addReactionToLocalState.js +62 -81
- package/lib/module/utils/addReactionToLocalState.js.map +1 -1
- package/lib/module/utils/removeReactionFromLocalState.js +0 -6
- package/lib/module/utils/removeReactionFromLocalState.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts.map +1 -1
- package/lib/typescript/components/ChannelList/ChannelList.d.ts.map +1 -1
- package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +1 -1
- package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/useIsChannelMuted.d.ts.map +1 -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/useSyncDatabase.d.ts +9 -1
- package/lib/typescript/components/Chat/hooks/useSyncDatabase.d.ts.map +1 -1
- package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts.map +1 -1
- package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts.map +1 -1
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +1 -1
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
- package/lib/typescript/hooks/useTranslatedMessage.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/store/OfflineDB.d.ts +112 -0
- package/lib/typescript/store/OfflineDB.d.ts.map +1 -0
- package/lib/typescript/store/SqliteClient.d.ts +1 -1
- package/lib/typescript/store/SqliteClient.d.ts.map +1 -1
- package/lib/typescript/store/apis/addPendingTask.d.ts +1 -1
- package/lib/typescript/store/apis/addPendingTask.d.ts.map +1 -1
- package/lib/typescript/store/apis/channelExists.d.ts +4 -0
- package/lib/typescript/store/apis/channelExists.d.ts.map +1 -0
- package/lib/typescript/store/apis/deleteChannel.d.ts +2 -2
- package/lib/typescript/store/apis/deleteChannel.d.ts.map +1 -1
- package/lib/typescript/store/apis/deleteMember.d.ts +2 -2
- package/lib/typescript/store/apis/deleteMember.d.ts.map +1 -1
- package/lib/typescript/store/apis/deleteMessage.d.ts +3 -3
- package/lib/typescript/store/apis/deleteMessage.d.ts.map +1 -1
- package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts +4 -3
- package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts.map +1 -1
- package/lib/typescript/store/apis/deleteReaction.d.ts +7 -6
- package/lib/typescript/store/apis/deleteReaction.d.ts.map +1 -1
- package/lib/typescript/store/apis/deleteReactions.d.ts +2 -2
- package/lib/typescript/store/apis/deleteReactions.d.ts.map +1 -1
- package/lib/typescript/store/apis/dropPendingTasks.d.ts +16 -0
- package/lib/typescript/store/apis/dropPendingTasks.d.ts.map +1 -0
- package/lib/typescript/store/apis/getChannels.d.ts.map +1 -1
- package/lib/typescript/store/apis/getLastSyncedAt.d.ts +1 -1
- package/lib/typescript/store/apis/getLastSyncedAt.d.ts.map +1 -1
- package/lib/typescript/store/apis/getPendingTasks.d.ts +1 -1
- package/lib/typescript/store/apis/getPendingTasks.d.ts.map +1 -1
- package/lib/typescript/store/apis/getReactionsforFilterSort.d.ts +5 -3
- package/lib/typescript/store/apis/getReactionsforFilterSort.d.ts.map +1 -1
- package/lib/typescript/store/apis/index.d.ts +10 -1
- package/lib/typescript/store/apis/index.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/queries/selectReactionsForMessages.d.ts +5 -1
- package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts.map +1 -1
- package/lib/typescript/store/apis/softDeleteMessage.d.ts +5 -0
- package/lib/typescript/store/apis/softDeleteMessage.d.ts.map +1 -0
- 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/apis/upsertAppSettings.d.ts +3 -3
- package/lib/typescript/store/apis/upsertAppSettings.d.ts.map +1 -1
- package/lib/typescript/store/apis/upsertChannelData.d.ts +2 -2
- package/lib/typescript/store/apis/upsertChannelData.d.ts.map +1 -1
- package/lib/typescript/store/apis/upsertChannelDataFromChannel.d.ts +2 -2
- package/lib/typescript/store/apis/upsertChannelDataFromChannel.d.ts.map +1 -1
- package/lib/typescript/store/apis/upsertChannels.d.ts +3 -5
- package/lib/typescript/store/apis/upsertChannels.d.ts.map +1 -1
- package/lib/typescript/store/apis/upsertCidsForQuery.d.ts +2 -2
- package/lib/typescript/store/apis/upsertCidsForQuery.d.ts.map +1 -1
- package/lib/typescript/store/apis/upsertMembers.d.ts +2 -2
- package/lib/typescript/store/apis/upsertMembers.d.ts.map +1 -1
- package/lib/typescript/store/apis/upsertMessages.d.ts +2 -2
- package/lib/typescript/store/apis/upsertMessages.d.ts.map +1 -1
- package/lib/typescript/store/apis/upsertPoll.d.ts +7 -0
- package/lib/typescript/store/apis/upsertPoll.d.ts.map +1 -0
- package/lib/typescript/store/apis/upsertReads.d.ts +2 -2
- package/lib/typescript/store/apis/upsertReads.d.ts.map +1 -1
- package/lib/typescript/store/apis/upsertUserSyncStatus.d.ts +3 -2
- package/lib/typescript/store/apis/upsertUserSyncStatus.d.ts.map +1 -1
- package/lib/typescript/store/mappers/mapMemberToStorable.d.ts.map +1 -1
- package/lib/typescript/store/mappers/mapReadToStorable.d.ts.map +1 -1
- package/lib/typescript/store/mappers/mapStorableToMember.d.ts.map +1 -1
- package/lib/typescript/store/mappers/mapStorableToRead.d.ts.map +1 -1
- package/lib/typescript/store/mappers/mapStorableToTask.d.ts +2 -1
- package/lib/typescript/store/mappers/mapStorableToTask.d.ts.map +1 -1
- package/lib/typescript/store/mappers/mapTaskToStorable.d.ts +18 -10
- package/lib/typescript/store/mappers/mapTaskToStorable.d.ts.map +1 -1
- package/lib/typescript/store/schema.d.ts +3 -2
- package/lib/typescript/store/schema.d.ts.map +1 -1
- package/lib/typescript/utils/addReactionToLocalState.d.ts +1 -1
- package/lib/typescript/utils/addReactionToLocalState.d.ts.map +1 -1
- package/lib/typescript/utils/removeReactionFromLocalState.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/__tests__/offline-support/offline-feature.js +894 -21
- package/src/__tests__/offline-support/optimistic-update.js +154 -44
- package/src/components/Channel/Channel.tsx +95 -118
- package/src/components/ChannelList/ChannelList.tsx +1 -23
- package/src/components/ChannelList/hooks/usePaginatedChannels.ts +9 -93
- package/src/components/ChannelPreview/hooks/useIsChannelMuted.ts +20 -2
- package/src/components/Chat/Chat.tsx +21 -45
- package/src/components/Chat/__tests__/Chat.test.js +21 -13
- package/src/components/Chat/hooks/useAppSettings.ts +17 -54
- package/src/components/Chat/hooks/useSyncDatabase.ts +11 -17
- package/src/components/MessageMenu/MessageUserReactions.tsx +7 -1
- package/src/components/MessageMenu/hooks/useFetchReactions.ts +68 -35
- package/src/contexts/messagesContext/MessagesContext.tsx +1 -1
- package/src/index.ts +1 -0
- package/src/mock-builders/event/channelVisible.js +7 -0
- package/src/mock-builders/event/memberAdded.js +3 -1
- package/src/mock-builders/event/memberRemoved.js +1 -0
- package/src/mock-builders/event/memberUpdated.js +1 -0
- package/src/mock-builders/event/messageNew.js +1 -0
- package/src/mock-builders/event/messageRead.js +5 -2
- package/src/mock-builders/event/notificationMarkUnread.js +3 -0
- package/src/mock-builders/generator/channel.ts +15 -3
- package/src/store/OfflineDB.ts +93 -0
- package/src/store/SqliteClient.ts +7 -1
- package/src/store/apis/addPendingTask.ts +2 -1
- package/src/store/apis/channelExists.ts +14 -0
- package/src/store/apis/deleteChannel.ts +9 -3
- package/src/store/apis/deleteMember.ts +4 -4
- package/src/store/apis/deleteMessage.ts +18 -8
- package/src/store/apis/deleteMessagesForChannel.ts +12 -8
- package/src/store/apis/deleteReaction.ts +39 -19
- package/src/store/apis/deleteReactions.ts +4 -4
- package/src/store/apis/dropPendingTasks.ts +32 -0
- package/src/store/apis/getChannelMessages.ts +1 -1
- package/src/store/apis/getChannels.ts +10 -7
- package/src/store/apis/getLastSyncedAt.ts +2 -5
- package/src/store/apis/getReactionsforFilterSort.ts +8 -7
- package/src/store/apis/index.ts +10 -1
- package/src/store/apis/insertReaction.ts +4 -4
- package/src/store/apis/queries/selectMessagesForChannels.ts +2 -2
- package/src/store/apis/queries/selectReactionsForMessages.ts +21 -2
- package/src/store/apis/softDeleteMessage.ts +32 -0
- package/src/store/apis/updateMessage.ts +3 -10
- package/src/store/apis/updateReaction.ts +7 -5
- package/src/store/apis/upsertAppSettings.ts +13 -9
- package/src/store/apis/upsertChannelData.ts +4 -4
- package/src/store/apis/upsertChannelDataFromChannel.ts +3 -3
- package/src/store/apis/upsertChannels.ts +14 -24
- package/src/store/apis/upsertCidsForQuery.ts +4 -4
- package/src/store/apis/upsertMembers.ts +4 -4
- package/src/store/apis/upsertMessages.ts +4 -4
- package/src/store/apis/upsertPoll.ts +29 -0
- package/src/store/apis/upsertReads.ts +4 -4
- package/src/store/apis/upsertUserSyncStatus.ts +13 -5
- package/src/store/mappers/mapMemberToStorable.ts +4 -0
- package/src/store/mappers/mapReadToStorable.ts +2 -1
- package/src/store/mappers/mapStorableToMember.ts +4 -0
- package/src/store/mappers/mapStorableToRead.ts +2 -1
- package/src/store/mappers/mapStorableToTask.ts +3 -1
- package/src/store/mappers/mapTaskToStorable.ts +1 -1
- package/src/store/schema.ts +5 -3
- package/src/utils/addReactionToLocalState.ts +9 -63
- package/src/utils/removeReactionFromLocalState.ts +0 -8
- package/src/version.json +1 -1
- package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js +0 -406
- package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js.map +0 -1
- package/lib/commonjs/store/apis/updatePollMessage.js +0 -84
- package/lib/commonjs/store/apis/updatePollMessage.js.map +0 -1
- package/lib/commonjs/utils/DBSyncManager.js +0 -470
- package/lib/commonjs/utils/DBSyncManager.js.map +0 -1
- package/lib/module/components/Chat/hooks/handleEventToSyncDB.js +0 -406
- package/lib/module/components/Chat/hooks/handleEventToSyncDB.js.map +0 -1
- package/lib/module/store/apis/updatePollMessage.js +0 -84
- package/lib/module/store/apis/updatePollMessage.js.map +0 -1
- package/lib/module/utils/DBSyncManager.js +0 -470
- package/lib/module/utils/DBSyncManager.js.map +0 -1
- package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts +0 -4
- package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts.map +0 -1
- package/lib/typescript/store/apis/updatePollMessage.d.ts +0 -10
- package/lib/typescript/store/apis/updatePollMessage.d.ts.map +0 -1
- package/lib/typescript/utils/DBSyncManager.d.ts +0 -50
- package/lib/typescript/utils/DBSyncManager.d.ts.map +0 -1
- package/src/components/Chat/hooks/handleEventToSyncDB.ts +0 -290
- package/src/store/apis/updatePollMessage.ts +0 -71
- package/src/utils/DBSyncManager.ts +0 -242
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { PollResponse } from 'stream-chat';
|
|
2
|
+
|
|
3
|
+
import { mapPollToStorable } from '../mappers/mapPollToStorable';
|
|
4
|
+
import { createUpsertQuery } from '../sqlite-utils/createUpsertQuery';
|
|
5
|
+
import { SqliteClient } from '../SqliteClient';
|
|
6
|
+
import type { PreparedQueries } from '../types';
|
|
7
|
+
|
|
8
|
+
export const upsertPoll = async ({
|
|
9
|
+
execute = true,
|
|
10
|
+
poll,
|
|
11
|
+
}: {
|
|
12
|
+
poll: PollResponse;
|
|
13
|
+
execute?: boolean;
|
|
14
|
+
}) => {
|
|
15
|
+
const queries: PreparedQueries[] = [];
|
|
16
|
+
|
|
17
|
+
const storablePoll = mapPollToStorable(poll);
|
|
18
|
+
|
|
19
|
+
queries.push(createUpsertQuery('poll', storablePoll));
|
|
20
|
+
SqliteClient.logger?.('info', 'upsertPoll', {
|
|
21
|
+
poll: storablePoll,
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
if (execute) {
|
|
25
|
+
await SqliteClient.executeSqlBatch(queries);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return queries;
|
|
29
|
+
};
|
|
@@ -8,12 +8,12 @@ import type { PreparedQueries } from '../types';
|
|
|
8
8
|
|
|
9
9
|
export const upsertReads = async ({
|
|
10
10
|
cid,
|
|
11
|
-
|
|
11
|
+
execute = true,
|
|
12
12
|
reads,
|
|
13
13
|
}: {
|
|
14
14
|
cid: string;
|
|
15
15
|
reads: ReadResponse[];
|
|
16
|
-
|
|
16
|
+
execute?: boolean;
|
|
17
17
|
}) => {
|
|
18
18
|
const queries: PreparedQueries[] = [];
|
|
19
19
|
|
|
@@ -31,12 +31,12 @@ export const upsertReads = async ({
|
|
|
31
31
|
queries.push(...storableReads.map((storableRead) => createUpsertQuery('reads', storableRead)));
|
|
32
32
|
|
|
33
33
|
SqliteClient.logger?.('info', 'upsertReads', {
|
|
34
|
-
|
|
34
|
+
execute,
|
|
35
35
|
reads: storableReads,
|
|
36
36
|
users: storableUsers,
|
|
37
37
|
});
|
|
38
38
|
|
|
39
|
-
if (
|
|
39
|
+
if (execute) {
|
|
40
40
|
await SqliteClient.executeSqlBatch(queries);
|
|
41
41
|
}
|
|
42
42
|
|
|
@@ -4,19 +4,27 @@ import { SqliteClient } from '../SqliteClient';
|
|
|
4
4
|
export const upsertUserSyncStatus = async ({
|
|
5
5
|
currentUserId,
|
|
6
6
|
lastSyncedAt,
|
|
7
|
+
execute = true,
|
|
7
8
|
}: {
|
|
8
9
|
currentUserId: string;
|
|
9
10
|
lastSyncedAt: string;
|
|
11
|
+
execute?: boolean;
|
|
10
12
|
}) => {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
const queries = [
|
|
14
|
+
createUpsertQuery('userSyncStatus', {
|
|
15
|
+
lastSyncedAt,
|
|
16
|
+
userId: currentUserId,
|
|
17
|
+
}),
|
|
18
|
+
];
|
|
15
19
|
|
|
16
20
|
SqliteClient.logger?.('info', 'upsertUserSyncStatus', {
|
|
17
21
|
lastSyncedAt,
|
|
18
22
|
userId: currentUserId,
|
|
19
23
|
});
|
|
20
24
|
|
|
21
|
-
|
|
25
|
+
if (execute) {
|
|
26
|
+
await SqliteClient.executeSqlBatch(queries);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return queries;
|
|
22
30
|
};
|
|
@@ -12,6 +12,7 @@ export const mapMemberToStorable = ({
|
|
|
12
12
|
member: ChannelMemberResponse;
|
|
13
13
|
}): TableRow<'members'> => {
|
|
14
14
|
const {
|
|
15
|
+
archived_at,
|
|
15
16
|
banned,
|
|
16
17
|
channel_role,
|
|
17
18
|
created_at,
|
|
@@ -23,9 +24,11 @@ export const mapMemberToStorable = ({
|
|
|
23
24
|
shadow_banned,
|
|
24
25
|
updated_at,
|
|
25
26
|
user_id,
|
|
27
|
+
pinned_at,
|
|
26
28
|
} = member;
|
|
27
29
|
|
|
28
30
|
return {
|
|
31
|
+
archivedAt: mapDateTimeToStorable(archived_at),
|
|
29
32
|
banned,
|
|
30
33
|
channelRole: channel_role,
|
|
31
34
|
cid,
|
|
@@ -34,6 +37,7 @@ export const mapMemberToStorable = ({
|
|
|
34
37
|
invited,
|
|
35
38
|
inviteRejectedAt: invite_rejected_at,
|
|
36
39
|
isModerator: is_moderator,
|
|
40
|
+
pinnedAt: mapDateTimeToStorable(pinned_at),
|
|
37
41
|
role,
|
|
38
42
|
shadowBanned: shadow_banned,
|
|
39
43
|
updatedAt: mapDateTimeToStorable(updated_at),
|
|
@@ -11,11 +11,12 @@ export const mapReadToStorable = ({
|
|
|
11
11
|
cid: string;
|
|
12
12
|
read: ReadResponse;
|
|
13
13
|
}): TableRow<'reads'> => {
|
|
14
|
-
const { last_read, unread_messages, user } = read;
|
|
14
|
+
const { last_read, unread_messages, user, last_read_message_id } = read;
|
|
15
15
|
|
|
16
16
|
return {
|
|
17
17
|
cid,
|
|
18
18
|
lastRead: mapDateTimeToStorable(last_read),
|
|
19
|
+
lastReadMessageId: last_read_message_id,
|
|
19
20
|
unreadMessages: unread_messages,
|
|
20
21
|
userId: user?.id,
|
|
21
22
|
};
|
|
@@ -8,6 +8,7 @@ export const mapStorableToMember = (
|
|
|
8
8
|
memberRow: TableRowJoinedUser<'members'>,
|
|
9
9
|
): ChannelMemberResponse => {
|
|
10
10
|
const {
|
|
11
|
+
archivedAt,
|
|
11
12
|
banned,
|
|
12
13
|
channelRole,
|
|
13
14
|
createdAt,
|
|
@@ -15,6 +16,7 @@ export const mapStorableToMember = (
|
|
|
15
16
|
invited,
|
|
16
17
|
inviteRejectedAt,
|
|
17
18
|
isModerator,
|
|
19
|
+
pinnedAt,
|
|
18
20
|
role,
|
|
19
21
|
shadowBanned,
|
|
20
22
|
updatedAt,
|
|
@@ -23,6 +25,7 @@ export const mapStorableToMember = (
|
|
|
23
25
|
} = memberRow;
|
|
24
26
|
|
|
25
27
|
return {
|
|
28
|
+
archived_at: archivedAt,
|
|
26
29
|
banned,
|
|
27
30
|
channel_role: channelRole,
|
|
28
31
|
created_at: createdAt,
|
|
@@ -30,6 +33,7 @@ export const mapStorableToMember = (
|
|
|
30
33
|
invite_rejected_at: inviteRejectedAt,
|
|
31
34
|
invited,
|
|
32
35
|
is_moderator: isModerator,
|
|
36
|
+
pinned_at: pinnedAt,
|
|
33
37
|
role,
|
|
34
38
|
shadow_banned: shadowBanned,
|
|
35
39
|
updated_at: updatedAt,
|
|
@@ -5,10 +5,11 @@ import { mapStorableToUser } from './mapStorableToUser';
|
|
|
5
5
|
import type { TableRowJoinedUser } from '../types';
|
|
6
6
|
|
|
7
7
|
export const mapStorableToRead = (row: TableRowJoinedUser<'reads'>): ReadResponse => {
|
|
8
|
-
const { lastRead, unreadMessages, user } = row;
|
|
8
|
+
const { lastRead, unreadMessages, user, lastReadMessageId } = row;
|
|
9
9
|
|
|
10
10
|
return {
|
|
11
11
|
last_read: lastRead,
|
|
12
|
+
last_read_message_id: lastReadMessageId,
|
|
12
13
|
unread_messages: unreadMessages,
|
|
13
14
|
user: mapStorableToUser(user),
|
|
14
15
|
};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { PendingTask } from 'stream-chat';
|
|
2
|
+
|
|
3
|
+
import type { TableRowJoinedUser } from '../types';
|
|
2
4
|
|
|
3
5
|
export const mapStorableToTask = (row: TableRowJoinedUser<'pendingTasks'>): PendingTask => {
|
|
4
6
|
const { channelId, channelType, id, messageId, type } = row;
|
package/src/store/schema.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import type { MessageLabel, Role } from 'stream-chat';
|
|
2
|
-
|
|
3
|
-
import type { PendingTaskTypes } from './types';
|
|
1
|
+
import type { MessageLabel, PendingTaskTypes, Role } from 'stream-chat';
|
|
4
2
|
|
|
5
3
|
import type { ValueOf } from '../types/types';
|
|
6
4
|
|
|
@@ -64,6 +62,7 @@ export const tables: Tables = {
|
|
|
64
62
|
},
|
|
65
63
|
members: {
|
|
66
64
|
columns: {
|
|
65
|
+
archivedAt: 'TEXT',
|
|
67
66
|
banned: 'BOOLEAN DEFAULT FALSE',
|
|
68
67
|
channelRole: 'TEXT',
|
|
69
68
|
cid: 'TEXT NOT NULL',
|
|
@@ -72,6 +71,7 @@ export const tables: Tables = {
|
|
|
72
71
|
invited: 'BOOLEAN',
|
|
73
72
|
inviteRejectedAt: 'TEXT',
|
|
74
73
|
isModerator: 'BOOLEAN',
|
|
74
|
+
pinnedAt: 'TEXT',
|
|
75
75
|
role: 'TEXT',
|
|
76
76
|
shadowBanned: 'BOOLEAN DEFAULT FALSE',
|
|
77
77
|
updatedAt: 'TEXT',
|
|
@@ -270,6 +270,7 @@ export type Schema = {
|
|
|
270
270
|
updatedAt?: string;
|
|
271
271
|
};
|
|
272
272
|
members: {
|
|
273
|
+
archivedAt?: string;
|
|
273
274
|
cid: string;
|
|
274
275
|
banned?: boolean;
|
|
275
276
|
channelRole?: Role;
|
|
@@ -282,6 +283,7 @@ export type Schema = {
|
|
|
282
283
|
shadowBanned?: boolean;
|
|
283
284
|
updatedAt?: string;
|
|
284
285
|
userId?: string;
|
|
286
|
+
pinnedAt?: string;
|
|
285
287
|
};
|
|
286
288
|
messages: {
|
|
287
289
|
attachments: string;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { Channel, ReactionResponse, UserResponse } from 'stream-chat';
|
|
2
2
|
|
|
3
|
-
import { updateReaction } from '../store/apis';
|
|
4
|
-
import { insertReaction } from '../store/apis/insertReaction';
|
|
3
|
+
import { insertReaction, updateReaction } from '../store/apis';
|
|
5
4
|
|
|
6
|
-
export const addReactionToLocalState = ({
|
|
5
|
+
export const addReactionToLocalState = async ({
|
|
7
6
|
channel,
|
|
8
7
|
enforceUniqueReaction,
|
|
9
8
|
messageId,
|
|
@@ -32,74 +31,21 @@ export const addReactionToLocalState = ({
|
|
|
32
31
|
};
|
|
33
32
|
|
|
34
33
|
const hasOwnReaction = message.own_reactions && message.own_reactions.length > 0;
|
|
35
|
-
if (!message.own_reactions) {
|
|
36
|
-
message.own_reactions = [];
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
if (!message.latest_reactions) {
|
|
40
|
-
message.latest_reactions = [];
|
|
41
|
-
}
|
|
42
34
|
|
|
43
|
-
|
|
44
|
-
const currentReaction = message.own_reactions[0];
|
|
45
|
-
message.own_reactions = [];
|
|
46
|
-
if (!message.latest_reactions) {
|
|
47
|
-
message.latest_reactions = [];
|
|
48
|
-
}
|
|
49
|
-
message.latest_reactions = message.latest_reactions.filter((r) => r.user_id !== user.id);
|
|
35
|
+
const messageWithReaction = channel.state.addReaction(reaction, undefined, enforceUniqueReaction);
|
|
50
36
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
message.reaction_groups &&
|
|
54
|
-
message.reaction_groups[currentReaction.type] &&
|
|
55
|
-
message.reaction_groups[currentReaction.type].count > 0 &&
|
|
56
|
-
message.reaction_groups[currentReaction.type].sum_scores > 0
|
|
57
|
-
) {
|
|
58
|
-
message.reaction_groups[currentReaction.type].count =
|
|
59
|
-
message.reaction_groups[currentReaction.type].count - 1;
|
|
60
|
-
message.reaction_groups[currentReaction.type].sum_scores =
|
|
61
|
-
message.reaction_groups[currentReaction.type].sum_scores - 1;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
if (!message.reaction_groups) {
|
|
65
|
-
message.reaction_groups = {
|
|
66
|
-
[reactionType]: {
|
|
67
|
-
count: 1,
|
|
68
|
-
first_reaction_at: new Date().toISOString(),
|
|
69
|
-
last_reaction_at: new Date().toISOString(),
|
|
70
|
-
sum_scores: 1,
|
|
71
|
-
},
|
|
72
|
-
};
|
|
73
|
-
} else {
|
|
74
|
-
if (!message.reaction_groups[reactionType]) {
|
|
75
|
-
message.reaction_groups[reactionType] = {
|
|
76
|
-
count: 1,
|
|
77
|
-
first_reaction_at: new Date().toISOString(),
|
|
78
|
-
last_reaction_at: new Date().toISOString(),
|
|
79
|
-
sum_scores: 1,
|
|
80
|
-
};
|
|
81
|
-
} else {
|
|
82
|
-
message.reaction_groups[reactionType] = {
|
|
83
|
-
...message.reaction_groups[reactionType],
|
|
84
|
-
count: message.reaction_groups[reactionType].count + 1,
|
|
85
|
-
last_reaction_at: new Date().toISOString(),
|
|
86
|
-
sum_scores: message.reaction_groups[reactionType].sum_scores + 1,
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
}
|
|
37
|
+
if (!messageWithReaction) {
|
|
38
|
+
return;
|
|
90
39
|
}
|
|
91
40
|
|
|
92
|
-
message.own_reactions = [...message.own_reactions, reaction];
|
|
93
|
-
message.latest_reactions = [...message.latest_reactions, reaction];
|
|
94
|
-
|
|
95
41
|
if (enforceUniqueReaction && hasOwnReaction) {
|
|
96
|
-
updateReaction({
|
|
97
|
-
message,
|
|
42
|
+
await updateReaction({
|
|
43
|
+
message: messageWithReaction,
|
|
98
44
|
reaction,
|
|
99
45
|
});
|
|
100
46
|
} else {
|
|
101
|
-
insertReaction({
|
|
102
|
-
message,
|
|
47
|
+
await insertReaction({
|
|
48
|
+
message: messageWithReaction,
|
|
103
49
|
reaction,
|
|
104
50
|
});
|
|
105
51
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { Channel, UserResponse } from 'stream-chat';
|
|
2
2
|
|
|
3
|
-
import { deleteReaction } from '../store/apis/deleteReaction';
|
|
4
|
-
|
|
5
3
|
export const removeReactionFromLocalState = ({
|
|
6
4
|
channel,
|
|
7
5
|
messageId,
|
|
@@ -48,10 +46,4 @@ export const removeReactionFromLocalState = ({
|
|
|
48
46
|
delete message.reaction_groups[reactionType];
|
|
49
47
|
}
|
|
50
48
|
}
|
|
51
|
-
|
|
52
|
-
deleteReaction({
|
|
53
|
-
messageId,
|
|
54
|
-
reactionType,
|
|
55
|
-
userId: user.id,
|
|
56
|
-
});
|
|
57
49
|
};
|
package/src/version.json
CHANGED