@ethora/chat-component-rn 26.8.5 → 26.8.6
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 +55 -0
- package/lib/commonjs/assets/emojiData.js +40 -0
- package/lib/commonjs/assets/emojiData.js.map +1 -0
- package/lib/commonjs/assets/icons.js +1 -1
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +7 -9
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +24 -23
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +22 -16
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js +4 -12
- package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +110 -35
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomList.js +32 -29
- package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomStack.js +133 -65
- package/lib/commonjs/components/MainComponents/RoomStack.js.map +1 -1
- package/lib/commonjs/components/MainComponents/SystemMessage.js +6 -2
- package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/Avatar.js +5 -1
- package/lib/commonjs/components/MessageBubble/Avatar.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js +17 -21
- package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/EmojiPickerSheet.js +447 -0
- package/lib/commonjs/components/MessageBubble/EmojiPickerSheet.js.map +1 -0
- package/lib/commonjs/components/MessageBubble/Message.js +200 -132
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +213 -12
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageReaction.js +113 -94
- package/lib/commonjs/components/MessageBubble/MessageReaction.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageReply.js +66 -24
- package/lib/commonjs/components/MessageBubble/MessageReply.js.map +1 -1
- package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js +76 -44
- package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +5 -4
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js +8 -9
- package/lib/commonjs/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
- package/lib/commonjs/components/Thread/ThreadWrapper.js +265 -152
- package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
- package/lib/commonjs/components/styled/DateLabel.js +6 -3
- package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
- package/lib/commonjs/context/MessageNotificationContext.js +188 -9
- package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +22 -7
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/createRoomFromApi.js +36 -2
- package/lib/commonjs/helpers/createRoomFromApi.js.map +1 -1
- package/lib/commonjs/helpers/emoji.js +51 -0
- package/lib/commonjs/helpers/emoji.js.map +1 -0
- package/lib/commonjs/helpers/haptics.js +29 -0
- package/lib/commonjs/helpers/haptics.js.map +1 -0
- package/lib/commonjs/helpers/historyPreloadScheduler.js +32 -66
- package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js +21 -12
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/commonjs/helpers/mamReactions.js +57 -0
- package/lib/commonjs/helpers/mamReactions.js.map +1 -0
- package/lib/commonjs/helpers/parseMessageReference.js +42 -0
- package/lib/commonjs/helpers/parseMessageReference.js.map +1 -0
- package/lib/commonjs/helpers/reactionsConfig.js +17 -0
- package/lib/commonjs/helpers/reactionsConfig.js.map +1 -0
- package/lib/commonjs/helpers/updateMessagesTillLast.js +17 -2
- package/lib/commonjs/helpers/updateMessagesTillLast.js.map +1 -1
- package/lib/commonjs/hooks/useHeapSender.js +3 -1
- package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
- package/lib/commonjs/hooks/useMessageHeapState.js +3 -2
- package/lib/commonjs/hooks/useMessageHeapState.js.map +1 -1
- package/lib/commonjs/hooks/useRoomInitialization.js +16 -7
- package/lib/commonjs/hooks/useRoomInitialization.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +14 -8
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js +1 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/commonjs/networking/stanzaHandlers.js +106 -50
- package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
- package/lib/commonjs/networking/xmpp/getHistory.xmpp.js +29 -74
- package/lib/commonjs/networking/xmpp/getHistory.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +4 -0
- package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/mamRouter.js +186 -0
- package/lib/commonjs/networking/xmpp/mamRouter.js.map +1 -0
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +41 -4
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +98 -23
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/newMessageMidlleware.js +29 -34
- package/lib/commonjs/roomStore/Middleware/newMessageMidlleware.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/perfMiddleware.js +51 -0
- package/lib/commonjs/roomStore/Middleware/perfMiddleware.js.map +1 -0
- package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js +66 -43
- package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +88 -68
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/commonjs/roomStore/index.js +18 -14
- package/lib/commonjs/roomStore/index.js.map +1 -1
- package/lib/commonjs/roomStore/persistBackend.js +96 -0
- package/lib/commonjs/roomStore/persistBackend.js.map +1 -0
- package/lib/commonjs/roomStore/persistence.js +245 -50
- package/lib/commonjs/roomStore/persistence.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +282 -136
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/commonjs/theme/theme.js +3 -0
- package/lib/commonjs/theme/theme.js.map +1 -1
- package/lib/commonjs/utils/devLogger.js +14 -0
- package/lib/commonjs/utils/devLogger.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/assets/emojiData.js +36 -0
- package/lib/module/assets/emojiData.js.map +1 -0
- package/lib/module/assets/icons.js +1 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +8 -10
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +25 -24
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +23 -17
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MessageContainer.js +7 -14
- package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +110 -35
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/MainComponents/RoomList.js +32 -29
- package/lib/module/components/MainComponents/RoomList.js.map +1 -1
- package/lib/module/components/MainComponents/RoomStack.js +131 -63
- package/lib/module/components/MainComponents/RoomStack.js.map +1 -1
- package/lib/module/components/MainComponents/SystemMessage.js +6 -2
- package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
- package/lib/module/components/MessageBubble/Avatar.js +5 -1
- package/lib/module/components/MessageBubble/Avatar.js.map +1 -1
- package/lib/module/components/MessageBubble/BottomReplyContainer.js +18 -22
- package/lib/module/components/MessageBubble/BottomReplyContainer.js.map +1 -1
- package/lib/module/components/MessageBubble/EmojiPickerSheet.js +438 -0
- package/lib/module/components/MessageBubble/EmojiPickerSheet.js.map +1 -0
- package/lib/module/components/MessageBubble/Message.js +203 -134
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +215 -14
- package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageReaction.js +115 -94
- package/lib/module/components/MessageBubble/MessageReaction.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageReply.js +65 -24
- package/lib/module/components/MessageBubble/MessageReply.js.map +1 -1
- package/lib/module/components/Modals/Modal/SwipeBackLayer.js +76 -44
- package/lib/module/components/Modals/Modal/SwipeBackLayer.js.map +1 -1
- package/lib/module/components/RoomComponents/ChatRoomItem.js +5 -4
- package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js +8 -9
- package/lib/module/components/RoomComponents/styled/LastMessageEmoji.js.map +1 -1
- package/lib/module/components/Thread/ThreadWrapper.js +264 -152
- package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
- package/lib/module/components/styled/DateLabel.js +6 -3
- package/lib/module/components/styled/DateLabel.js.map +1 -1
- package/lib/module/context/MessageNotificationContext.js +190 -11
- package/lib/module/context/MessageNotificationContext.js.map +1 -1
- package/lib/module/context/xmppProvider.js +22 -7
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/createRoomFromApi.js +36 -2
- package/lib/module/helpers/createRoomFromApi.js.map +1 -1
- package/lib/module/helpers/emoji.js +44 -0
- package/lib/module/helpers/emoji.js.map +1 -0
- package/lib/module/helpers/haptics.js +24 -0
- package/lib/module/helpers/haptics.js.map +1 -0
- package/lib/module/helpers/historyPreloadScheduler.js +32 -66
- package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/module/helpers/insertMessageWithDelimiter.js +21 -12
- package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/module/helpers/mamReactions.js +51 -0
- package/lib/module/helpers/mamReactions.js.map +1 -0
- package/lib/module/helpers/parseMessageReference.js +37 -0
- package/lib/module/helpers/parseMessageReference.js.map +1 -0
- package/lib/module/helpers/reactionsConfig.js +10 -0
- package/lib/module/helpers/reactionsConfig.js.map +1 -0
- package/lib/module/helpers/updateMessagesTillLast.js +17 -2
- package/lib/module/helpers/updateMessagesTillLast.js.map +1 -1
- package/lib/module/hooks/useHeapSender.js +3 -1
- package/lib/module/hooks/useHeapSender.js.map +1 -1
- package/lib/module/hooks/useMessageHeapState.js +3 -2
- package/lib/module/hooks/useMessageHeapState.js.map +1 -1
- package/lib/module/hooks/useRoomInitialization.js +17 -8
- package/lib/module/hooks/useRoomInitialization.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +14 -8
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js +1 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/module/networking/stanzaHandlers.js +107 -51
- package/lib/module/networking/stanzaHandlers.js.map +1 -1
- package/lib/module/networking/xmpp/getHistory.xmpp.js +29 -74
- package/lib/module/networking/xmpp/getHistory.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/handleStanzas.xmpp.js +4 -0
- package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/mamRouter.js +175 -0
- package/lib/module/networking/xmpp/mamRouter.js.map +1 -0
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +38 -2
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/module/networking/xmppClient.js +99 -24
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/Middleware/newMessageMidlleware.js +29 -34
- package/lib/module/roomStore/Middleware/newMessageMidlleware.js.map +1 -1
- package/lib/module/roomStore/Middleware/perfMiddleware.js +45 -0
- package/lib/module/roomStore/Middleware/perfMiddleware.js.map +1 -0
- package/lib/module/roomStore/Middleware/reactionsMiddleware.js +66 -43
- package/lib/module/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
- package/lib/module/roomStore/Middleware/unreadMidlleware.js +89 -69
- package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/module/roomStore/index.js +19 -15
- package/lib/module/roomStore/index.js.map +1 -1
- package/lib/module/roomStore/persistBackend.js +89 -0
- package/lib/module/roomStore/persistBackend.js.map +1 -0
- package/lib/module/roomStore/persistence.js +245 -48
- package/lib/module/roomStore/persistence.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +275 -134
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/theme/theme.js +3 -0
- package/lib/module/theme/theme.js.map +1 -1
- package/lib/module/utils/devLogger.js +13 -0
- package/lib/module/utils/devLogger.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/typescript/assets/emojiData.d.ts +8 -0
- package/lib/typescript/assets/emojiData.d.ts.map +1 -0
- package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageContainer.d.ts +2 -2
- package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/RoomStack.d.ts +7 -2
- package/lib/typescript/components/MainComponents/RoomStack.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/Avatar.d.ts +2 -0
- package/lib/typescript/components/MessageBubble/Avatar.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/BottomReplyContainer.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/EmojiPickerSheet.d.ts +11 -0
- package/lib/typescript/components/MessageBubble/EmojiPickerSheet.d.ts.map +1 -0
- package/lib/typescript/components/MessageBubble/Message.d.ts +2 -2
- package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +2 -0
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageReaction.d.ts +1 -0
- package/lib/typescript/components/MessageBubble/MessageReaction.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageReply.d.ts +7 -7
- package/lib/typescript/components/MessageBubble/MessageReply.d.ts.map +1 -1
- package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts +2 -1
- package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts +2 -2
- package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts +3 -6
- package/lib/typescript/components/RoomComponents/styled/LastMessageEmoji.d.ts.map +1 -1
- package/lib/typescript/components/Thread/ThreadWrapper.d.ts +7 -1
- package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
- package/lib/typescript/components/styled/DateLabel.d.ts +1 -0
- package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
- package/lib/typescript/context/MessageNotificationContext.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/createRoomFromApi.d.ts.map +1 -1
- package/lib/typescript/helpers/emoji.d.ts +6 -0
- package/lib/typescript/helpers/emoji.d.ts.map +1 -0
- package/lib/typescript/helpers/haptics.d.ts +3 -0
- package/lib/typescript/helpers/haptics.d.ts.map +1 -0
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts +1 -0
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
- package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
- package/lib/typescript/helpers/mamReactions.d.ts +13 -0
- package/lib/typescript/helpers/mamReactions.d.ts.map +1 -0
- package/lib/typescript/helpers/parseMessageReference.d.ts +16 -0
- package/lib/typescript/helpers/parseMessageReference.d.ts.map +1 -0
- package/lib/typescript/helpers/reactionsConfig.d.ts +5 -0
- package/lib/typescript/helpers/reactionsConfig.d.ts.map +1 -0
- package/lib/typescript/helpers/updateMessagesTillLast.d.ts.map +1 -1
- package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
- package/lib/typescript/hooks/useMessageHeapState.d.ts.map +1 -1
- package/lib/typescript/hooks/useRoomInitialization.d.ts +2 -2
- package/lib/typescript/hooks/useRoomInitialization.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/networking/stanzaHandlers.d.ts +4 -2
- package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts +3 -1
- package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/mamRouter.d.ts +23 -0
- package/lib/typescript/networking/xmpp/mamRouter.d.ts.map +1 -0
- package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts +1 -0
- package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts +22 -1
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/Middleware/newMessageMidlleware.d.ts.map +1 -1
- package/lib/typescript/roomStore/Middleware/perfMiddleware.d.ts +4 -0
- package/lib/typescript/roomStore/Middleware/perfMiddleware.d.ts.map +1 -0
- package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts +9 -0
- package/lib/typescript/roomStore/Middleware/reactionsMiddleware.d.ts.map +1 -1
- package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
- package/lib/typescript/roomStore/index.d.ts.map +1 -1
- package/lib/typescript/roomStore/persistBackend.d.ts +11 -0
- package/lib/typescript/roomStore/persistBackend.d.ts.map +1 -0
- package/lib/typescript/roomStore/persistence.d.ts +5 -6
- package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +41 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/theme/theme.d.ts +4 -1
- package/lib/typescript/theme/theme.d.ts.map +1 -1
- package/lib/typescript/types/models/message.model.d.ts +4 -0
- package/lib/typescript/types/models/message.model.d.ts.map +1 -1
- package/lib/typescript/types/models/room.model.d.ts +16 -0
- package/lib/typescript/types/models/room.model.d.ts.map +1 -1
- package/lib/typescript/types/models/xmpp.model.d.ts +6 -1
- package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +15 -3
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/utils/devLogger.d.ts +8 -0
- package/lib/typescript/utils/devLogger.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +10 -1
- package/src/assets/emojiData.ts +2146 -0
- package/src/assets/icons.tsx +5 -5
- package/src/components/MainComponents/ChatHeader.tsx +16 -7
- package/src/components/MainComponents/ChatRoom.tsx +35 -29
- package/src/components/MainComponents/ChatWrapper.tsx +28 -10
- package/src/components/MainComponents/MessageContainer.tsx +7 -15
- package/src/components/MainComponents/MessageList.tsx +96 -43
- package/src/components/MainComponents/RoomList.tsx +28 -29
- package/src/components/MainComponents/RoomStack.tsx +156 -83
- package/src/components/MainComponents/SystemMessage.tsx +6 -2
- package/src/components/MessageBubble/Avatar.tsx +7 -1
- package/src/components/MessageBubble/BottomReplyContainer.tsx +19 -21
- package/src/components/MessageBubble/EmojiPickerSheet.tsx +468 -0
- package/src/components/MessageBubble/Message.tsx +146 -87
- package/src/components/MessageBubble/MessageInteractions.tsx +213 -12
- package/src/components/MessageBubble/MessageReaction.tsx +120 -96
- package/src/components/MessageBubble/MessageReply.tsx +65 -32
- package/src/components/Modals/Modal/SwipeBackLayer.tsx +114 -63
- package/src/components/RoomComponents/ChatRoomItem.tsx +11 -4
- package/src/components/RoomComponents/styled/LastMessageEmoji.tsx +7 -8
- package/src/components/Thread/ThreadWrapper.tsx +274 -198
- package/src/components/styled/DateLabel.tsx +7 -3
- package/src/context/MessageNotificationContext.tsx +205 -7
- package/src/context/xmppProvider.tsx +29 -9
- package/src/helpers/createRoomFromApi.tsx +37 -1
- package/src/helpers/emoji.ts +39 -0
- package/src/helpers/haptics.ts +19 -0
- package/src/helpers/historyPreloadScheduler.ts +37 -69
- package/src/helpers/insertMessageWithDelimiter.ts +23 -16
- package/src/helpers/mamReactions.ts +59 -0
- package/src/helpers/parseMessageReference.ts +38 -0
- package/src/helpers/reactionsConfig.ts +13 -0
- package/src/helpers/updateMessagesTillLast.tsx +14 -2
- package/src/hooks/useHeapSender.tsx +3 -2
- package/src/hooks/useMessageHeapState.tsx +6 -2
- package/src/hooks/useRoomInitialization.tsx +32 -15
- package/src/hooks/useSendMessage.tsx +18 -11
- package/src/hooks/useUnreadMessagesCounter.ts +1 -1
- package/src/networking/stanzaHandlers.ts +116 -60
- package/src/networking/xmpp/getHistory.xmpp.ts +44 -106
- package/src/networking/xmpp/handleStanzas.xmpp.ts +2 -0
- package/src/networking/xmpp/mamRouter.ts +176 -0
- package/src/networking/xmpp/presenceInRoom.xmpp.ts +46 -3
- package/src/networking/xmppClient.ts +105 -20
- package/src/roomStore/Middleware/newMessageMidlleware.tsx +35 -38
- package/src/roomStore/Middleware/perfMiddleware.ts +50 -0
- package/src/roomStore/Middleware/reactionsMiddleware.tsx +53 -52
- package/src/roomStore/Middleware/unreadMidlleware.tsx +92 -80
- package/src/roomStore/index.ts +28 -27
- package/src/roomStore/persistBackend.ts +96 -0
- package/src/roomStore/persistence.ts +280 -73
- package/src/roomStore/roomsSlice.ts +304 -155
- package/src/theme/theme.ts +10 -1
- package/src/types/models/message.model.ts +4 -0
- package/src/types/models/room.model.ts +17 -0
- package/src/types/models/xmpp.model.ts +4 -2
- package/src/types/types.ts +15 -3
- package/src/utils/devLogger.ts +16 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactRedux","_useMessageHeapState","useHeapSender","client","dispatch","useDispatch","queue","useMessageHeapState","sendingRef","useRef","inFlightRef","Map","sendHeapMessages","useCallback","length","presencesReady","console","warn","current","msg","lastAttempt","get","id","Date","now","set","langSource","sendTextMessageWithTranslateTagStanza","roomJid","user","firstName","name","split","lastName","walletAddress","body","isReply","showInChannel","mainMessage","sendMessage","err","delete","prevReadyRef","useEffect","nowReady","wasReady","currentIds","Set","map","m","Array","from","keys","has","exports"],"sourceRoot":"../../../src","sources":["hooks/useHeapSender.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AAIO,MAAMG,aAAa,GAAIC,MAAyB,IAAK;EAC1D,MAAMC,QAAQ,GAAG,IAAAC,uBAAW,EAAC,CAAC;EAC9B,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,wCAAmB,EAAC,CAAC;EACvC,MAAMC,UAAU,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EAChC,MAAMC,WAAW,GAAG,IAAAD,aAAM,EAAsB,IAAIE,GAAG,CAAC,CAAC,CAAC;EAE1D,MAAMC,gBAAgB,GAAG,IAAAC,kBAAW,EAAC,YAAY;IAC/C,IAAI,CAACV,MAAM,IAAIG,KAAK,CAACQ,MAAM,KAAK,CAAC,EAAE;MAAC;IAAO;IAC3C,IAAI,CAACX,MAAM,CAACY,cAAc,EAAE;MAC1BC,OAAO,CAACC,IAAI,CAAC,yCAAyC,CAAC;MACvD;IACF;IACA,IAAIT,UAAU,CAACU,OAAO,EAAE;MAAC;IAAO;IAChCV,UAAU,CAACU,OAAO,GAAG,IAAI;IACzB,IAAI;MACF,KAAK,MAAMC,GAAG,IAAIb,KAAK,EAAE;QACvB,MAAMc,WAAW,GAAGV,WAAW,CAACQ,OAAO,CAACG,GAAG,CAACF,GAAG,CAACG,EAAE,CAAC;QACnD,IAAIF,WAAW,IAAIG,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGJ,WAAW,GAAG,KAAK,EAAE;UACnD;QACF;QACAV,WAAW,CAACQ,OAAO,CAACO,GAAG,CAACN,GAAG,CAACG,EAAE,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI;UACF,IAAIL,GAAG,CAACO,UAAU,EAAE;YAClB,MAAMvB,MAAM,CAACwB,qCAAqC,CAChDR,GAAG,CAACS,OAAO,EACXT,GAAG,CAACU,IAAI,CAACC,SAAS,IAAIX,GAAG,CAACU,IAAI,CAACE,IAAI,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EACxDb,GAAG,CAACU,IAAI,CAACI,QAAQ,IAAId,GAAG,CAACU,IAAI,CAACE,IAAI,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EACvD,EAAE,EACFb,GAAG,CAACU,IAAI,CAACK,aAAa,IAAI,EAAE,EAC5Bf,GAAG,CAACgB,IAAI,EACR,EAAE,EACF,CAAC,CAAChB,GAAG,CAACiB,OAAO,EACbjB,GAAG,CAACkB,aAAa,KAAK,MAAM,EAC5BlB,GAAG,CAACmB,WAAW,IAAI,EAAE,EACrBnB,GAAG,CAACO,UAAU,EACdP,GAAG,CAACG,EACN,CAAC;UACH,CAAC,MAAM;YACL,MAAMnB,MAAM,CAACoC,WAAW,CACtBpB,GAAG,CAACS,OAAO,EACXT,GAAG,CAACU,IAAI,CAACC,SAAS,IAAIX,GAAG,CAACU,IAAI,CAACE,IAAI,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EACxDb,GAAG,CAACU,IAAI,CAACI,QAAQ,IAAId,GAAG,CAACU,IAAI,CAACE,IAAI,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EACvD,EAAE,EACFb,GAAG,CAACU,IAAI,CAACK,aAAa,IAAI,EAAE,EAC5Bf,GAAG,CAACgB,IAAI,EACR,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","require","_reactRedux","_useMessageHeapState","useHeapSender","client","dispatch","useDispatch","queue","useMessageHeapState","sendingRef","useRef","inFlightRef","Map","sendHeapMessages","useCallback","length","presencesReady","console","warn","current","msg","lastAttempt","get","id","Date","now","set","langSource","sendTextMessageWithTranslateTagStanza","roomJid","user","firstName","name","split","lastName","walletAddress","body","isReply","showInChannel","mainMessage","sendMessage","String","err","delete","prevReadyRef","useEffect","nowReady","wasReady","currentIds","Set","map","m","Array","from","keys","has","exports"],"sourceRoot":"../../../src","sources":["hooks/useHeapSender.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AAIO,MAAMG,aAAa,GAAIC,MAAyB,IAAK;EAC1D,MAAMC,QAAQ,GAAG,IAAAC,uBAAW,EAAC,CAAC;EAC9B,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,wCAAmB,EAAC,CAAC;EACvC,MAAMC,UAAU,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EAChC,MAAMC,WAAW,GAAG,IAAAD,aAAM,EAAsB,IAAIE,GAAG,CAAC,CAAC,CAAC;EAE1D,MAAMC,gBAAgB,GAAG,IAAAC,kBAAW,EAAC,YAAY;IAC/C,IAAI,CAACV,MAAM,IAAIG,KAAK,CAACQ,MAAM,KAAK,CAAC,EAAE;MAAC;IAAO;IAC3C,IAAI,CAACX,MAAM,CAACY,cAAc,EAAE;MAC1BC,OAAO,CAACC,IAAI,CAAC,yCAAyC,CAAC;MACvD;IACF;IACA,IAAIT,UAAU,CAACU,OAAO,EAAE;MAAC;IAAO;IAChCV,UAAU,CAACU,OAAO,GAAG,IAAI;IACzB,IAAI;MACF,KAAK,MAAMC,GAAG,IAAIb,KAAK,EAAE;QACvB,MAAMc,WAAW,GAAGV,WAAW,CAACQ,OAAO,CAACG,GAAG,CAACF,GAAG,CAACG,EAAE,CAAC;QACnD,IAAIF,WAAW,IAAIG,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGJ,WAAW,GAAG,KAAK,EAAE;UACnD;QACF;QACAV,WAAW,CAACQ,OAAO,CAACO,GAAG,CAACN,GAAG,CAACG,EAAE,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI;UACF,IAAIL,GAAG,CAACO,UAAU,EAAE;YAClB,MAAMvB,MAAM,CAACwB,qCAAqC,CAChDR,GAAG,CAACS,OAAO,EACXT,GAAG,CAACU,IAAI,CAACC,SAAS,IAAIX,GAAG,CAACU,IAAI,CAACE,IAAI,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EACxDb,GAAG,CAACU,IAAI,CAACI,QAAQ,IAAId,GAAG,CAACU,IAAI,CAACE,IAAI,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EACvD,EAAE,EACFb,GAAG,CAACU,IAAI,CAACK,aAAa,IAAI,EAAE,EAC5Bf,GAAG,CAACgB,IAAI,EACR,EAAE,EACF,CAAC,CAAChB,GAAG,CAACiB,OAAO,EACbjB,GAAG,CAACkB,aAAa,KAAK,MAAM,EAC5BlB,GAAG,CAACmB,WAAW,IAAI,EAAE,EACrBnB,GAAG,CAACO,UAAU,EACdP,GAAG,CAACG,EACN,CAAC;UACH,CAAC,MAAM;YACL,MAAMnB,MAAM,CAACoC,WAAW,CACtBpB,GAAG,CAACS,OAAO,EACXT,GAAG,CAACU,IAAI,CAACC,SAAS,IAAIX,GAAG,CAACU,IAAI,CAACE,IAAI,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EACxDb,GAAG,CAACU,IAAI,CAACI,QAAQ,IAAId,GAAG,CAACU,IAAI,CAACE,IAAI,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EACvD,EAAE,EACFb,GAAG,CAACU,IAAI,CAACK,aAAa,IAAI,EAAE,EAC5Bf,GAAG,CAACgB,IAAI,EACR,EAAE;YACF;YACAK,MAAM,CAACrB,GAAG,CAACiB,OAAO,CAAC,KAAK,MAAM,EAC9BI,MAAM,CAACrB,GAAG,CAACkB,aAAa,CAAC,KAAK,MAAM,EACpClB,GAAG,CAACmB,WAAW,EACfnB,GAAG,CAACG,EACN,CAAC;UACH;QACF,CAAC,CAAC,OAAOmB,GAAG,EAAE;UACZzB,OAAO,CAACC,IAAI,CAAC,6BAA6B,EAAEE,GAAG,EAAEsB,GAAG,CAAC;UACrD/B,WAAW,CAACQ,OAAO,CAACwB,MAAM,CAACvB,GAAG,CAACG,EAAE,CAAC;QACpC;MACF;IACF,CAAC,SAAS;MACRd,UAAU,CAACU,OAAO,GAAG,KAAK;IAC5B;EACF,CAAC,EAAE,CAACf,MAAM,EAAEG,KAAK,EAAEF,QAAQ,CAAC,CAAC;EAE7B,MAAMuC,YAAY,GAAG,IAAAlC,aAAM,EAAU,KAAK,CAAC;EAC3C,IAAAmC,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAG,CAAC,CAAC1C,MAAM,EAAEY,cAAc;IACzC,MAAM+B,QAAQ,GAAGH,YAAY,CAACzB,OAAO;IACrCyB,YAAY,CAACzB,OAAO,GAAG2B,QAAQ;IAC/B,IAAI,CAACC,QAAQ,IAAID,QAAQ,IAAIvC,KAAK,CAACQ,MAAM,GAAG,CAAC,EAAE;MAC7CF,gBAAgB,CAAC,CAAC;IACpB;EACF,CAAC,EAAE,CAACT,MAAM,EAAEY,cAAc,EAAET,KAAK,CAACQ,MAAM,EAAEF,gBAAgB,CAAC,CAAC;EAE5D,IAAAgC,gBAAS,EAAC,MAAM;IACd,MAAMG,UAAU,GAAG,IAAIC,GAAG,CAAC1C,KAAK,CAAC2C,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAAC5B,EAAE,CAAC,CAAC;IAClD,KAAK,MAAMA,EAAE,IAAI6B,KAAK,CAACC,IAAI,CAAC1C,WAAW,CAACQ,OAAO,CAACmC,IAAI,CAAC,CAAC,CAAC,EAAE;MACvD,IAAI,CAACN,UAAU,CAACO,GAAG,CAAChC,EAAE,CAAC,EAAE;QACvBZ,WAAW,CAACQ,OAAO,CAACwB,MAAM,CAACpB,EAAE,CAAC;MAChC;IACF;EACF,CAAC,EAAE,CAAChB,KAAK,CAAC,CAAC;EAEX,OAAO;IAAEM;EAAiB,CAAC;AAC7B,CAAC;AAAC2C,OAAA,CAAArD,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -4,12 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useMessageHeapState = void 0;
|
|
7
|
+
var _react = require("react");
|
|
7
8
|
var _reactRedux = require("react-redux");
|
|
8
9
|
const useMessageHeapState = () => {
|
|
9
10
|
const queue = (0, _reactRedux.useSelector)(state => state.roomHeapSlice?.messageHeap);
|
|
10
11
|
const failedMessages = (0, _reactRedux.useSelector)(state => state.roomHeapSlice?.failedMessages);
|
|
11
|
-
const idSet = new Set(queue?.map(m => m.id) ?? []);
|
|
12
|
-
const failedIdSet = new Set(Object.keys(failedMessages || {}));
|
|
12
|
+
const idSet = (0, _react.useMemo)(() => new Set(queue?.map(m => m.id) ?? []), [queue]);
|
|
13
|
+
const failedIdSet = (0, _react.useMemo)(() => new Set(Object.keys(failedMessages || {})), [failedMessages]);
|
|
13
14
|
return {
|
|
14
15
|
queue,
|
|
15
16
|
idSet,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_react","require","_reactRedux","useMessageHeapState","queue","useSelector","state","roomHeapSlice","messageHeap","failedMessages","idSet","useMemo","Set","map","m","id","failedIdSet","Object","keys","exports"],"sourceRoot":"../../../src","sources":["hooks/useMessageHeapState.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAGO,MAAME,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAMC,KAAK,GAAG,IAAAC,uBAAW,EACtBC,KAAgB,IAAKA,KAAK,CAACC,aAAa,EAAEC,WAC7C,CAAC;EACD,MAAMC,cAAc,GAAG,IAAAJ,uBAAW,EAC/BC,KAAgB,IAAKA,KAAK,CAACC,aAAa,EAAEE,cAC7C,CAAC;EACD,MAAMC,KAAK,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAIC,GAAG,CAACR,KAAK,EAAES,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAACX,KAAK,CAAC,CAAC;EAC5E,MAAMY,WAAW,GAAG,IAAAL,cAAO,EACzB,MAAM,IAAIC,GAAG,CAACK,MAAM,CAACC,IAAI,CAACT,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,EAChD,CAACA,cAAc,CACjB,CAAC;EAED,OAAO;IAAEL,KAAK;IAAEM,KAAK;IAAED,cAAc;IAAEO;EAAY,CAAC;AACtD,CAAC;AAACG,OAAA,CAAAhB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -18,11 +18,20 @@ const hasLoadedRoomHistory = room => {
|
|
|
18
18
|
}
|
|
19
19
|
return messages.some(message => message?.id !== 'delimiter-new' && message?.pending !== true && !!String(message?.body || '').trim());
|
|
20
20
|
};
|
|
21
|
-
const
|
|
21
|
+
const defaultRoomJids = config => (config?.defaultRooms || []).map(room => typeof room === 'string' ? room : room?.jid);
|
|
22
|
+
const useRoomInitialization = (activeRoomJID, config) => {
|
|
22
23
|
const {
|
|
23
24
|
client
|
|
24
25
|
} = (0, _xmppProvider.useXmppClient)();
|
|
25
26
|
const dispatch = (0, _reactRedux.useDispatch)();
|
|
27
|
+
const reduxStore = (0, _reactRedux.useStore)();
|
|
28
|
+
const hasRooms = (0, _reactRedux.useSelector)(state => Object.keys(state.rooms.rooms || {}).length > 0);
|
|
29
|
+
const activeRoomExists = (0, _reactRedux.useSelector)(state => !!activeRoomJID && !!state.rooms.rooms?.[activeRoomJID]);
|
|
30
|
+
const activeHistoryLoaded = (0, _reactRedux.useSelector)(state => hasLoadedRoomHistory(state.rooms.rooms?.[activeRoomJID]));
|
|
31
|
+
const defaultRoomsMissing = (0, _reactRedux.useSelector)(state => {
|
|
32
|
+
const jids = defaultRoomJids(config);
|
|
33
|
+
return jids.length > 0 && jids.some(jid => !state.rooms.rooms?.[jid]);
|
|
34
|
+
});
|
|
26
35
|
const syncRooms = (0, _useGetNewArchRoom.default)();
|
|
27
36
|
|
|
28
37
|
// Fast active-room join. Mirrors web's first effect: as soon as the
|
|
@@ -51,8 +60,8 @@ const useRoomInitialization = (activeRoomJID, roomsList, config, messageLength)
|
|
|
51
60
|
}
|
|
52
61
|
}, [client, activeRoomJID]);
|
|
53
62
|
(0, _react.useEffect)(() => {
|
|
54
|
-
const
|
|
55
|
-
const shouldLoadActiveHistory = !!activeRoomJID && !
|
|
63
|
+
const roomsList = reduxStore.getState().rooms.rooms || {};
|
|
64
|
+
const shouldLoadActiveHistory = !!activeRoomJID && !activeHistoryLoaded;
|
|
56
65
|
const getDefaultHistory = async () => {
|
|
57
66
|
if (!client || !activeRoomJID) {
|
|
58
67
|
return;
|
|
@@ -121,7 +130,7 @@ const useRoomInitialization = (activeRoomJID, roomsList, config, messageLength)
|
|
|
121
130
|
chatJID: activeRoomJID
|
|
122
131
|
}));
|
|
123
132
|
getDefaultHistory();
|
|
124
|
-
} else {
|
|
133
|
+
} else if (roomsList?.[activeRoomJID]?.isLoading) {
|
|
125
134
|
dispatch((0, _roomsSlice.setIsLoading)({
|
|
126
135
|
loading: false,
|
|
127
136
|
chatJID: activeRoomJID
|
|
@@ -131,8 +140,7 @@ const useRoomInitialization = (activeRoomJID, roomsList, config, messageLength)
|
|
|
131
140
|
initialPresenceAndHistory();
|
|
132
141
|
}
|
|
133
142
|
if (client && config?.defaultRooms) {
|
|
134
|
-
|
|
135
|
-
if (roomsList && !allExist) {
|
|
143
|
+
if (defaultRoomsMissing) {
|
|
136
144
|
config?.defaultRooms.map(async room => {
|
|
137
145
|
client.presenceInRoomStanza(typeof room === 'string' ? room : room.jid);
|
|
138
146
|
});
|
|
@@ -143,7 +151,8 @@ const useRoomInitialization = (activeRoomJID, roomsList, config, messageLength)
|
|
|
143
151
|
}
|
|
144
152
|
}
|
|
145
153
|
}
|
|
146
|
-
|
|
154
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
155
|
+
}, [activeRoomJID, hasRooms, activeRoomExists, activeHistoryLoaded, defaultRoomsMissing]);
|
|
147
156
|
};
|
|
148
157
|
exports.useRoomInitialization = useRoomInitialization;
|
|
149
158
|
//# sourceMappingURL=useRoomInitialization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_roomsSlice","_xmppProvider","_reactRedux","_useGetNewArchRoom","_interopRequireDefault","e","__esModule","default","countUndefinedText","arr","Array","isArray","filter","item","body","undefined","length","hasLoadedRoomHistory","room","messages","some","message","id","pending","String","trim","
|
|
1
|
+
{"version":3,"names":["_react","require","_roomsSlice","_xmppProvider","_reactRedux","_useGetNewArchRoom","_interopRequireDefault","e","__esModule","default","countUndefinedText","arr","Array","isArray","filter","item","body","undefined","length","hasLoadedRoomHistory","room","messages","some","message","id","pending","String","trim","defaultRoomJids","config","defaultRooms","map","jid","useRoomInitialization","activeRoomJID","client","useXmppClient","dispatch","useDispatch","reduxStore","useStore","hasRooms","useSelector","state","Object","keys","rooms","activeRoomExists","activeHistoryLoaded","defaultRoomsMissing","jids","syncRooms","useGetNewArchRoom","useEffect","setActiveRoomJid","promoteRoomHistory","presenceInRoomStanza","getRoomInfoStanza","roomsList","getState","shouldLoadActiveHistory","getDefaultHistory","setIsLoading","loading","chatJID","res","getHistoryStanza","prioritizeRoomPresence","catch","Number","loadingText","initialPresenceAndHistory","newArch","getRoomsStanza","isLoading","exports"],"sourceRoot":"../../../src","sources":["hooks/useRoomInitialization.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -75,14 +75,12 @@ const useSendMessage = _configOverride => {
|
|
|
75
75
|
// Mirrors the web SDK, which always sends through the translate-tag path.
|
|
76
76
|
const langSource = (0, _reactRedux.useSelector)(state => state.chatSettingStore.langSource);
|
|
77
77
|
const editAction = (0, _reactRedux.useSelector)(state => state.rooms.editAction);
|
|
78
|
-
const rooms = (0, _reactRedux.useSelector)(state => state.rooms.rooms);
|
|
79
78
|
const {
|
|
80
79
|
handleMessageSent,
|
|
81
80
|
handleMessageFailed,
|
|
82
81
|
handleMessageEdited,
|
|
83
82
|
handleMessageRetry
|
|
84
83
|
} = (0, _useEventHandlers.useEventHandlers)(config);
|
|
85
|
-
const failedMessages = (0, _reactRedux.useSelector)(state => state.roomHeapSlice?.failedMessages || {});
|
|
86
84
|
const sendMessage = (0, _react.useCallback)(async (message, activeRoomJID, isReply, isChecked, mainMessage, existingId) => {
|
|
87
85
|
if (editAction?.isEdit) {
|
|
88
86
|
try {
|
|
@@ -136,6 +134,14 @@ const useSendMessage = _configOverride => {
|
|
|
136
134
|
// manual-mode readers see the Translate link on it too (parity with
|
|
137
135
|
// the web SDK, which stamps langSource on the optimistic message).
|
|
138
136
|
langSource: langSource || 'en',
|
|
137
|
+
// Reply fields as the wire carries them (strings), so a thread reply
|
|
138
|
+
// shows in its thread — and NOT in the channel — from the first
|
|
139
|
+
// frame, not only once the server echo lands.
|
|
140
|
+
...(isReply ? {
|
|
141
|
+
isReply: 'true',
|
|
142
|
+
showInChannel: isChecked ? 'true' : 'false',
|
|
143
|
+
mainMessage
|
|
144
|
+
} : {}),
|
|
139
145
|
user: {
|
|
140
146
|
...user,
|
|
141
147
|
id: selfId,
|
|
@@ -339,7 +345,7 @@ const useSendMessage = _configOverride => {
|
|
|
339
345
|
mimetype: type,
|
|
340
346
|
originalName: data?.name,
|
|
341
347
|
size: fileSizeStr,
|
|
342
|
-
isReply,
|
|
348
|
+
isReply: isReply ? 'true' : 'false',
|
|
343
349
|
showInChannel: `${isChecked}`,
|
|
344
350
|
mainMessage
|
|
345
351
|
}
|
|
@@ -554,7 +560,7 @@ const useSendMessage = _configOverride => {
|
|
|
554
560
|
// "sending..."; if the retry fails again `markMessageFailed` re-arms
|
|
555
561
|
// it. No-op when the id isn't in the failed map.
|
|
556
562
|
const retryMessage = (0, _react.useCallback)(async failedId => {
|
|
557
|
-
const payload = failedMessages[failedId];
|
|
563
|
+
const payload = reduxStore.getState().roomHeapSlice?.failedMessages?.[failedId];
|
|
558
564
|
if (!payload) {
|
|
559
565
|
return;
|
|
560
566
|
}
|
|
@@ -564,7 +570,7 @@ const useSendMessage = _configOverride => {
|
|
|
564
570
|
// failed, but a confirmed (non-pending) copy is already sitting in
|
|
565
571
|
// the room. Resending here would deliver a genuine duplicate; just
|
|
566
572
|
// clear the failure and let the existing copy stand.
|
|
567
|
-
const roomMsgs = rooms?.[payload.roomJID]?.messages || [];
|
|
573
|
+
const roomMsgs = reduxStore.getState().rooms?.rooms?.[payload.roomJID]?.messages || [];
|
|
568
574
|
const alreadyDelivered = roomMsgs.some(m => !m.pending && (m.id === failedId || m.xmppId === failedId));
|
|
569
575
|
if (alreadyDelivered) {
|
|
570
576
|
dispatch((0, _roomHeapSlice.clearMessageFailure)(failedId));
|
|
@@ -584,7 +590,7 @@ const useSendMessage = _configOverride => {
|
|
|
584
590
|
} else {
|
|
585
591
|
await sendMedia(payload.data, payload.type, payload.roomJID, payload.isReply, payload.isChecked, payload.mainMessage, failedId);
|
|
586
592
|
}
|
|
587
|
-
}, [
|
|
593
|
+
}, [reduxStore, dispatch, handleMessageRetry, sendMessage, sendMedia]);
|
|
588
594
|
|
|
589
595
|
// ChatRoom/ThreadWrapper consume this as the "edit branch" of send.
|
|
590
596
|
// It mirrors the edit path inside `sendMessage` so callers can wire it
|
|
@@ -621,7 +627,7 @@ const useSendMessage = _configOverride => {
|
|
|
621
627
|
if (!roomJID) {
|
|
622
628
|
return false;
|
|
623
629
|
}
|
|
624
|
-
const msgs = rooms?.[roomJID]?.messages;
|
|
630
|
+
const msgs = reduxStore.getState().rooms?.rooms?.[roomJID]?.messages;
|
|
625
631
|
if (!msgs || msgs.length === 0) {
|
|
626
632
|
return false;
|
|
627
633
|
}
|
|
@@ -634,7 +640,7 @@ const useSendMessage = _configOverride => {
|
|
|
634
640
|
return false;
|
|
635
641
|
}
|
|
636
642
|
return last.user?.id === selfId;
|
|
637
|
-
}, [
|
|
643
|
+
}, [reduxStore, user?.xmppUsername, user?.walletAddress]);
|
|
638
644
|
return {
|
|
639
645
|
sendMessage,
|
|
640
646
|
sendMedia,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_uuid","_xmppProvider","_reactRedux","_roomsSlice","_roomHeapSlice","_auth","_outboundQueue","_roomStore","_clientRegistry","_useEventHandlers","PENDING_WATCHDOG_MS","MEDIA_PENDING_WATCHDOG_MS","__sendIdSeq","nextStanzaId","prefix","Date","now","MAX_MEDIA_BYTES","useSendMessage","_configOverride","client","useXmppClient","dispatch","useDispatch","reduxStore","useStore","user","useSelector","state","chatSettingStore","config","langSource","editAction","rooms","handleMessageSent","handleMessageFailed","handleMessageEdited","handleMessageRetry","useEventHandlers","failedMessages","roomHeapSlice","sendMessage","useCallback","message","activeRoomJID","isReply","isChecked","mainMessage","existingId","isEdit","editMessageStanza","roomJid","messageId","newMessage","roomJID","error","messageType","setEditAction","onCriticalSend","optimisticId","optimisticDate","toISOString","selfId","xmppUsername","walletAddress","optimisticMessage","id","xmppId","body","date","pending","isDeleted","name","firstName","lastName","trim","disableSentLogic","addRoomMessage","watchdogExtended","runWatchdog","getState","roomMsgs","messages","stillPending","find","m","alreadyFailed","streamOnline","getGlobalXmppClient","status","console","warn","watchdogTimer","setTimeout","removeOutboundSend","markMessageFailed","kind","Error","replaySend","c","sendTextMessageWithTranslateTagStanza","enqueueOutboundSend","enqueuedAt","send","effectiveClient","store","anyClient","forceReconnect","ensureStreamAlive","clearTimeout","sendMedia","data","type","size","uuidv4","optimisticTimestamp","displayName","fileSizeStr","String","normalizedFileUri","uri","replace","messageTimestampMs","xmppFrom","isSystemMessage","isMediafile","fileName","location","locationPreview","mimetype","originalName","showInChannel","addMessageToHeap","mediaWatchdog","fileBlob","mimeType","tryUpload","fd","FormData","append","uploadFileV2","err","response","fd2","item","results","messagePayload","createdAt","expiresAt","filename","isVisible","originalname","ownerKey","duration","updatedAt","userId","attachmentId","_id","wrappable","isPrivate","__v","effectiveMediaClient","setActiveRoomJid","Promise","resolve","prioritizeRoomPresence","catch","sendMediaMessageStanza","anyMediaClient","ttlMs","metadata","fileData","fileType","uploadResults","uriStr","uriScheme","match","statusText","serverBody","requestUrl","url","axiosMessage","axiosCode","code","axiosCauseMessage","cause","mime","fileSizeBytes","platformOS","Platform","OS","platformVersion","Version","retryMessage","failedId","payload","alreadyDelivered","some","clearMessageFailure","sendEditMessage","_activeRoomJID","isLastMessageFromUserAndProcessing","msgs","length","last","exports"],"sourceRoot":"../../../src","sources":["hooks/useSendMessage.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_uuid","_xmppProvider","_reactRedux","_roomsSlice","_roomHeapSlice","_auth","_outboundQueue","_roomStore","_clientRegistry","_useEventHandlers","PENDING_WATCHDOG_MS","MEDIA_PENDING_WATCHDOG_MS","__sendIdSeq","nextStanzaId","prefix","Date","now","MAX_MEDIA_BYTES","useSendMessage","_configOverride","client","useXmppClient","dispatch","useDispatch","reduxStore","useStore","user","useSelector","state","chatSettingStore","config","langSource","editAction","rooms","handleMessageSent","handleMessageFailed","handleMessageEdited","handleMessageRetry","useEventHandlers","sendMessage","useCallback","message","activeRoomJID","isReply","isChecked","mainMessage","existingId","isEdit","editMessageStanza","roomJid","messageId","newMessage","roomJID","error","messageType","setEditAction","onCriticalSend","optimisticId","optimisticDate","toISOString","selfId","xmppUsername","walletAddress","optimisticMessage","id","xmppId","body","date","pending","isDeleted","showInChannel","name","firstName","lastName","trim","disableSentLogic","addRoomMessage","watchdogExtended","runWatchdog","getState","roomMsgs","messages","stillPending","find","m","alreadyFailed","roomHeapSlice","failedMessages","streamOnline","getGlobalXmppClient","status","console","warn","watchdogTimer","setTimeout","removeOutboundSend","markMessageFailed","kind","Error","replaySend","c","sendTextMessageWithTranslateTagStanza","enqueueOutboundSend","enqueuedAt","send","effectiveClient","store","anyClient","forceReconnect","ensureStreamAlive","clearTimeout","sendMedia","data","type","size","uuidv4","optimisticTimestamp","displayName","fileSizeStr","String","normalizedFileUri","uri","replace","messageTimestampMs","xmppFrom","isSystemMessage","isMediafile","fileName","location","locationPreview","mimetype","originalName","addMessageToHeap","mediaWatchdog","fileBlob","mimeType","tryUpload","fd","FormData","append","uploadFileV2","err","response","fd2","item","results","messagePayload","createdAt","expiresAt","filename","isVisible","originalname","ownerKey","duration","updatedAt","userId","attachmentId","_id","wrappable","isPrivate","__v","effectiveMediaClient","setActiveRoomJid","Promise","resolve","prioritizeRoomPresence","catch","sendMediaMessageStanza","anyMediaClient","ttlMs","metadata","fileData","fileType","uploadResults","uriStr","uriScheme","match","statusText","serverBody","requestUrl","url","axiosMessage","axiosCode","code","axiosCauseMessage","cause","mime","fileSizeBytes","platformOS","Platform","OS","platformVersion","Version","retryMessage","failedId","payload","alreadyDelivered","some","clearMessageFailure","sendEditMessage","_activeRoomJID","isLastMessageFromUserAndProcessing","msgs","length","last","exports"],"sourceRoot":"../../../src","sources":["hooks/useSendMessage.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_roomStore","useUnreadMessagesCounter","subscribe","callback","store","roomsState","useSyncExternalStore","getState","rooms","unreadByRoom","totalCount","isCapped","Object","entries","forEach","roomJid","room","unreadCount","unreadMessages","unreadCapped","hasUnread","isLoading","isUnreadSyncing","exports","useUnread"],"sourceRoot":"../../../src","sources":["hooks/useUnreadMessagesCounter.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAmBO,MAAME,wBAAwB,GAAGA,CAAA,KAA2B;EACjE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,SAAS,GAAIC,QAAoB,IAAKC,gBAAK,CAACF,SAAS,CAACC,QAAQ,CAAC;EAErE,MAAME,UAAU,GAAG,IAAAC,2BAAoB,EACrCJ,SAAS,EACT,MAAME,gBAAK,CAACG,QAAQ,CAAC,CAAC,CAACC,KACzB,CAAC;EAED,MAAMA,KAAK,GAAGH,UAAU,CAACG,KAAK;EAC9B,MAAMC,YAA+B,GAAG,CAAC,CAAC;EAC1C,IAAIC,UAAU,GAAG,CAAC;EAClB,IAAIC,QAAQ,GAAG,KAAK;EAEpBC,MAAM,CAACC,OAAO,CAACL,KAAK,CAAC,CAACM,OAAO,CAAC,CAAC,CAACC,OAAO,EAAEC,IAAI,CAAkB,KAAK;IAClE,MAAMC,WAAW,GAAGD,IAAI,CAACE,cAAc,IAAI,CAAC;IAC5C,IAAID,WAAW,GAAG,CAAC,EAAE;MACnBR,YAAY,CAACM,OAAO,CAAC,GAAGE,WAAW;MACnCP,UAAU,IAAIO,WAAW;IAC3B;IACA,IAAKD,IAAI,EAAUG,YAAY,EAAE;
|
|
1
|
+
{"version":3,"names":["_react","require","_roomStore","useUnreadMessagesCounter","subscribe","callback","store","roomsState","useSyncExternalStore","getState","rooms","unreadByRoom","totalCount","isCapped","Object","entries","forEach","roomJid","room","unreadCount","unreadMessages","unreadCapped","hasUnread","isLoading","isUnreadSyncing","exports","useUnread"],"sourceRoot":"../../../src","sources":["hooks/useUnreadMessagesCounter.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAmBO,MAAME,wBAAwB,GAAGA,CAAA,KAA2B;EACjE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,SAAS,GAAIC,QAAoB,IAAKC,gBAAK,CAACF,SAAS,CAACC,QAAQ,CAAC;EAErE,MAAME,UAAU,GAAG,IAAAC,2BAAoB,EACrCJ,SAAS,EACT,MAAME,gBAAK,CAACG,QAAQ,CAAC,CAAC,CAACC,KACzB,CAAC;EAED,MAAMA,KAAK,GAAGH,UAAU,CAACG,KAAK;EAC9B,MAAMC,YAA+B,GAAG,CAAC,CAAC;EAC1C,IAAIC,UAAU,GAAG,CAAC;EAClB,IAAIC,QAAQ,GAAG,KAAK;EAEpBC,MAAM,CAACC,OAAO,CAACL,KAAK,CAAC,CAACM,OAAO,CAAC,CAAC,CAACC,OAAO,EAAEC,IAAI,CAAkB,KAAK;IAClE,MAAMC,WAAW,GAAGD,IAAI,CAACE,cAAc,IAAI,CAAC;IAC5C,IAAID,WAAW,GAAG,CAAC,EAAE;MACnBR,YAAY,CAACM,OAAO,CAAC,GAAGE,WAAW;MACnCP,UAAU,IAAIO,WAAW;IAC3B;IACA,IAAKD,IAAI,EAAUG,YAAY,IAAIF,WAAW,IAAI,EAAE,EAAE;MACpDN,QAAQ,GAAG,IAAI;IACjB;EACF,CAAC,CAAC;EAEF,OAAO;IACLS,SAAS,EAAEV,UAAU,GAAG,CAAC;IACzBA,UAAU;IACVD,YAAY;IACZY,SAAS,EAAE,CAAC,CAAChB,UAAU,CAACiB,eAAe,IAAI,CAAC,CAACjB,UAAU,CAACgB,SAAS;IACjEV;EACF,CAAC;AACH,CAAC;AAACY,OAAA,CAAAC,SAAA,GAAAD,OAAA,CAAAtB,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.onRoomKicked = exports.onRealtimeMessage = exports.onReactionMessage = exports.onReactionHistory = exports.onPresenceInRoom = exports.onNewRoomCreated = exports.onMessageHistory = exports.onMessageError = exports.onGetRoomInfo = exports.onGetMembers = exports.onGetLastMessageArchive = exports.onGetChatRooms = exports.onEditMessage = exports.onDeleteMessage = exports.onChatInvite = exports.handleComposing = void 0;
|
|
7
7
|
var _roomStore = require("../roomStore");
|
|
8
|
+
var _mamRouter = require("./xmpp/mamRouter");
|
|
9
|
+
var _mamReactions = require("../helpers/mamReactions");
|
|
8
10
|
var _roomsSlice = require("../roomStore/roomsSlice");
|
|
9
11
|
var _createMessageFromXml = require("../helpers/createMessageFromXml");
|
|
10
12
|
var _getDataFromXml = require("../helpers/getDataFromXml");
|
|
@@ -22,15 +24,13 @@ var _strings = require("../i18n/strings");
|
|
|
22
24
|
|
|
23
25
|
//core default
|
|
24
26
|
const onRealtimeMessage = async stanza => {
|
|
25
|
-
if (!stanza?.getChild('result') && !stanza.getChild('composing') && !stanza.getChild('paused') && !stanza.getChild('subject') && !stanza.is('iq') && stanza.attrs.id !== 'deleteMessageStanza') {
|
|
27
|
+
if (!stanza?.getChild('result') && !stanza.getChild('composing') && !stanza.getChild('paused') && !stanza.getChild('subject') && !stanza.is('iq') && stanza.attrs.id !== 'deleteMessageStanza' && !stanza.getChild('reactions')) {
|
|
26
28
|
const body = stanza?.getChild('body');
|
|
27
29
|
const archived = stanza?.getChild('archived');
|
|
28
30
|
const data = stanza?.getChild('data');
|
|
29
31
|
const id = archived?.attrs.id;
|
|
30
32
|
const deleted = stanza.getChild('result')?.getChild('forwarded')?.getChild('message')?.getChild('deleted');
|
|
31
33
|
if (!data) {
|
|
32
|
-
console.log(stanza.toString());
|
|
33
|
-
console.log('Missing data elements in real-time message.');
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
36
|
|
|
@@ -48,8 +48,6 @@ const onRealtimeMessage = async stanza => {
|
|
|
48
48
|
// to the same tolerance.
|
|
49
49
|
const senderJID = data.attrs.senderJID || stanza.attrs.from;
|
|
50
50
|
if (!senderJID) {
|
|
51
|
-
console.log(stanza.toString());
|
|
52
|
-
console.log('Missing sender information in real-time message.');
|
|
53
51
|
return;
|
|
54
52
|
}
|
|
55
53
|
|
|
@@ -154,8 +152,24 @@ const onEditMessage = async stanza => {
|
|
|
154
152
|
}
|
|
155
153
|
};
|
|
156
154
|
exports.onEditMessage = onEditMessage;
|
|
157
|
-
const
|
|
158
|
-
|
|
155
|
+
const isMamResult = stanza => !!stanza?.is?.('message') && stanza.children?.[0]?.attrs?.xmlns === 'urn:xmpp:mam:2';
|
|
156
|
+
const parseMamResult = async stanza => {
|
|
157
|
+
{
|
|
158
|
+
const forwardedMsg = stanza.getChild('result')?.getChild('forwarded')?.getChild('message');
|
|
159
|
+
if (forwardedMsg?.getChild?.('reactions')) {
|
|
160
|
+
const reaction = (0, _mamReactions.extractReaction)(forwardedMsg, stanza.attrs?.from, stanza.getChild('result')?.attrs?.id);
|
|
161
|
+
if (reaction && !(0, _mamRouter.collectMamReaction)(stanza, reaction)) {
|
|
162
|
+
_roomStore.store.dispatch((0, _roomsSlice.setReactions)({
|
|
163
|
+
roomJID: reaction.roomJID,
|
|
164
|
+
messageId: reaction.messageId,
|
|
165
|
+
from: reaction.from,
|
|
166
|
+
reactions: reaction.emoji,
|
|
167
|
+
data: reaction.data,
|
|
168
|
+
latestReactionTimestamp: reaction.ts
|
|
169
|
+
}));
|
|
170
|
+
}
|
|
171
|
+
return undefined;
|
|
172
|
+
}
|
|
159
173
|
// console.log("stanza -->", stanza.toString());
|
|
160
174
|
const body = stanza.getChild('result')?.getChild('forwarded')?.getChild('message')?.getChild('body');
|
|
161
175
|
const data = stanza.getChild('result')?.getChild('forwarded')?.getChild('message')?.getChild('data');
|
|
@@ -164,11 +178,9 @@ const onMessageHistory = async stanza => {
|
|
|
164
178
|
const id = stanza.getChild('result')?.attrs.id;
|
|
165
179
|
if (!delay) {
|
|
166
180
|
if (stanza.getChild('subject')) {
|
|
167
|
-
console.log('Subject.');
|
|
168
181
|
return;
|
|
169
182
|
}
|
|
170
183
|
if (!data || !body || !id) {
|
|
171
|
-
console.log('Missing required elements in message history.');
|
|
172
184
|
return;
|
|
173
185
|
}
|
|
174
186
|
}
|
|
@@ -238,6 +250,23 @@ const onMessageHistory = async stanza => {
|
|
|
238
250
|
// Same call-log transform as the realtime path, applied to archived
|
|
239
251
|
// history so calls received while offline still render as log entries.
|
|
240
252
|
const message = (0, _callLogMessage.transformCallLogMessage)(rawMessage, _roomStore.store.getState().chatSettingStore.user?.xmppUsername || '');
|
|
253
|
+
return message;
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
const onMessageHistory = async stanza => {
|
|
257
|
+
if (!isMamResult(stanza)) {
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
const claimed = (0, _mamRouter.claimMamResult)(stanza);
|
|
261
|
+
let message;
|
|
262
|
+
try {
|
|
263
|
+
message = await parseMamResult(stanza);
|
|
264
|
+
} finally {
|
|
265
|
+
if (claimed) {
|
|
266
|
+
(0, _mamRouter.collectMamMessage)(stanza, message);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
if (!claimed && message) {
|
|
241
270
|
_roomStore.store.dispatch((0, _roomsSlice.addRoomMessage)({
|
|
242
271
|
roomJID: stanza.attrs.from,
|
|
243
272
|
message
|
|
@@ -283,10 +312,12 @@ const onPresenceInRoom = stanza => {
|
|
|
283
312
|
if (typeof stanza.attrs.id === 'string' && stanza.attrs.id.startsWith('presenceInRoom') && !stanza.getChild('error')) {
|
|
284
313
|
const roomJID = stanza.attrs.from.split('/')[0];
|
|
285
314
|
const role = stanza?.children[1]?.children[0]?.attrs.role;
|
|
286
|
-
_roomStore.store.
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
315
|
+
if (role && _roomStore.store.getState().rooms.rooms?.[roomJID]?.role !== role) {
|
|
316
|
+
_roomStore.store.dispatch((0, _roomsSlice.setRoomRole)({
|
|
317
|
+
chatJID: roomJID,
|
|
318
|
+
role: role
|
|
319
|
+
}));
|
|
320
|
+
}
|
|
290
321
|
}
|
|
291
322
|
};
|
|
292
323
|
exports.onPresenceInRoom = onPresenceInRoom;
|
|
@@ -345,45 +376,49 @@ exports.onNewRoomCreated = onNewRoomCreated;
|
|
|
345
376
|
const onGetChatRooms = (stanza, xmpp) => {
|
|
346
377
|
if (stanza.attrs.id === 'getUserRooms' && Array.isArray(stanza.getChild('query')?.children)) {
|
|
347
378
|
const children = stanza.getChild('query')?.children || [];
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
379
|
+
const known = _roomStore.store.getState().rooms.rooms;
|
|
380
|
+
const fresh = [];
|
|
381
|
+
const jids = [];
|
|
382
|
+
for (const result of children) {
|
|
351
383
|
const jid = result?.attrs?.jid;
|
|
352
|
-
if (!
|
|
353
|
-
|
|
354
|
-
const roomData = {
|
|
355
|
-
jid: jid || '',
|
|
356
|
-
name: result?.attrs?.name || '',
|
|
357
|
-
id: '',
|
|
358
|
-
title: result?.attrs?.name || '',
|
|
359
|
-
usersCnt: Number(result?.attrs?.users_cnt || 0),
|
|
360
|
-
messages: [],
|
|
361
|
-
isLoading: false,
|
|
362
|
-
roomBg: result?.attrs?.room_background !== 'none' ? result?.attrs?.room_background : null,
|
|
363
|
-
icon: result?.attrs?.room_thumbnail !== 'none' ? result?.attrs?.room_thumbnail : null,
|
|
364
|
-
unreadMessages: 0,
|
|
365
|
-
lastViewedTimestamp: 0
|
|
366
|
-
};
|
|
367
|
-
_roomStore.store.dispatch((0, _roomsSlice.addRoom)({
|
|
368
|
-
roomData: {
|
|
369
|
-
...roomData
|
|
370
|
-
}
|
|
371
|
-
}));
|
|
372
|
-
if (!_roomStore.store.getState().rooms.activeRoomJID) {
|
|
373
|
-
_roomStore.store.dispatch((0, _roomsSlice.setCurrentRoom)({
|
|
374
|
-
roomJID: roomData.jid
|
|
375
|
-
}));
|
|
376
|
-
}
|
|
377
|
-
} catch (error) {}
|
|
384
|
+
if (!jid) {
|
|
385
|
+
continue;
|
|
378
386
|
}
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
} catch (e) {
|
|
383
|
-
console.warn('presenceInRoomStanza failed', jid, e);
|
|
384
|
-
}
|
|
387
|
+
jids.push(jid);
|
|
388
|
+
if (known[jid]) {
|
|
389
|
+
continue;
|
|
385
390
|
}
|
|
386
|
-
|
|
391
|
+
fresh.push({
|
|
392
|
+
jid,
|
|
393
|
+
name: result?.attrs?.name || '',
|
|
394
|
+
id: '',
|
|
395
|
+
title: result?.attrs?.name || '',
|
|
396
|
+
usersCnt: Number(result?.attrs?.users_cnt || 0),
|
|
397
|
+
messages: [],
|
|
398
|
+
isLoading: false,
|
|
399
|
+
roomBg: result?.attrs?.room_background !== 'none' ? result?.attrs?.room_background : null,
|
|
400
|
+
icon: result?.attrs?.room_thumbnail !== 'none' ? result?.attrs?.room_thumbnail : null,
|
|
401
|
+
unreadMessages: 0,
|
|
402
|
+
lastViewedTimestamp: 0
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
if (fresh.length) {
|
|
406
|
+
_roomStore.store.dispatch((0, _roomsSlice.addRooms)({
|
|
407
|
+
rooms: fresh
|
|
408
|
+
}));
|
|
409
|
+
if (!_roomStore.store.getState().rooms.activeRoomJID) {
|
|
410
|
+
_roomStore.store.dispatch((0, _roomsSlice.setCurrentRoom)({
|
|
411
|
+
roomJID: fresh[0].jid
|
|
412
|
+
}));
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
for (const jid of jids) {
|
|
416
|
+
try {
|
|
417
|
+
xmpp.presenceInRoomStanza(jid);
|
|
418
|
+
} catch (e) {
|
|
419
|
+
console.warn('presenceInRoomStanza failed', jid, e);
|
|
420
|
+
}
|
|
421
|
+
}
|
|
387
422
|
}
|
|
388
423
|
};
|
|
389
424
|
|
|
@@ -392,8 +427,29 @@ const onGetChatRooms = (stanza, xmpp) => {
|
|
|
392
427
|
// require() returns undefined at runtime → "X is not a function".
|
|
393
428
|
exports.onGetChatRooms = onGetChatRooms;
|
|
394
429
|
const onMessageError = (_stanza, _xmpp) => {};
|
|
430
|
+
/** A live reaction: the reactor's full current list on one message. */
|
|
395
431
|
exports.onMessageError = onMessageError;
|
|
396
|
-
const onReactionMessage =
|
|
432
|
+
const onReactionMessage = stanza => {
|
|
433
|
+
if (!stanza?.is?.('message') || stanza.getChild('result')) {
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
if (!stanza.getChild('reactions')) {
|
|
437
|
+
return;
|
|
438
|
+
}
|
|
439
|
+
const reaction = (0, _mamReactions.extractReaction)(stanza, stanza.attrs?.from);
|
|
440
|
+
if (!reaction) {
|
|
441
|
+
return;
|
|
442
|
+
}
|
|
443
|
+
_roomStore.store.dispatch((0, _roomsSlice.setReactions)({
|
|
444
|
+
roomJID: reaction.roomJID,
|
|
445
|
+
messageId: reaction.messageId,
|
|
446
|
+
latestReactionTimestamp: reaction.ts,
|
|
447
|
+
reactions: reaction.emoji,
|
|
448
|
+
from: reaction.from,
|
|
449
|
+
data: reaction.data
|
|
450
|
+
}));
|
|
451
|
+
};
|
|
452
|
+
// Archived reactions are handled by parseMamResult + the MAM router.
|
|
397
453
|
exports.onReactionMessage = onReactionMessage;
|
|
398
454
|
const onReactionHistory = _stanza => {};
|
|
399
455
|
exports.onReactionHistory = onReactionHistory;
|