@ethora/chat-component-rn 26.8.4 → 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/Header/HeaderRoomList.js +12 -7
- package/lib/commonjs/components/Header/HeaderRoomList.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 +47 -26
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +58 -21
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/KeyboardInputDock.js +40 -0
- package/lib/commonjs/components/MainComponents/KeyboardInputDock.js.map +1 -0
- 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 +270 -0
- package/lib/commonjs/components/MainComponents/RoomStack.js.map +1 -0
- 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/ChatProfileModal/ChatProfileModal.js +6 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/Modal/Modal.js +24 -0
- package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js +178 -0
- package/lib/commonjs/components/Modals/Modal/SwipeBackLayer.js.map +1 -0
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +28 -10
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +9 -3
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.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/keyboardLayout.js +23 -1
- package/lib/commonjs/helpers/keyboardLayout.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/Header/HeaderRoomList.js +12 -7
- package/lib/module/components/Header/HeaderRoomList.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 +49 -28
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +60 -23
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/KeyboardInputDock.js +33 -0
- package/lib/module/components/MainComponents/KeyboardInputDock.js.map +1 -0
- 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 +266 -0
- package/lib/module/components/MainComponents/RoomStack.js.map +1 -0
- 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/ChatProfileModal/ChatProfileModal.js +6 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/Modal/Modal.js +25 -1
- package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/module/components/Modals/Modal/SwipeBackLayer.js +172 -0
- package/lib/module/components/Modals/Modal/SwipeBackLayer.js.map +1 -0
- package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +29 -11
- package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +10 -4
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.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/keyboardLayout.js +20 -0
- package/lib/module/helpers/keyboardLayout.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/Header/HeaderRoomList.d.ts.map +1 -1
- 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/KeyboardInputDock.d.ts +16 -0
- package/lib/typescript/components/MainComponents/KeyboardInputDock.d.ts.map +1 -0
- 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 +42 -0
- package/lib/typescript/components/MainComponents/RoomStack.d.ts.map +1 -0
- 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/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts +16 -0
- package/lib/typescript/components/Modals/Modal/SwipeBackLayer.d.ts.map +1 -0
- package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.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/keyboardLayout.d.ts +6 -0
- package/lib/typescript/helpers/keyboardLayout.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/Header/HeaderRoomList.tsx +7 -5
- package/src/components/MainComponents/ChatHeader.tsx +16 -7
- package/src/components/MainComponents/ChatRoom.tsx +64 -32
- package/src/components/MainComponents/ChatWrapper.tsx +73 -21
- package/src/components/MainComponents/KeyboardInputDock.tsx +47 -0
- 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 +309 -0
- 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/ChatProfileModal/ChatProfileModal.tsx +4 -0
- package/src/components/Modals/Modal/Modal.tsx +32 -1
- package/src/components/Modals/Modal/SwipeBackLayer.tsx +221 -0
- package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +29 -8
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +6 -3
- 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/keyboardLayout.ts +26 -0
- 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":["_roomStore","require","_roomsSlice","_createMessageFromXml","_getDataFromXml","_chatSettingsSlice","_messageNotificationManager","_callLogMessage","_strings","onRealtimeMessage","stanza","getChild","is","attrs","id","body","archived","data","deleted","console","log","toString","senderJID","from","parsed","getDataFromXml","pData","pId","pBody","pRest","mergedData","rawMessage","createMessageFromXml","isDeleted","message","transformCallLogMessage","store","getState","chatSettingStore","user","xmppUsername","roomJID","split","dispatch","addRoomMessage","state","currentUserWallet","walletAddress","toLowerCase","senderJIDLower","String","includes","room","rooms","roomName","title","name","locale","config","i18n","langSource","overrides","strings","senderName","senderFirstName","senderLastName","filter","Boolean","join","trim","translateKey","messageNotificationManager","showNotification","err","warn","exports","onDeleteMessage","stanzaId","deleteRoomMessage","by","messageId","setDeleteModal","isDeleteModal","onEditMessage","replace","editRoomMessage","text","onMessageHistory","children","xmlns","delay","forwardedMessage","innerFrom","mergedAttrs","xmppId","positionalMessage","parsedFull","catch","undefined","translations","handleComposing","currentUser","composingUser","norm","s","senderLocal","selfUser","selfXmppUsername","selfWallet","isSelf","chatJID","composingList","push","fullName","pop","setComposing","composing","onPresenceInRoom","startsWith","role","setRoomRole","onChatInvite","client","type","chatId","xEls","getChildren","el","child","chat","presenceInRoomStanza","getRoomsStanza","onGetMembers","onGetRoomInfo","onGetLastMessageArchive","_xmpp","onNewRoomCreated","xmpp","setCurrentRoom","onGetChatRooms","Array","isArray","forEach","result","currentChatRooms","isRoomAlreadyAdded","Object","values","some","element","jid","roomData","usersCnt","Number","users_cnt","messages","isLoading","roomBg","room_background","icon","room_thumbnail","unreadMessages","lastViewedTimestamp","addRoom","activeRoomJID","error","e","onMessageError","_stanza","onReactionMessage","onReactionHistory","onRoomKicked"],"sourceRoot":"../../../src","sources":["networking/stanzaHandlers.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAUA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,2BAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMQ,iBAAiB,GAAG,MAAOC,MAAe,IAAK;EACnD,IACE,CAACA,MAAM,EAAEC,QAAQ,CAAC,QAAQ,CAAC,IAC3B,CAACD,MAAM,CAACC,QAAQ,CAAC,WAAW,CAAC,IAC7B,CAACD,MAAM,CAACC,QAAQ,CAAC,QAAQ,CAAC,IAC1B,CAACD,MAAM,CAACC,QAAQ,CAAC,SAAS,CAAC,IAC3B,CAACD,MAAM,CAACE,EAAE,CAAC,IAAI,CAAC,IAChBF,MAAM,CAACG,KAAK,CAACC,EAAE,KAAK,qBAAqB,EACzC;IACA,MAAMC,IAAI,GAAGL,MAAM,EAAEC,QAAQ,CAAC,MAAM,CAAC;IACrC,MAAMK,QAAQ,GAAGN,MAAM,EAAEC,QAAQ,CAAC,UAAU,CAAC;IAC7C,MAAMM,IAAI,GAAGP,MAAM,EAAEC,QAAQ,CAAC,MAAM,CAAC;IACrC,MAAMG,EAAE,GAAGE,QAAQ,EAAEH,KAAK,CAACC,EAAE;IAE7B,MAAMI,OAAO,GAAGR,MAAM,CACnBC,QAAQ,CAAC,QAAQ,CAAC,EACjBA,QAAQ,CAAC,WAAW,CAAC,EACrBA,QAAQ,CAAC,SAAS,CAAC,EACnBA,QAAQ,CAAC,SAAS,CAAC;IAEvB,IAAI,CAACM,IAAI,EAAE;MACTE,OAAO,CAACC,GAAG,CAACV,MAAM,CAACW,QAAQ,CAAC,CAAC,CAAC;MAC9BF,OAAO,CAACC,GAAG,CAAC,6CAA6C,CAAC;MAC1D;IACF;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAME,SAAS,GAAGL,IAAI,CAACJ,KAAK,CAACS,SAAS,IAAIZ,MAAM,CAACG,KAAK,CAACU,IAAI;IAC3D,IAAI,CAACD,SAAS,EAAE;MACdH,OAAO,CAACC,GAAG,CAACV,MAAM,CAACW,QAAQ,CAAC,CAAC,CAAC;MAC9BF,OAAO,CAACC,GAAG,CAAC,kDAAkD,CAAC;MAC/D;IACF;;IAEA;IACA;IACA;IACA;IACA,MAAMI,MAAM,GAAG,MAAM,IAAAC,8BAAc,EAACf,MAAM,CAAC;IAC3C,MAAM;MAAEO,IAAI,EAAES,KAAK;MAAEZ,EAAE,EAAEa,GAAG;MAAEZ,IAAI,EAAEa,KAAK;MAAE,GAAGC;IAAM,CAAC,GACnDL,MAAM,IAAK,CAAC,CAAyC;IACvD,MAAMM,UAAmC,GAAG;MAAE,IAAIJ,KAAK,IAAIT,IAAI,CAACJ,KAAK;IAAE,CAAC;IACxE,IAAI,CAACiB,UAAU,CAACR,SAAS,EAAE;MAACQ,UAAU,CAACR,SAAS,GAAGA,SAAS;IAAC;IAC7D;IACA;IACA;IACA,MAAMS,UAAU,GAAG,MAAM,IAAAC,0CAAoB,EAAC;MAC5Cf,IAAI,EAAEa,UAAU;MAChBhB,EAAE,EAAEa,GAAG,IAAIb,EAAE;MACbC,IAAI,EAAEa,KAAK,IAAI,EAAE;MACjB,GAAGC,KAAK;MACRI,SAAS,EAAE,CAAC,CAACf,OAAO,IAAI,CAAC,CAACW,KAAK,EAAEX;IACnC,CAA+C,CAAC;;IAEhD;IACA;IACA;IACA;IACA;IACA,MAAMgB,OAAO,GAAG,IAAAC,uCAAuB,EACrCJ,UAAU,EACVK,gBAAK,CAACC,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACC,IAAI,EAAEC,YAAY,IAAI,EAC1D,CAAC;IAED,MAAMC,OAAO,GAAG/B,MAAM,CAACG,KAAK,CAACU,IAAI,CAACmB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/CN,gBAAK,CAACO,QAAQ,CACZ,IAAAC,0BAAc,EAAC;MACbH,OAAO;MACPP;IACF,CAAC,CACH,CAAC;;IAED;IACA;IACA,IAAI;MACF,MAAMW,KAAK,GAAGT,gBAAK,CAACC,QAAQ,CAAC,CAAC;MAC9B,MAAMS,iBAAiB,GAAG,CAACD,KAAK,CAACP,gBAAgB,CAACC,IAAI,EAAEQ,aAAa,IAAI,EAAE,EAAEC,WAAW,CAAC,CAAC;MAC1F,MAAMC,cAAc,GAAGC,MAAM,CAAC5B,SAAS,IAAI,EAAE,CAAC,CAAC0B,WAAW,CAAC,CAAC;MAC5D,IAAIF,iBAAiB,IAAIG,cAAc,CAACE,QAAQ,CAACL,iBAAiB,CAAC,EAAE;QACnE,OAAOZ,OAAO,CAAC,CAAC;MAClB;MACA,MAAMkB,IAAI,GAAGP,KAAK,CAACQ,KAAK,CAACA,KAAK,CAACZ,OAAO,CAAC;MACvC,MAAMa,QAAQ,GAAGF,IAAI,EAAEG,KAAK,IAAIH,IAAI,EAAEI,IAAI,IAAI,EAAE;MAChD;MACA;MACA;MACA;MACA;MACA;MACA;MACA,MAAMC,MAAM,GACVZ,KAAK,CAACP,gBAAgB,CAACoB,MAAM,EAAEC,IAAI,EAAEF,MAAM,IAC3CZ,KAAK,CAACP,gBAAgB,CAACsB,UAAU;MACnC,MAAMC,SAAS,GAAGhB,KAAK,CAACP,gBAAgB,CAACoB,MAAM,EAAEC,IAAI,EAAEG,OAAO;MAC9D,MAAMC,UAAU,GAAG,CACjB9C,IAAI,CAACJ,KAAK,CAACmD,eAAe,EAC1B/C,IAAI,CAACJ,KAAK,CAACoD,cAAc,CAC1B,CACEC,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,GAAG,CAAC,CACTC,IAAI,CAAC,CAAC,IAAI,IAAAC,qBAAY,EAAC,6BAA6B,EAAEb,MAAM,EAAEI,SAAS,CAAC;MAC3EU,sDAA0B,CAACC,gBAAgB,CACzCtC,OAAO,EACPoB,QAAQ,EACRS,UAAU,EACVtB,OACF,CAAC;IACH,CAAC,CAAC,OAAOgC,GAAG,EAAE;MACZtD,OAAO,CAACuD,IAAI,CAAC,8BAA8B,EAAED,GAAG,CAAC;IACnD;IACA,OAAOvC,OAAO;EAChB;AACF,CAAC;AAACyC,OAAA,CAAAlE,iBAAA,GAAAA,iBAAA;AAEF,MAAMmE,eAAe,GAAG,MAAOlE,MAAe,IAAK;EACjD,IAAIA,MAAM,CAACG,KAAK,CAACC,EAAE,KAAK,qBAAqB,EAAE;IAC7C,MAAMI,OAAO,GAAGR,MAAM,CAACC,QAAQ,CAAC,QAAQ,CAAC;IACzC,MAAMkE,QAAQ,GAAGnE,MAAM,CAACC,QAAQ,CAAC,WAAW,CAAC;IAE7C,IAAI,CAACO,OAAO,EAAE;MACZ;IACF;IAEAkB,gBAAK,CAACO,QAAQ,CACZ,IAAAmC,6BAAiB,EAAC;MAChBrC,OAAO,EAAEoC,QAAQ,EAAEhE,KAAK,CAACkE,EAAE;MAC3BC,SAAS,EAAE9D,OAAO,CAACL,KAAK,CAACC;IAC3B,CAAC,CACH,CAAC;IACDsB,gBAAK,CAACO,QAAQ,CAAC,IAAAsC,iCAAc,EAAC;MAAEC,aAAa,EAAE;IAAM,CAAC,CAAC,CAAC;EAC1D;AACF,CAAC;AAACP,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAEF,MAAMO,aAAa,GAAG,MAAOzE,MAAe,IAAK;EAC/C,IAAIA,MAAM,EAAEG,KAAK,EAAEC,EAAE,EAAEqC,QAAQ,CAAC,cAAc,CAAC,EAAE;IAC/C,MAAM0B,QAAQ,GAAGnE,MAAM,CAACC,QAAQ,CAAC,WAAW,CAAC;IAC7C,MAAMyE,OAAO,GAAG1E,MAAM,CAACC,QAAQ,CAAC,SAAS,CAAC;IAE1C,IAAI,CAACkE,QAAQ,IAAI,CAACO,OAAO,EAAE;MACzB;IACF;IAEAhD,gBAAK,CAACO,QAAQ,CACZ,IAAA0C,2BAAe,EAAC;MACd5C,OAAO,EAAEoC,QAAQ,EAAEhE,KAAK,CAACkE,EAAE;MAC3BC,SAAS,EAAEI,OAAO,EAAEvE,KAAK,CAACC,EAAE;MAC5BwE,IAAI,EAAEF,OAAO,EAAEvE,KAAK,CAACyE;IACvB,CAAC,CACH,CAAC;EACH;AACF,CAAC;AAACX,OAAA,CAAAQ,aAAA,GAAAA,aAAA;AAEF,MAAMI,gBAAgB,GAAG,MAAO7E,MAAW,IAAK;EAC9C,IACEA,MAAM,CAACE,EAAE,CAAC,SAAS,CAAC,IACpBF,MAAM,CAAC8E,QAAQ,CAAC,CAAC,CAAC,CAAC3E,KAAK,CAAC4E,KAAK,KAAK,gBAAgB,EACnD;IACA;IACA,MAAM1E,IAAI,GAAGL,MAAM,CAChBC,QAAQ,CAAC,QAAQ,CAAC,EACjBA,QAAQ,CAAC,WAAW,CAAC,EACrBA,QAAQ,CAAC,SAAS,CAAC,EACnBA,QAAQ,CAAC,MAAM,CAAC;IACpB,MAAMM,IAAI,GAAGP,MAAM,CAChBC,QAAQ,CAAC,QAAQ,CAAC,EACjBA,QAAQ,CAAC,WAAW,CAAC,EACrBA,QAAQ,CAAC,SAAS,CAAC,EACnBA,QAAQ,CAAC,MAAM,CAAC;IACpB,MAAMO,OAAO,GAAGR,MAAM,CACnBC,QAAQ,CAAC,QAAQ,CAAC,EACjBA,QAAQ,CAAC,WAAW,CAAC,EACrBA,QAAQ,CAAC,SAAS,CAAC,EACnBA,QAAQ,CAAC,SAAS,CAAC;IAEvB,MAAM+E,KAAK,GAAGhF,MAAM,CACjBC,QAAQ,CAAC,QAAQ,CAAC,EACjBA,QAAQ,CAAC,WAAW,CAAC,EACrBA,QAAQ,CAAC,OAAO,CAAC;IACrB,MAAMG,EAAE,GAAGJ,MAAM,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAEE,KAAK,CAACC,EAAE;IAC9C,IAAI,CAAC4E,KAAK,EAAE;MACV,IAAIhF,MAAM,CAACC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC9BQ,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC;QACvB;MACF;MACA,IAAI,CAACH,IAAI,IAAI,CAACF,IAAI,IAAI,CAACD,EAAE,EAAE;QACzBK,OAAO,CAACC,GAAG,CAAC,+CAA+C,CAAC;QAC5D;MACF;IACF;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMuE,gBAAgB,GAAGjF,MAAM,CAC5BC,QAAQ,CAAC,QAAQ,CAAC,EACjBA,QAAQ,CAAC,WAAW,CAAC,EACrBA,QAAQ,CAAC,SAAS,CAAC;IACvB,MAAMiF,SAAS,GAAGD,gBAAgB,EAAE9E,KAAK,EAAEU,IAAI,IAAIb,MAAM,CAACG,KAAK,CAACU,IAAI;IACpE,MAAMD,SAAS,GAAGL,IAAI,EAAEJ,KAAK,EAAES,SAAS,IAAIsE,SAAS;IACrD,IAAI,CAAC3E,IAAI,EAAEJ,KAAK,IAAI,CAACS,SAAS,EAAE;MAC9B;MACA;MACA;MACA;MACA;IACF;IACA,MAAMuE,WAAW,GAAG;MAAE,GAAG5E,IAAI,CAACJ;IAAM,CAAC;IACrC,IAAI,CAACgF,WAAW,CAACvE,SAAS,EAAE;MAACuE,WAAW,CAACvE,SAAS,GAAGA,SAAS;IAAC;IAC/D;IACA;IACA;IACA;IACA;IACA,IAAIqE,gBAAgB,EAAE9E,KAAK,EAAEC,EAAE,EAAE;MAAC+E,WAAW,CAACC,MAAM,GAAGH,gBAAgB,CAAC9E,KAAK,CAACC,EAAE;IAAC;IACjF,MAAMiF,iBAAiB,GAAG,MAAM,IAAA/D,0CAAoB,EAClD6D,WAAW,EACX9E,IAAI,EACJD,EAAE;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA8E,SAAS,EACT,CAAC,CAAC1E,OACJ,CAAC;;IAED;IACA;IACA;IACA;IACA;IACA;IACA,MAAM8E,UAAU,GAAG,MAAM,IAAAvE,8BAAc,EAACf,MAAM,CAAC,CAACuF,KAAK,CAAC,MAAMC,SAAS,CAAC;IACtE,MAAMnE,UAAU,GAAG;MACjB,GAAGgE,iBAAiB;MACpB,IAAIC,UAAU,EAAEG,YAAY,GACxB;QAAEA,YAAY,EAAEH,UAAU,CAACG;MAAa,CAAC,GACzC,CAAC,CAAC,CAAC;MACP,IAAIH,UAAU,EAAEpC,UAAU,GAAG;QAAEA,UAAU,EAAEoC,UAAU,CAACpC;MAAW,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;;IAED;IACA;IACA,MAAM1B,OAAO,GAAG,IAAAC,uCAAuB,EACrCJ,UAAU,EACVK,gBAAK,CAACC,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACC,IAAI,EAAEC,YAAY,IAAI,EAC1D,CAAC;IACDJ,gBAAK,CAACO,QAAQ,CACZ,IAAAC,0BAAc,EAAC;MACbH,OAAO,EAAE/B,MAAM,CAACG,KAAK,CAACU,IAAI;MAC1BW;IACF,CAAC,CACH,CAAC;EACH;AACF,CAAC;AAACyC,OAAA,CAAAY,gBAAA,GAAAA,gBAAA;AAEF,MAAMa,eAAe,GAAG,MAAAA,CAAO1F,MAAe,EAAE2F,WAAmB,KAAK;EACtE,IAAI3F,MAAM,CAACC,QAAQ,CAAC,QAAQ,CAAC,IAAID,MAAM,CAACC,QAAQ,CAAC,WAAW,CAAC,EAAE;IAC7D,MAAM2F,aAAa,GAAG5F,MAAM,CAACG,KAAK,EAAEU,IAAI,EAAEmB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;IAEzD;IACA;IACA;IACA;IACA;IACA,MAAM6D,IAAI,GAAIC,CAAU,IACtB,CAACA,CAAC,IAAI,EAAE,EAAExD,WAAW,CAAC,CAAC,CAACoC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;;IAE3C;IACA;IACA;IACA,MAAM9D,SAAS,GAAGZ,MAAM,CAACC,QAAQ,CAAC,MAAM,CAAC,EAAEE,KAAK,EAAES,SAAS,IAAI,EAAE;IACjE,MAAMmF,WAAW,GAAGnF,SAAS,CAACoB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;IACjD,MAAMG,KAAK,GAAGT,gBAAK,CAACC,QAAQ,CAAC,CAAC;IAC9B,MAAMqE,QAAQ,GAAG7D,KAAK,CAACP,gBAAgB,EAAEC,IAAI;IAC7C,MAAMoE,gBAAgB,GAAGD,QAAQ,EAAElE,YAAY,IAAI,EAAE;IACrD,MAAMoE,UAAU,GAAGF,QAAQ,EAAE3D,aAAa,IAAI,EAAE;IAChD,MAAM8D,MAAM,GACTP,aAAa,IAAIC,IAAI,CAACF,WAAW,CAAC,KAAKE,IAAI,CAACD,aAAa,CAAC,IAC1DG,WAAW,IAAIF,IAAI,CAACE,WAAW,CAAC,KAAKF,IAAI,CAACI,gBAAgB,CAAE,IAC5DF,WAAW,IAAIF,IAAI,CAACE,WAAW,CAAC,CAACtD,QAAQ,CAACoD,IAAI,CAACK,UAAU,CAAC,CAAE;IAE/D,IAAIN,aAAa,IAAI,CAACO,MAAM,EAAE;MAC5B,MAAMC,OAAO,GAAGpG,MAAM,CAACG,KAAK,EAAEU,IAAI,CAACmB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MAEhD,IAAIqE,aAAuB,GAAG,EAAE;MAEhCrG,MAAM,EAAEC,QAAQ,CAAC,WAAW,CAAC,GACzBoG,aAAa,CAACC,IAAI,CAChBtG,MAAM,CAACC,QAAQ,CAAC,MAAM,CAAC,EAAEE,KAAK,EAAEoG,QAAQ,EAAEvE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,MAC/D,CAAC,GACDqE,aAAa,CAACG,GAAG,CAAC,CAAC;MAEvB9E,gBAAK,CAACO,QAAQ,CACZ,IAAAwE,wBAAY,EAAC;QACXL,OAAO,EAAEA,OAAO;QAChBM,SAAS,EAAE,CAAC,CAAC1G,MAAM,EAAEC,QAAQ,CAAC,WAAW,CAAC;QAC1CoG;MACF,CAAC,CACH,CAAC;IACH;EACF;AACF,CAAC;AAACpC,OAAA,CAAAyB,eAAA,GAAAA,eAAA;AAEF,MAAMiB,gBAAgB,GAAI3G,MAAqB,IAAK;EAClD,IACE,OAAOA,MAAM,CAACG,KAAK,CAACC,EAAE,KAAK,QAAQ,IACnCJ,MAAM,CAACG,KAAK,CAACC,EAAE,CAACwG,UAAU,CAAC,gBAAgB,CAAC,IAC5C,CAAC5G,MAAM,CAACC,QAAQ,CAAC,OAAO,CAAC,EACzB;IACA,MAAM8B,OAAe,GAAG/B,MAAM,CAACG,KAAK,CAACU,IAAI,CAACmB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM6E,IAAY,GAAG7G,MAAM,EAAE8E,QAAQ,CAAC,CAAC,CAAC,EAAEA,QAAQ,CAAC,CAAC,CAAC,EAAE3E,KAAK,CAAC0G,IAAI;IACjEnF,gBAAK,CAACO,QAAQ,CAAC,IAAA6E,uBAAW,EAAC;MAAEV,OAAO,EAAErE,OAAO;MAAE8E,IAAI,EAAEA;IAAK,CAAC,CAAC,CAAC;EAC/D;AACF,CAAC;AAAC5C,OAAA,CAAA0C,gBAAA,GAAAA,gBAAA;AAEF,MAAMI,YAAY,GAAG,MAAAA,CAAO/G,MAAe,EAAEgH,MAAW,KAAK;EAC3D,IAAIhH,MAAM,CAACE,EAAE,CAAC,SAAS,CAAC,IAAIF,MAAM,CAACG,KAAK,CAAC8G,IAAI,KAAK,WAAW,EAAE;IAC7D;IACA,MAAMC,MAAM,GAAGlH,MAAM,CAACG,KAAK,CAACU,IAAI;IAChC,MAAMsG,IAAI,GAAGnH,MAAM,CAACoH,WAAW,CAAC,GAAG,CAAC;IAEpC,KAAK,MAAMC,EAAE,IAAIF,IAAI,EAAE;MACrB,MAAMG,KAAK,GAAGD,EAAE,CAACpH,QAAQ,CAAC,QAAQ,CAAC;MAEnC,IAAIqH,KAAK,EAAE;QACT,MAAMC,IAAI,GAAG7F,gBAAK,CAACC,QAAQ,CAAC,CAAC,CAACgB,KAAK,CAACA,KAAK,CAACuE,MAAM,CAAC;QACjD,IAAIK,IAAI,EAAE;UACR;QACF;QAEA,MAAMP,MAAM,CAACQ,oBAAoB,CAACN,MAAM,CAAC;QACzC,MAAMF,MAAM,CAACS,cAAc,CAAC,CAAC;MAC/B;IACF;EACF;AACF,CAAC;AAACxD,OAAA,CAAA8C,YAAA,GAAAA,YAAA;AAEF,MAAMW,YAAY,GAAI1H,MAAe,IAAK;EACxC,IAAIwC,MAAM,CAACxC,MAAM,CAACG,KAAK,EAAEC,EAAE,IAAI,EAAE,CAAC,KAAK,gBAAgB,EAAE;IAAC;EAAO;EACjE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACF,CAAC;AAAC6D,OAAA,CAAAyD,YAAA,GAAAA,YAAA;AAEF,MAAMC,aAAa,GAAI3H,MAAe,IAAK;EACzC,IAAIA,MAAM,CAACG,KAAK,CAACC,EAAE,KAAK,UAAU,IAAI,CAACJ,MAAM,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE,CACjE;AACF,CAAC;AAACgE,OAAA,CAAA0D,aAAA,GAAAA,aAAA;AAEF,MAAMC,uBAAuB,GAAGA,CAAC5H,MAAe,EAAE6H,KAAU,KAAK;EAC/D,IAAI7H,MAAM,CAACG,KAAK,CAACC,EAAE,KAAK,gBAAgB,EAAE,CAC1C;AACF,CAAC;AAAC6D,OAAA,CAAA2D,uBAAA,GAAAA,uBAAA;AAEF,MAAME,gBAAgB,GAAGA,CAAC9H,MAAe,EAAE+H,IAAS,KAAK;EACvDrG,gBAAK,CAACO,QAAQ,CAAC,IAAA+F,0BAAc,EAAC;IAAEjG,OAAO,EAAE/B,MAAM,CAACG,KAAK,CAACU;EAAK,CAAC,CAAC,CAAC;EAC9DkH,IAAI,CAACN,cAAc,CAAC,CAAC;AACvB,CAAC;AAACxD,OAAA,CAAA6D,gBAAA,GAAAA,gBAAA;AAEF,MAAMG,cAAc,GAAGA,CAACjI,MAAe,EAAE+H,IAAS,KAAK;EACrD,IACE/H,MAAM,CAACG,KAAK,CAACC,EAAE,KAAK,cAAc,IAClC8H,KAAK,CAACC,OAAO,CAACnI,MAAM,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE6E,QAAQ,CAAC,EACjD;IACA,MAAMA,QAAQ,GAAG9E,MAAM,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE6E,QAAQ,IAAI,EAAE;IACzDA,QAAQ,CAACsD,OAAO,CAAC,MAAOC,MAAW,IAAK;MACtC,MAAMC,gBAAgB,GAAG5G,gBAAK,CAACC,QAAQ,CAAC,CAAC,CAACgB,KAAK,CAACA,KAAK;MAErD,MAAM4F,kBAAkB,GAAGC,MAAM,CAACC,MAAM,CAACH,gBAAgB,CAAC,CAACI,IAAI,CAC5DC,OAAO,IAAKA,OAAO,CAACC,GAAG,KAAKP,MAAM,EAAElI,KAAK,EAAEyI,GAC9C,CAAC;MAED,MAAMA,GAAG,GAAGP,MAAM,EAAElI,KAAK,EAAEyI,GAAG;MAE9B,IAAI,CAACL,kBAAkB,EAAE;QACvB,IAAI;UACF,MAAMM,QAAe,GAAG;YACtBD,GAAG,EAAEA,GAAG,IAAI,EAAE;YACd9F,IAAI,EAAEuF,MAAM,EAAElI,KAAK,EAAE2C,IAAI,IAAI,EAAE;YAC/B1C,EAAE,EAAE,EAAE;YACNyC,KAAK,EAAEwF,MAAM,EAAElI,KAAK,EAAE2C,IAAI,IAAI,EAAE;YAChCgG,QAAQ,EAAEC,MAAM,CAACV,MAAM,EAAElI,KAAK,EAAE6I,SAAS,IAAI,CAAC,CAAC;YAC/CC,QAAQ,EAAE,EAAE;YACZC,SAAS,EAAE,KAAK;YAChBC,MAAM,EACJd,MAAM,EAAElI,KAAK,EAAEiJ,eAAe,KAAK,MAAM,GACrCf,MAAM,EAAElI,KAAK,EAAEiJ,eAAe,GAC9B,IAAI;YACVC,IAAI,EACFhB,MAAM,EAAElI,KAAK,EAAEmJ,cAAc,KAAK,MAAM,GACpCjB,MAAM,EAAElI,KAAK,EAAEmJ,cAAc,GAC7B,IAAI;YACVC,cAAc,EAAE,CAAC;YACjBC,mBAAmB,EAAE;UACvB,CAAC;UAED9H,gBAAK,CAACO,QAAQ,CAAC,IAAAwH,mBAAO,EAAC;YAAEZ,QAAQ,EAAE;cAAE,GAAGA;YAAS;UAAE,CAAC,CAAC,CAAC;UAEtD,IAAI,CAACnH,gBAAK,CAACC,QAAQ,CAAC,CAAC,CAACgB,KAAK,CAAC+G,aAAa,EAAE;YACzChI,gBAAK,CAACO,QAAQ,CAAC,IAAA+F,0BAAc,EAAC;cAAEjG,OAAO,EAAE8G,QAAQ,CAACD;YAAI,CAAC,CAAC,CAAC;UAC3D;QACF,CAAC,CAAC,OAAOe,KAAK,EAAE,CAAC;MACnB;MAEA,IAAIf,GAAG,EAAE;QACP,IAAI;UACFb,IAAI,CAACP,oBAAoB,CAACoB,GAAG,CAAC;QAChC,CAAC,CAAC,OAAOgB,CAAC,EAAE;UACVnJ,OAAO,CAACuD,IAAI,CAAC,6BAA6B,EAAE4E,GAAG,EAAEgB,CAAC,CAAC;QACrD;MACF;IACF,CAAC,CAAC;EACJ;AACF,CAAC;;AAED;AACA;AACA;AAAA3F,OAAA,CAAAgE,cAAA,GAAAA,cAAA;AACA,MAAM4B,cAAc,GAAGA,CAACC,OAAgB,EAAEjC,KAAW,KAAK,CAAC,CAAC;AAAC5D,OAAA,CAAA4F,cAAA,GAAAA,cAAA;AAC7D,MAAME,iBAAiB,GAAID,OAAgB,IAAK,CAAC,CAAC;AAAC7F,OAAA,CAAA8F,iBAAA,GAAAA,iBAAA;AACnD,MAAMC,iBAAiB,GAAIF,OAAgB,IAAK,CAAC,CAAC;AAAC7F,OAAA,CAAA+F,iBAAA,GAAAA,iBAAA;AACnD,MAAMC,YAAY,GAAIH,OAAgB,IAAK,CAAC,CAAC;AAAC7F,OAAA,CAAAgG,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_roomStore","require","_mamRouter","_mamReactions","_roomsSlice","_createMessageFromXml","_getDataFromXml","_chatSettingsSlice","_messageNotificationManager","_callLogMessage","_strings","onRealtimeMessage","stanza","getChild","is","attrs","id","body","archived","data","deleted","senderJID","from","parsed","getDataFromXml","pData","pId","pBody","pRest","mergedData","rawMessage","createMessageFromXml","isDeleted","message","transformCallLogMessage","store","getState","chatSettingStore","user","xmppUsername","roomJID","split","dispatch","addRoomMessage","state","currentUserWallet","walletAddress","toLowerCase","senderJIDLower","String","includes","room","rooms","roomName","title","name","locale","config","i18n","langSource","overrides","strings","senderName","senderFirstName","senderLastName","filter","Boolean","join","trim","translateKey","messageNotificationManager","showNotification","err","console","warn","exports","onDeleteMessage","stanzaId","deleteRoomMessage","by","messageId","setDeleteModal","isDeleteModal","onEditMessage","replace","editRoomMessage","text","isMamResult","children","xmlns","parseMamResult","forwardedMsg","reaction","extractReaction","collectMamReaction","setReactions","reactions","emoji","latestReactionTimestamp","ts","undefined","delay","forwardedMessage","innerFrom","mergedAttrs","xmppId","positionalMessage","parsedFull","catch","translations","onMessageHistory","claimed","claimMamResult","collectMamMessage","handleComposing","currentUser","composingUser","norm","s","senderLocal","selfUser","selfXmppUsername","selfWallet","isSelf","chatJID","composingList","push","fullName","pop","setComposing","composing","onPresenceInRoom","startsWith","role","setRoomRole","onChatInvite","client","type","chatId","xEls","getChildren","el","child","chat","presenceInRoomStanza","getRoomsStanza","onGetMembers","onGetRoomInfo","onGetLastMessageArchive","_xmpp","onNewRoomCreated","xmpp","setCurrentRoom","onGetChatRooms","Array","isArray","known","fresh","jids","result","jid","usersCnt","Number","users_cnt","messages","isLoading","roomBg","room_background","icon","room_thumbnail","unreadMessages","lastViewedTimestamp","length","addRooms","activeRoomJID","e","onMessageError","_stanza","onReactionMessage","onReactionHistory","onRoomKicked"],"sourceRoot":"../../../src","sources":["networking/stanzaHandlers.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getHistory = void 0;
|
|
7
7
|
var _client = require("@xmpp/client");
|
|
8
8
|
var _createTimeoutPromise = require("./createTimeoutPromise.xmpp");
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
const getHistory = async (client, chatJID, max, before, otherId) => {
|
|
9
|
+
var _mamRouter = require("./mamRouter");
|
|
10
|
+
let historyIdCounter = 0;
|
|
11
|
+
const getHistory = async (client, chatJID, max, before, otherId, options) => {
|
|
12
12
|
if (typeof chatJID !== 'string') {
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
@@ -20,81 +20,36 @@ const getHistory = async (client, chatJID, max, before, otherId) => {
|
|
|
20
20
|
const host = service.match(/wss?:\/\/([^:/]+)/)?.[1] || 'xmpp.chat.ethora.com';
|
|
21
21
|
return `${chatJID}@conference.${host}`;
|
|
22
22
|
})();
|
|
23
|
-
const id = otherId ?? `get-history:${Date.now().toString()}`;
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (stanza.is('iq') && stanza.attrs.id === id && stanza.attrs.type === 'result') {
|
|
37
|
-
let mainMessages = [];
|
|
38
|
-
for (const msg of messages) {
|
|
39
|
-
const reactions = msg?.getChild('reactions');
|
|
40
|
-
const text = msg.getChild('body')?.getText();
|
|
41
|
-
if (text || reactions) {
|
|
42
|
-
const result = await (0, _getDataFromXml.getDataFromXml)(msg);
|
|
43
|
-
if (!result) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
const {
|
|
47
|
-
data,
|
|
48
|
-
id,
|
|
49
|
-
body,
|
|
50
|
-
...rest
|
|
51
|
-
} = result;
|
|
52
|
-
if (!data) {
|
|
53
|
-
console.log('No data in stanza');
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
const message = await (0, _createMessageFromXml.createMessageFromXml)({
|
|
57
|
-
data,
|
|
58
|
-
id,
|
|
59
|
-
body: body || '',
|
|
60
|
-
...rest
|
|
61
|
-
});
|
|
62
|
-
mainMessages.push(message);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
resolve(mainMessages);
|
|
66
|
-
}
|
|
67
|
-
if (stanza.is('iq') && stanza.attrs.id === id && stanza.attrs.type === 'error') {
|
|
68
|
-
reject();
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
client?.on('stanza', stanzaHdlrPointer);
|
|
72
|
-
const message = (0, _client.xml)('iq', {
|
|
73
|
-
type: 'set',
|
|
74
|
-
to: fixedChatJid,
|
|
75
|
-
id: id
|
|
76
|
-
}, (0, _client.xml)('query', {
|
|
77
|
-
xmlns: 'urn:xmpp:mam:2'
|
|
78
|
-
}, (0, _client.xml)('set', {
|
|
79
|
-
xmlns: 'http://jabber.org/protocol/rsm'
|
|
80
|
-
}, (0, _client.xml)('max', {}, max.toString()), before ? (0, _client.xml)('before', {}, before.toString()) : (0, _client.xml)('before'))));
|
|
81
|
-
client?.send(message).catch(err => console.log('err on load', err));
|
|
82
|
-
});
|
|
23
|
+
const id = otherId ?? `get-history:${Date.now().toString(36)}-${(++historyIdCounter).toString(36)}`;
|
|
24
|
+
const page = (0, _mamRouter.beginMamQuery)(id, fixedChatJid, !options?.selfApplied);
|
|
25
|
+
const message = (0, _client.xml)('iq', {
|
|
26
|
+
type: 'set',
|
|
27
|
+
to: fixedChatJid,
|
|
28
|
+
id: id
|
|
29
|
+
}, (0, _client.xml)('query', {
|
|
30
|
+
xmlns: 'urn:xmpp:mam:2',
|
|
31
|
+
queryid: id
|
|
32
|
+
}, (0, _client.xml)('set', {
|
|
33
|
+
xmlns: 'http://jabber.org/protocol/rsm'
|
|
34
|
+
}, (0, _client.xml)('max', {}, max.toString()), before ? (0, _client.xml)('before', {}, before.toString()) : (0, _client.xml)('before'))));
|
|
35
|
+
client?.send(message).catch(err => console.log('err on load', err));
|
|
83
36
|
const timeoutPromise = (0, _createTimeoutPromise.createTimeoutPromise)(10000);
|
|
84
37
|
try {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
38
|
+
const res = await Promise.race([page, timeoutPromise]);
|
|
39
|
+
if (res === null) {
|
|
40
|
+
const partial = (0, _mamRouter.cancelMamQuery)(id);
|
|
41
|
+
if (typeof __DEV__ !== 'undefined' && __DEV__) {
|
|
42
|
+
console.log(`[mam] history request for ${fixedChatJid} timed out after 10s (${partial.length} results arrived)`);
|
|
43
|
+
}
|
|
44
|
+
return partial;
|
|
45
|
+
}
|
|
46
|
+
return res;
|
|
88
47
|
} catch (e) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if (e !== undefined) {
|
|
93
|
-
console.log('=-> error in', fixedChatJid, e);
|
|
48
|
+
const partial = (0, _mamRouter.cancelMamQuery)(id);
|
|
49
|
+
if (typeof __DEV__ !== 'undefined' && __DEV__ && e === undefined) {
|
|
50
|
+
console.log(`[mam] history request for ${fixedChatJid} got no closing iq within 10s (${partial.length} results arrived)`);
|
|
94
51
|
}
|
|
95
|
-
return
|
|
96
|
-
} finally {
|
|
97
|
-
unsubscribe();
|
|
52
|
+
return partial;
|
|
98
53
|
}
|
|
99
54
|
};
|
|
100
55
|
exports.getHistory = getHistory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_client","require","_createTimeoutPromise","
|
|
1
|
+
{"version":3,"names":["_client","require","_createTimeoutPromise","_mamRouter","historyIdCounter","getHistory","client","chatJID","max","before","otherId","options","fixedChatJid","includes","service","host","match","id","Date","now","toString","page","beginMamQuery","selfApplied","message","xml","type","to","xmlns","queryid","send","catch","err","console","log","timeoutPromise","createTimeoutPromise","res","Promise","race","partial","cancelMamQuery","__DEV__","length","e","undefined","exports"],"sourceRoot":"../../../../src","sources":["networking/xmpp/getHistory.xmpp.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AAIA,IAAIG,gBAAgB,GAAG,CAAC;AAEjB,MAAMC,UAAU,GAAG,MAAAA,CACxBC,MAAc,EACdC,OAAe,EACfC,GAAW,EACXC,MAAe,EACfC,OAAgB,EAChBC,OAAmC,KACC;EACpC,IAAI,OAAOJ,OAAO,KAAK,QAAQ,EAAE;IAAC;EAAO;EACzC;EACA;EACA;EACA,MAAMK,YAAY,GAAGL,OAAO,CAACM,QAAQ,CAAC,GAAG,CAAC,GACtCN,OAAO,GACP,CAAC,MAAM;IACL,MAAMO,OAAe,GAAIR,MAAM,EAAUK,OAAO,EAAEG,OAAO,IAAI,EAAE;IAC/D,MAAMC,IAAI,GACRD,OAAO,CAACE,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,sBAAsB;IACnE,OAAO,GAAGT,OAAO,eAAeQ,IAAI,EAAE;EACxC,CAAC,EAAE,CAAC;EAGR,MAAME,EAAE,GAAGP,OAAO,IAAI,eAAeQ,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAEhB,gBAAgB,EAAEgB,QAAQ,CAAC,EAAE,CAAC,EAAE;EAEnG,MAAMC,IAAI,GAAG,IAAAC,wBAAa,EAACL,EAAE,EAAEL,YAAY,EAAE,CAACD,OAAO,EAAEY,WAAW,CAAC;EAEnE,MAAMC,OAAO,GAAG,IAAAC,WAAG,EACjB,IAAI,EACJ;IACEC,IAAI,EAAE,KAAK;IACXC,EAAE,EAAEf,YAAY;IAChBK,EAAE,EAAEA;EACN,CAAC,EACD,IAAAQ,WAAG,EACD,OAAO,EACP;IAAEG,KAAK,EAAE,gBAAgB;IAAEC,OAAO,EAAEZ;EAAG,CAAC,EACxC,IAAAQ,WAAG,EACD,KAAK,EACL;IAAEG,KAAK,EAAE;EAAiC,CAAC,EAC3C,IAAAH,WAAG,EAAC,KAAK,EAAE,CAAC,CAAC,EAAEjB,GAAG,CAACY,QAAQ,CAAC,CAAC,CAAC,EAC9BX,MAAM,GAAG,IAAAgB,WAAG,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAEhB,MAAM,CAACW,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAAK,WAAG,EAAC,QAAQ,CAC9D,CACF,CACF,CAAC;EAEDnB,MAAM,EAAEwB,IAAI,CAACN,OAAO,CAAC,CAACO,KAAK,CAAEC,GAAQ,IAAKC,OAAO,CAACC,GAAG,CAAC,aAAa,EAAEF,GAAG,CAAC,CAAC;EAE1E,MAAMG,cAAc,GAAG,IAAAC,0CAAoB,EAAC,KAAK,CAAC;EAElD,IAAI;IACF,MAAMC,GAAG,GAAG,MAAMC,OAAO,CAACC,IAAI,CAAoB,CAChDlB,IAAI,EACJc,cAAc,CACf,CAAC;IACF,IAAIE,GAAG,KAAK,IAAI,EAAE;MAChB,MAAMG,OAAO,GAAG,IAAAC,yBAAc,EAACxB,EAAE,CAAC;MAClC,IAAI,OAAOyB,OAAO,KAAK,WAAW,IAAIA,OAAO,EAAE;QAC7CT,OAAO,CAACC,GAAG,CACT,6BAA6BtB,YAAY,yBAAyB4B,OAAO,CAACG,MAAM,mBAClF,CAAC;MACH;MACA,OAAOH,OAAO;IAChB;IACA,OAAOH,GAAG;EACZ,CAAC,CAAC,OAAOO,CAAC,EAAE;IACV,MAAMJ,OAAO,GAAG,IAAAC,yBAAc,EAACxB,EAAE,CAAC;IAClC,IAAI,OAAOyB,OAAO,KAAK,WAAW,IAAIA,OAAO,IAAIE,CAAC,KAAKC,SAAS,EAAE;MAChEZ,OAAO,CAACC,GAAG,CACT,6BAA6BtB,YAAY,kCAAkC4B,OAAO,CAACG,MAAM,mBAC3F,CAAC;IACH;IACA,OAAOH,OAAO;EAChB;AACF,CAAC;AAACM,OAAA,CAAAzC,UAAA,GAAAA,UAAA","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.handleStanza = handleStanza;
|
|
7
|
+
var _mamRouter = require("./mamRouter");
|
|
7
8
|
var _stanzaHandlers = require("../stanzaHandlers");
|
|
8
9
|
var _callTokenStanza = require("../callTokenStanza");
|
|
9
10
|
/**
|
|
@@ -63,6 +64,9 @@ function handleStanza(stanza, xmppWs) {
|
|
|
63
64
|
(0, _stanzaHandlers.onPresenceInRoom)(stanza);
|
|
64
65
|
break;
|
|
65
66
|
case 'iq':
|
|
67
|
+
if ((0, _mamRouter.routeMamIq)(stanza)) {
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
66
70
|
(0, _stanzaHandlers.onGetChatRooms)(stanza, xmppWs);
|
|
67
71
|
(0, _stanzaHandlers.onRealtimeMessage)(stanza);
|
|
68
72
|
(0, _stanzaHandlers.onPresenceInRoom)(stanza);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_mamRouter","require","_stanzaHandlers","_callTokenStanza","unwrapMucsubMessage","stanza","inner","getChild","handleStanza","xmppWs","attrs","type","name","onCallTokenMessage","unwrapped","onMessageError","onReactionMessage","onReactionHistory","onDeleteMessage","onEditMessage","onChatInvite","onRealtimeMessage","onMessageHistory","handleComposing","username","onPresenceInRoom","onRoomKicked","routeMamIq","onGetChatRooms","onGetMembers","onGetRoomInfo","onGetLastMessageArchive","onNewRoomCreated","console","log"],"sourceRoot":"../../../../src","sources":["networking/xmpp/handleStanzas.xmpp.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAmBA,IAAAE,gBAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,mBAAmB,GAAIC,MAAe,IAAc;EACxD,MAAMC,KAAK,GAAID,MAAM,EACjBE,QAAQ,GAAG,OAAO,EAAE,yCAAyC,CAAC,EAC9DA,QAAQ,GAAG,OAAO,CAAC,EACnBA,QAAQ,GAAG,MAAM,CAAC,EAClBA,QAAQ,GAAG,SAAS,CAAC;EACzB,OAAQD,KAAK,IAAgBD,MAAM;AACrC,CAAC;AAEM,SAASG,YAAYA,CAACH,MAAe,EAAEI,MAAkB,EAAE;EAChE,IAAIJ,MAAM,EAAEK,KAAK,EAAEC,IAAI,KAAK,UAAU,EAAE;IAAC;EAAO;;EAEhD;EACA;EACA;EACA;EACA;EACA,IAAIN,MAAM,EAAEO,IAAI,KAAK,SAAS,IAAI,IAAAC,mCAAkB,EAACR,MAAM,CAAC,EAAE;IAC5D;EACF;EAEA,QAAQA,MAAM,CAACO,IAAI;IACjB,KAAK,SAAS;MAAE;QACd,MAAME,SAAS,GAAGV,mBAAmB,CAACC,MAAM,CAAC;QAC7C,IAAAU,8BAAc,EAACD,SAAS,EAAEL,MAAM,CAAC;QACjC,IAAAO,iCAAiB,EAACF,SAAS,CAAC;QAC5B,IAAAG,iCAAiB,EAACH,SAAS,CAAC;QAC5B,IAAAI,+BAAe,EAACJ,SAAS,CAAC;QAC1B,IAAAK,6BAAa,EAACL,SAAS,CAAC;QACxB,IAAAM,4BAAY,EAACN,SAAS,EAAEL,MAAM,CAAC;QAC/B,IAAAY,iCAAiB,EAACP,SAAS,CAAC;QAC5B,IAAAQ,gCAAgB,EAACR,SAAS,CAAC;QAC3B,IAAAS,+BAAe,EAACT,SAAS,EAAEL,MAAM,CAACe,QAAQ,CAAC;QAC3C,IAAAC,gCAAgB,EAACX,SAAS,CAAC;QAC3B;MACF;IACA,KAAK,UAAU;MACb,IAAAY,4BAAY,EAACrB,MAAM,CAAC;MACpB,IAAAoB,gCAAgB,EAACpB,MAAM,CAAC;MACxB;IACF,KAAK,IAAI;MACP,IAAI,IAAAsB,qBAAU,EAACtB,MAAM,CAAC,EAAE;QAAC;MAAM;MAC/B,IAAAuB,8BAAc,EAACvB,MAAM,EAAEI,MAAM,CAAC;MAC9B,IAAAY,iCAAiB,EAAChB,MAAM,CAAC;MACzB,IAAAoB,gCAAgB,EAACpB,MAAM,CAAC;MACxB,IAAAwB,4BAAY,EAACxB,MAAM,CAAC;MACpB,IAAAyB,6BAAa,EAACzB,MAAM,CAAC;MACrB,IAAA0B,uCAAuB,EAAC1B,MAAM,EAAEI,MAAM,CAAC;MACvC;IACF,KAAK,aAAa;MAChB,IAAAuB,gCAAgB,EAAC3B,MAAM,EAAEI,MAAM,CAAC;MAChC;IACF;MACEwB,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAE7B,MAAM,CAACO,IAAI,CAAC;EACtD;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.routeMamIq = exports.collectMamReaction = exports.collectMamMessage = exports.claimMamResult = exports.cancelMamQuery = exports.beginMamQuery = exports.__resetMamRouter = void 0;
|
|
7
|
+
var _roomStore = require("../../roomStore");
|
|
8
|
+
var _roomsSlice = require("../../roomStore/roomsSlice");
|
|
9
|
+
var _mamReactions = require("../../helpers/mamReactions");
|
|
10
|
+
const pending = new Map();
|
|
11
|
+
const flush = query => {
|
|
12
|
+
// Every step is guarded: a failure in one (a middleware throwing on a
|
|
13
|
+
// reaction, say) used to escape `settle` before the waiting request was
|
|
14
|
+
// resolved — the page was lost and the room stayed empty until opened.
|
|
15
|
+
let deferred = [];
|
|
16
|
+
try {
|
|
17
|
+
// Reactions ride in the archive as their own entries: fold them onto
|
|
18
|
+
// the page's messages first, so they are stored together.
|
|
19
|
+
deferred = (0, _mamReactions.applyMamReactions)(query.messages, query.reactions);
|
|
20
|
+
} catch (e) {
|
|
21
|
+
console.warn('[mam] applying reactions to a page failed', e);
|
|
22
|
+
}
|
|
23
|
+
if (query.apply && query.messages.length > 0) {
|
|
24
|
+
try {
|
|
25
|
+
_roomStore.store.dispatch((0, _roomsSlice.addRoomMessages)({
|
|
26
|
+
roomJID: query.roomJID,
|
|
27
|
+
messages: query.messages
|
|
28
|
+
}));
|
|
29
|
+
} catch (e) {
|
|
30
|
+
console.warn('[mam] applying a history page failed', e);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
for (const reaction of deferred) {
|
|
34
|
+
try {
|
|
35
|
+
_roomStore.store.dispatch((0, _roomsSlice.setReactions)({
|
|
36
|
+
roomJID: reaction.roomJID || query.roomJID,
|
|
37
|
+
messageId: reaction.messageId,
|
|
38
|
+
from: reaction.from,
|
|
39
|
+
reactions: reaction.emoji,
|
|
40
|
+
data: reaction.data,
|
|
41
|
+
latestReactionTimestamp: reaction.ts
|
|
42
|
+
}));
|
|
43
|
+
} catch (e) {
|
|
44
|
+
console.warn('[mam] applying a reaction failed', e);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const beginMamQuery = (queryId, roomJID, apply = true) => new Promise((resolve, reject) => {
|
|
49
|
+
pending.set(queryId, {
|
|
50
|
+
roomJID,
|
|
51
|
+
apply,
|
|
52
|
+
messages: [],
|
|
53
|
+
reactions: [],
|
|
54
|
+
inflight: 0,
|
|
55
|
+
closed: null,
|
|
56
|
+
resolve,
|
|
57
|
+
reject
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Give up waiting (timeout). Whatever arrived is still applied — a late
|
|
63
|
+
* page is better than a lost one — and handed back.
|
|
64
|
+
*/
|
|
65
|
+
exports.beginMamQuery = beginMamQuery;
|
|
66
|
+
const cancelMamQuery = queryId => {
|
|
67
|
+
const query = pending.get(queryId);
|
|
68
|
+
if (!query) {
|
|
69
|
+
return [];
|
|
70
|
+
}
|
|
71
|
+
pending.delete(queryId);
|
|
72
|
+
flush(query);
|
|
73
|
+
query.resolve(query.messages);
|
|
74
|
+
return query.messages;
|
|
75
|
+
};
|
|
76
|
+
exports.cancelMamQuery = cancelMamQuery;
|
|
77
|
+
const bareLower = jid => String(jid || '').split('/')[0].toLowerCase();
|
|
78
|
+
|
|
79
|
+
// By the echoed `queryid` when the server provides one; otherwise by the
|
|
80
|
+
// room the result came from — the oldest still-open query for that room.
|
|
81
|
+
// (Results are per room anyway: a query only ever asks one archive.)
|
|
82
|
+
const queryOf = stanza => {
|
|
83
|
+
const queryId = stanza?.getChild?.('result')?.attrs?.queryid;
|
|
84
|
+
const byId = queryId ? pending.get(queryId) : undefined;
|
|
85
|
+
if (byId) {
|
|
86
|
+
return byId;
|
|
87
|
+
}
|
|
88
|
+
const room = bareLower(stanza?.attrs?.from);
|
|
89
|
+
if (!room) {
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
for (const query of pending.values()) {
|
|
93
|
+
if (!query.closed && bareLower(query.roomJID) === room) {
|
|
94
|
+
return query;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return undefined;
|
|
98
|
+
};
|
|
99
|
+
const settle = (queryId, query) => {
|
|
100
|
+
if (pending.get(queryId) === query) {
|
|
101
|
+
pending.delete(queryId);
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
flush(query);
|
|
105
|
+
} finally {
|
|
106
|
+
// The waiting request is always answered, whatever happened above.
|
|
107
|
+
if (query.closed?.error) {
|
|
108
|
+
query.reject(new Error('mam query error'));
|
|
109
|
+
} else {
|
|
110
|
+
query.resolve(query.messages);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const settleIfDone = query => {
|
|
115
|
+
if (!query.closed || query.inflight > 0) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const entry = [...pending.entries()].find(([, q]) => q === query);
|
|
119
|
+
settle(entry ? entry[0] : '', query);
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Claim a result for its pending query — synchronously, the moment the
|
|
124
|
+
* stanza arrives — so the router knows a parse is outstanding. Returns
|
|
125
|
+
* true when a pending query owns it (the caller must then always follow
|
|
126
|
+
* up with `collectMamMessage`, even when the parse yields nothing).
|
|
127
|
+
*/
|
|
128
|
+
const claimMamResult = stanza => {
|
|
129
|
+
const query = queryOf(stanza);
|
|
130
|
+
if (!query) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
query.inflight += 1;
|
|
134
|
+
return true;
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
/** The parsed result of a claimed stanza (undefined: dropped). */
|
|
138
|
+
exports.claimMamResult = claimMamResult;
|
|
139
|
+
const collectMamReaction = (stanza, reaction) => {
|
|
140
|
+
const query = queryOf(stanza);
|
|
141
|
+
if (!query) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
query.reactions.push(reaction);
|
|
145
|
+
return true;
|
|
146
|
+
};
|
|
147
|
+
exports.collectMamReaction = collectMamReaction;
|
|
148
|
+
const collectMamMessage = (stanza, message) => {
|
|
149
|
+
const query = queryOf(stanza);
|
|
150
|
+
if (!query) {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
if (message) {
|
|
154
|
+
query.messages.push(message);
|
|
155
|
+
}
|
|
156
|
+
query.inflight = Math.max(0, query.inflight - 1);
|
|
157
|
+
settleIfDone(query);
|
|
158
|
+
return true;
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
/** The query's closing iq; true when it belonged to a pending query. */
|
|
162
|
+
exports.collectMamMessage = collectMamMessage;
|
|
163
|
+
const routeMamIq = stanza => {
|
|
164
|
+
if (!stanza?.is?.('iq')) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
const query = pending.get(stanza.attrs?.id);
|
|
168
|
+
if (!query) {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
query.closed = {
|
|
172
|
+
error: stanza.attrs.type === 'error'
|
|
173
|
+
};
|
|
174
|
+
// Results that are still being parsed settle the page when they land;
|
|
175
|
+
// until then the query stays registered so they can find it.
|
|
176
|
+
if (query.inflight === 0) {
|
|
177
|
+
settle(stanza.attrs.id, query);
|
|
178
|
+
}
|
|
179
|
+
return true;
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
/** Test hook. */
|
|
183
|
+
exports.routeMamIq = routeMamIq;
|
|
184
|
+
const __resetMamRouter = () => pending.clear();
|
|
185
|
+
exports.__resetMamRouter = __resetMamRouter;
|
|
186
|
+
//# sourceMappingURL=mamRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_roomStore","require","_roomsSlice","_mamReactions","pending","Map","flush","query","deferred","applyMamReactions","messages","reactions","e","console","warn","apply","length","store","dispatch","addRoomMessages","roomJID","reaction","setReactions","messageId","from","emoji","data","latestReactionTimestamp","ts","beginMamQuery","queryId","Promise","resolve","reject","set","inflight","closed","exports","cancelMamQuery","get","delete","bareLower","jid","String","split","toLowerCase","queryOf","stanza","getChild","attrs","queryid","byId","undefined","room","values","settle","error","Error","settleIfDone","entry","entries","find","q","claimMamResult","collectMamReaction","push","collectMamMessage","message","Math","max","routeMamIq","is","id","type","__resetMamRouter","clear"],"sourceRoot":"../../../../src","sources":["networking/xmpp/mamRouter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,12 +3,43 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.presenceInRoom = void 0;
|
|
6
|
+
exports.presenceInRoom = exports.__forgetJoinedRooms = void 0;
|
|
7
7
|
var _client = require("@xmpp/client");
|
|
8
8
|
var _createTimeoutPromise = require("./createTimeoutPromise.xmpp");
|
|
9
9
|
let presenceIdCounter = 0;
|
|
10
10
|
const nextPresenceId = () => `presenceInRoom-${Date.now().toString(36)}-${(++presenceIdCounter).toString(36)}`;
|
|
11
|
-
const
|
|
11
|
+
const joinedByClient = new WeakMap();
|
|
12
|
+
const joinedRooms = client => {
|
|
13
|
+
let map = joinedByClient.get(client);
|
|
14
|
+
if (!map) {
|
|
15
|
+
map = new Map();
|
|
16
|
+
joinedByClient.set(client, map);
|
|
17
|
+
const forget = () => joinedByClient.get(client)?.clear();
|
|
18
|
+
client.on('disconnect', forget);
|
|
19
|
+
client.on('offline', forget);
|
|
20
|
+
}
|
|
21
|
+
return map;
|
|
22
|
+
};
|
|
23
|
+
const __forgetJoinedRooms = client => joinedByClient.get(client)?.clear();
|
|
24
|
+
exports.__forgetJoinedRooms = __forgetJoinedRooms;
|
|
25
|
+
const presenceInRoom = (client, roomJID, delay = 0) => {
|
|
26
|
+
const joined = joinedRooms(client);
|
|
27
|
+
const existing = joined.get(roomJID);
|
|
28
|
+
if (existing) {
|
|
29
|
+
return existing;
|
|
30
|
+
}
|
|
31
|
+
const join = joinRoom(client, roomJID, delay);
|
|
32
|
+
joined.set(roomJID, join);
|
|
33
|
+
// A failed join is not a join: let the next caller try again.
|
|
34
|
+
join.catch(() => {
|
|
35
|
+
if (joined.get(roomJID) === join) {
|
|
36
|
+
joined.delete(roomJID);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
return join;
|
|
40
|
+
};
|
|
41
|
+
exports.presenceInRoom = presenceInRoom;
|
|
42
|
+
const joinRoom = async (client, roomJID, delay) => {
|
|
12
43
|
let stanzaHandler;
|
|
13
44
|
const unsubscribe = () => client.off('stanza', stanzaHandler);
|
|
14
45
|
const stanzaId = nextPresenceId();
|
|
@@ -25,6 +56,11 @@ const presenceInRoom = async (client, roomJID, delay = 2000) => {
|
|
|
25
56
|
return;
|
|
26
57
|
}
|
|
27
58
|
settled = true;
|
|
59
|
+
if (delay <= 0) {
|
|
60
|
+
unsubscribe();
|
|
61
|
+
cb(value);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
28
64
|
setTimeout(() => {
|
|
29
65
|
unsubscribe();
|
|
30
66
|
cb(value);
|
|
@@ -42,7 +78,9 @@ const presenceInRoom = async (client, roomJID, delay = 2000) => {
|
|
|
42
78
|
id: stanzaId
|
|
43
79
|
}, (0, _client.xml)('x', {
|
|
44
80
|
xmlns: 'http://jabber.org/protocol/muc'
|
|
45
|
-
})
|
|
81
|
+
}, (0, _client.xml)('history', {
|
|
82
|
+
maxstanzas: '0'
|
|
83
|
+
})));
|
|
46
84
|
|
|
47
85
|
// Side-effects sequence: send the presence (handles its own
|
|
48
86
|
// failure → reject), then wait the timeout (also handles its own
|
|
@@ -71,5 +109,4 @@ const presenceInRoom = async (client, roomJID, delay = 2000) => {
|
|
|
71
109
|
})();
|
|
72
110
|
});
|
|
73
111
|
};
|
|
74
|
-
exports.presenceInRoom = presenceInRoom;
|
|
75
112
|
//# sourceMappingURL=presenceInRoom.xmpp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_client","require","_createTimeoutPromise","presenceIdCounter","nextPresenceId","Date","now","toString","
|
|
1
|
+
{"version":3,"names":["_client","require","_createTimeoutPromise","presenceIdCounter","nextPresenceId","Date","now","toString","joinedByClient","WeakMap","joinedRooms","client","map","get","Map","set","forget","clear","on","__forgetJoinedRooms","exports","presenceInRoom","roomJID","delay","joined","existing","join","joinRoom","catch","delete","stanzaHandler","unsubscribe","off","stanzaId","Promise","resolve","reject","settled","finish","cb","value","setTimeout","stanza","is","attrs","id","from","startsWith","presence","xml","jid","to","getLocal","xmlns","maxstanzas","send","err","createTimeoutPromise"],"sourceRoot":"../../../../src","sources":["networking/xmpp/presenceInRoom.xmpp.ts"],"mappings":"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","ignoreList":[]}
|