@ethora/chat-component-rn 26.9.0 → 26.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/README.md +19 -0
- package/lib/commonjs/assets/icons.js +2 -2
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/Header/HeaderRoomList.js +22 -6
- package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/commonjs/components/InputComponents/Search.js +38 -1
- package/lib/commonjs/components/InputComponents/Search.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ArchivedMessageCard.js +166 -0
- package/lib/commonjs/components/MainComponents/ArchivedMessageCard.js.map +1 -0
- package/lib/commonjs/components/MainComponents/ChatHeader.js +22 -5
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +56 -25
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +53 -4
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +18 -3
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +739 -42
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageSearchButton.js +58 -0
- package/lib/commonjs/components/MainComponents/MessageSearchButton.js.map +1 -0
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js +15 -6
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomList.js +110 -1
- package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +14 -3
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/BubbleHighlight.js +112 -0
- package/lib/commonjs/components/MessageBubble/BubbleHighlight.js.map +1 -0
- package/lib/commonjs/components/MessageBubble/Message.js +169 -125
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +98 -78
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/messageMenuLayout.js +50 -0
- package/lib/commonjs/components/MessageBubble/messageMenuLayout.js.map +1 -0
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +73 -37
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/MessageSearchModal/MessageHitResults.js +253 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/MessageHitResults.js.map +1 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/MessageSearchModal.js +488 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/MessageSearchModal.js.map +1 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/openHit.js +51 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/openHit.js.map +1 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/resolveSender.js +47 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/resolveSender.js.map +1 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/searchFilters.js +83 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/searchFilters.js.map +1 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/snippet.js +61 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/snippet.js.map +1 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/useMessageSearch.js +136 -0
- package/lib/commonjs/components/Modals/MessageSearchModal/useMessageSearch.js.map +1 -0
- package/lib/commonjs/components/Modals/PublicChatsModal/PublicChatsModal.js +306 -0
- package/lib/commonjs/components/Modals/PublicChatsModal/PublicChatsModal.js.map +1 -0
- package/lib/commonjs/components/Modals/PublicChatsModal/publicChatsLogic.js +36 -0
- package/lib/commonjs/components/Modals/PublicChatsModal/publicChatsLogic.js.map +1 -0
- package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +8 -1
- package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +13 -2
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/SwipeableRoomRow.js +38 -6
- package/lib/commonjs/components/RoomComponents/SwipeableRoomRow.js.map +1 -1
- package/lib/commonjs/components/Thread/ThreadHeader.js +3 -1
- package/lib/commonjs/components/Thread/ThreadHeader.js.map +1 -1
- package/lib/commonjs/components/Thread/ThreadWrapper.js +90 -10
- package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
- package/lib/commonjs/components/styled/AudioDecoderHost.js +338 -0
- package/lib/commonjs/components/styled/AudioDecoderHost.js.map +1 -0
- package/lib/commonjs/components/styled/AudioMessage.js +493 -420
- package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +31 -5
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/context/MessageNotificationContext.js +14 -4
- package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +54 -79
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/audioWaveform.js +165 -0
- package/lib/commonjs/helpers/audioWaveform.js.map +1 -0
- package/lib/commonjs/helpers/backgroundJoinSweep.js +36 -0
- package/lib/commonjs/helpers/backgroundJoinSweep.js.map +1 -0
- package/lib/commonjs/helpers/bubbleHighlight.js +44 -0
- package/lib/commonjs/helpers/bubbleHighlight.js.map +1 -0
- package/lib/commonjs/helpers/checkUniqueUsers.js +14 -12
- package/lib/commonjs/helpers/checkUniqueUsers.js.map +1 -1
- package/lib/commonjs/helpers/constants/MODAL_COMPONENTS.js +5 -1
- package/lib/commonjs/helpers/constants/MODAL_COMPONENTS.js.map +1 -1
- package/lib/commonjs/helpers/constants/MODAL_TYPES.js +3 -1
- package/lib/commonjs/helpers/constants/MODAL_TYPES.js.map +1 -1
- package/lib/commonjs/helpers/createRoomFromApi.js +40 -3
- package/lib/commonjs/helpers/createRoomFromApi.js.map +1 -1
- package/lib/commonjs/helpers/dedupeMembers.js +34 -0
- package/lib/commonjs/helpers/dedupeMembers.js.map +1 -0
- package/lib/commonjs/helpers/ethoraLogger.js +56 -0
- package/lib/commonjs/helpers/ethoraLogger.js.map +1 -0
- package/lib/commonjs/helpers/getUnnamedUsers.js +9 -4
- package/lib/commonjs/helpers/getUnnamedUsers.js.map +1 -1
- package/lib/commonjs/helpers/historyPreloadConfig.js +44 -0
- package/lib/commonjs/helpers/historyPreloadConfig.js.map +1 -0
- package/lib/commonjs/helpers/historyPreloadScheduler.js +372 -137
- package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/commonjs/helpers/initRoomsPresence.js +17 -5
- package/lib/commonjs/helpers/initRoomsPresence.js.map +1 -1
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js +5 -0
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/commonjs/helpers/isLikelyMucJid.js +67 -0
- package/lib/commonjs/helpers/isLikelyMucJid.js.map +1 -0
- package/lib/commonjs/helpers/isMessageSearchEnabled.js +18 -0
- package/lib/commonjs/helpers/isMessageSearchEnabled.js.map +1 -0
- package/lib/commonjs/helpers/joiningRoom.js +14 -0
- package/lib/commonjs/helpers/joiningRoom.js.map +1 -0
- package/lib/commonjs/helpers/jumpThread.js +100 -0
- package/lib/commonjs/helpers/jumpThread.js.map +1 -0
- package/lib/commonjs/helpers/jumpToMessage.js +58 -0
- package/lib/commonjs/helpers/jumpToMessage.js.map +1 -0
- package/lib/commonjs/helpers/jumpWindow.js +187 -0
- package/lib/commonjs/helpers/jumpWindow.js.map +1 -0
- package/lib/commonjs/helpers/loadRoomHistory.js +75 -0
- package/lib/commonjs/helpers/loadRoomHistory.js.map +1 -0
- package/lib/commonjs/helpers/notificationPolicy.js +77 -0
- package/lib/commonjs/helpers/notificationPolicy.js.map +1 -0
- package/lib/commonjs/helpers/openRoomAtMessage.js +47 -0
- package/lib/commonjs/helpers/openRoomAtMessage.js.map +1 -0
- package/lib/commonjs/helpers/openThreadForJump.js +72 -0
- package/lib/commonjs/helpers/openThreadForJump.js.map +1 -0
- package/lib/commonjs/helpers/parseMessageReference.js +27 -8
- package/lib/commonjs/helpers/parseMessageReference.js.map +1 -1
- package/lib/commonjs/helpers/publicChatsEntry.js +17 -0
- package/lib/commonjs/helpers/publicChatsEntry.js.map +1 -0
- package/lib/commonjs/helpers/roomActivityScore.js +37 -0
- package/lib/commonjs/helpers/roomActivityScore.js.map +1 -0
- package/lib/commonjs/helpers/roomUserCount.js +36 -0
- package/lib/commonjs/helpers/roomUserCount.js.map +1 -0
- package/lib/commonjs/helpers/runConfiguredHistoryPreload.js +68 -0
- package/lib/commonjs/helpers/runConfiguredHistoryPreload.js.map +1 -0
- package/lib/commonjs/helpers/sessionAppId.js +24 -0
- package/lib/commonjs/helpers/sessionAppId.js.map +1 -0
- package/lib/commonjs/helpers/timestamp.js +43 -0
- package/lib/commonjs/helpers/timestamp.js.map +1 -0
- package/lib/commonjs/helpers/userResolver.js +517 -0
- package/lib/commonjs/helpers/userResolver.js.map +1 -0
- package/lib/commonjs/helpers/xmppIdShape.js +52 -0
- package/lib/commonjs/helpers/xmppIdShape.js.map +1 -0
- package/lib/commonjs/hooks/useChatWrapperInit.js +27 -5
- package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/commonjs/hooks/useHeapSender.js +54 -3
- package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
- package/lib/commonjs/hooks/useJumpToMessage.js +411 -0
- package/lib/commonjs/hooks/useJumpToMessage.js.map +1 -0
- package/lib/commonjs/hooks/useMessageLoaderQueue.js +32 -5
- package/lib/commonjs/hooks/useMessageLoaderQueue.js.map +1 -1
- package/lib/commonjs/hooks/useMessageQueue.js +13 -5
- package/lib/commonjs/hooks/useMessageQueue.js.map +1 -1
- package/lib/commonjs/hooks/useRoomDirectory.js +29 -0
- package/lib/commonjs/hooks/useRoomDirectory.js.map +1 -0
- package/lib/commonjs/hooks/useRoomInitialization.js +27 -5
- package/lib/commonjs/hooks/useRoomInitialization.js.map +1 -1
- package/lib/commonjs/hooks/useRoomMute.js +62 -0
- package/lib/commonjs/hooks/useRoomMute.js.map +1 -0
- package/lib/commonjs/hooks/useRoomState.js +3 -1
- package/lib/commonjs/hooks/useRoomState.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +13 -3
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/i18n/strings.js +318 -6
- package/lib/commonjs/i18n/strings.js.map +1 -1
- package/lib/commonjs/networking/api-requests/messageSearch.api.js +87 -0
- package/lib/commonjs/networking/api-requests/messageSearch.api.js.map +1 -0
- package/lib/commonjs/networking/api-requests/publicChats.api.js +48 -0
- package/lib/commonjs/networking/api-requests/publicChats.api.js.map +1 -0
- package/lib/commonjs/networking/api-requests/roomMembers.api.js +253 -4
- package/lib/commonjs/networking/api-requests/roomMembers.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js +48 -12
- package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/xmppToken.api.js +71 -0
- package/lib/commonjs/networking/api-requests/xmppToken.api.js.map +1 -0
- package/lib/commonjs/networking/ethoraEvents.js +227 -0
- package/lib/commonjs/networking/ethoraEvents.js.map +1 -0
- package/lib/commonjs/networking/stanzaHandlers.js +153 -16
- package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
- package/lib/commonjs/networking/xmpp/allRoomPresences.xmpp.js +124 -3
- package/lib/commonjs/networking/xmpp/allRoomPresences.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/getHistory.xmpp.js +319 -35
- package/lib/commonjs/networking/xmpp/getHistory.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +7 -0
- package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/historyCursor.js +101 -0
- package/lib/commonjs/networking/xmpp/historyCursor.js.map +1 -0
- package/lib/commonjs/networking/xmpp/mamQueryIds.js +17 -0
- package/lib/commonjs/networking/xmpp/mamQueryIds.js.map +1 -0
- package/lib/commonjs/networking/xmpp/mamRouter.js +24 -9
- package/lib/commonjs/networking/xmpp/mamRouter.js.map +1 -1
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +70 -65
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/roomJoinSweep.js +389 -0
- package/lib/commonjs/networking/xmpp/roomJoinSweep.js.map +1 -0
- package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js +0 -1
- package/lib/commonjs/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +0 -1
- package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js +0 -1
- package/lib/commonjs/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +269 -41
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/networking/xmppCredentials.js +80 -0
- package/lib/commonjs/networking/xmppCredentials.js.map +1 -0
- package/lib/commonjs/roomStore/Middleware/jumpThreadMiddleware.js +158 -0
- package/lib/commonjs/roomStore/Middleware/jumpThreadMiddleware.js.map +1 -0
- package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js +6 -0
- package/lib/commonjs/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +45 -7
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/commonjs/roomStore/chatSettingsSlice.js +15 -1
- package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/commonjs/roomStore/index.js +13 -3
- package/lib/commonjs/roomStore/index.js.map +1 -1
- package/lib/commonjs/roomStore/persistence.js +48 -1
- package/lib/commonjs/roomStore/persistence.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +474 -60
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/commonjs/roomStore/safeKey.js +44 -0
- package/lib/commonjs/roomStore/safeKey.js.map +1 -0
- package/lib/commonjs/roomStore/usersSetCap.js +37 -0
- package/lib/commonjs/roomStore/usersSetCap.js.map +1 -0
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/assets/icons.js +1 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/Header/HeaderRoomList.js +23 -7
- package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/module/components/InputComponents/Search.js +39 -2
- package/lib/module/components/InputComponents/Search.js.map +1 -1
- package/lib/module/components/MainComponents/ArchivedMessageCard.js +161 -0
- package/lib/module/components/MainComponents/ArchivedMessageCard.js.map +1 -0
- package/lib/module/components/MainComponents/ChatHeader.js +22 -5
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +57 -26
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +54 -5
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +18 -3
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +740 -42
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/MainComponents/MessageSearchButton.js +48 -0
- package/lib/module/components/MainComponents/MessageSearchButton.js.map +1 -0
- package/lib/module/components/MainComponents/ReduxWrapper.js +15 -7
- package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/RoomList.js +111 -2
- package/lib/module/components/MainComponents/RoomList.js.map +1 -1
- package/lib/module/components/Menu/HeaderRoomListMenu.js +15 -4
- package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/module/components/MessageBubble/BubbleHighlight.js +106 -0
- package/lib/module/components/MessageBubble/BubbleHighlight.js.map +1 -0
- package/lib/module/components/MessageBubble/Message.js +172 -127
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +98 -78
- package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/module/components/MessageBubble/messageMenuLayout.js +45 -0
- package/lib/module/components/MessageBubble/messageMenuLayout.js.map +1 -0
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +74 -38
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/MessageSearchModal/MessageHitResults.js +243 -0
- package/lib/module/components/Modals/MessageSearchModal/MessageHitResults.js.map +1 -0
- package/lib/module/components/Modals/MessageSearchModal/MessageSearchModal.js +482 -0
- package/lib/module/components/Modals/MessageSearchModal/MessageSearchModal.js.map +1 -0
- package/lib/module/components/Modals/MessageSearchModal/openHit.js +45 -0
- package/lib/module/components/Modals/MessageSearchModal/openHit.js.map +1 -0
- package/lib/module/components/Modals/MessageSearchModal/resolveSender.js +41 -0
- package/lib/module/components/Modals/MessageSearchModal/resolveSender.js.map +1 -0
- package/lib/module/components/Modals/MessageSearchModal/searchFilters.js +74 -0
- package/lib/module/components/Modals/MessageSearchModal/searchFilters.js.map +1 -0
- package/lib/module/components/Modals/MessageSearchModal/snippet.js +57 -0
- package/lib/module/components/Modals/MessageSearchModal/snippet.js.map +1 -0
- package/lib/module/components/Modals/MessageSearchModal/useMessageSearch.js +131 -0
- package/lib/module/components/Modals/MessageSearchModal/useMessageSearch.js.map +1 -0
- package/lib/module/components/Modals/PublicChatsModal/PublicChatsModal.js +300 -0
- package/lib/module/components/Modals/PublicChatsModal/PublicChatsModal.js.map +1 -0
- package/lib/module/components/Modals/PublicChatsModal/publicChatsLogic.js +30 -0
- package/lib/module/components/Modals/PublicChatsModal/publicChatsLogic.js.map +1 -0
- package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +8 -1
- package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
- package/lib/module/components/RoomComponents/ChatRoomItem.js +14 -3
- package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/module/components/RoomComponents/SwipeableRoomRow.js +39 -7
- package/lib/module/components/RoomComponents/SwipeableRoomRow.js.map +1 -1
- package/lib/module/components/Thread/ThreadHeader.js +3 -1
- package/lib/module/components/Thread/ThreadHeader.js.map +1 -1
- package/lib/module/components/Thread/ThreadWrapper.js +89 -9
- package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
- package/lib/module/components/styled/AudioDecoderHost.js +332 -0
- package/lib/module/components/styled/AudioDecoderHost.js.map +1 -0
- package/lib/module/components/styled/AudioMessage.js +495 -422
- package/lib/module/components/styled/AudioMessage.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +32 -6
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/context/MessageNotificationContext.js +15 -5
- package/lib/module/context/MessageNotificationContext.js.map +1 -1
- package/lib/module/context/xmppProvider.js +54 -79
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/audioWaveform.js +153 -0
- package/lib/module/helpers/audioWaveform.js.map +1 -0
- package/lib/module/helpers/backgroundJoinSweep.js +30 -0
- package/lib/module/helpers/backgroundJoinSweep.js.map +1 -0
- package/lib/module/helpers/bubbleHighlight.js +38 -0
- package/lib/module/helpers/bubbleHighlight.js.map +1 -0
- package/lib/module/helpers/checkUniqueUsers.js +15 -13
- package/lib/module/helpers/checkUniqueUsers.js.map +1 -1
- package/lib/module/helpers/constants/MODAL_COMPONENTS.js +5 -1
- package/lib/module/helpers/constants/MODAL_COMPONENTS.js.map +1 -1
- package/lib/module/helpers/constants/MODAL_TYPES.js +3 -1
- package/lib/module/helpers/constants/MODAL_TYPES.js.map +1 -1
- package/lib/module/helpers/createRoomFromApi.js +37 -3
- package/lib/module/helpers/createRoomFromApi.js.map +1 -1
- package/lib/module/helpers/dedupeMembers.js +28 -0
- package/lib/module/helpers/dedupeMembers.js.map +1 -0
- package/lib/module/helpers/ethoraLogger.js +52 -0
- package/lib/module/helpers/ethoraLogger.js.map +1 -0
- package/lib/module/helpers/getUnnamedUsers.js +9 -4
- package/lib/module/helpers/getUnnamedUsers.js.map +1 -1
- package/lib/module/helpers/historyPreloadConfig.js +39 -0
- package/lib/module/helpers/historyPreloadConfig.js.map +1 -0
- package/lib/module/helpers/historyPreloadScheduler.js +368 -134
- package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/module/helpers/initRoomsPresence.js +18 -5
- package/lib/module/helpers/initRoomsPresence.js.map +1 -1
- package/lib/module/helpers/insertMessageWithDelimiter.js +5 -0
- package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/module/helpers/isLikelyMucJid.js +60 -0
- package/lib/module/helpers/isLikelyMucJid.js.map +1 -0
- package/lib/module/helpers/isMessageSearchEnabled.js +13 -0
- package/lib/module/helpers/isMessageSearchEnabled.js.map +1 -0
- package/lib/module/helpers/joiningRoom.js +9 -0
- package/lib/module/helpers/joiningRoom.js.map +1 -0
- package/lib/module/helpers/jumpThread.js +83 -0
- package/lib/module/helpers/jumpThread.js.map +1 -0
- package/lib/module/helpers/jumpToMessage.js +52 -0
- package/lib/module/helpers/jumpToMessage.js.map +1 -0
- package/lib/module/helpers/jumpWindow.js +177 -0
- package/lib/module/helpers/jumpWindow.js.map +1 -0
- package/lib/module/helpers/loadRoomHistory.js +69 -0
- package/lib/module/helpers/loadRoomHistory.js.map +1 -0
- package/lib/module/helpers/notificationPolicy.js +70 -0
- package/lib/module/helpers/notificationPolicy.js.map +1 -0
- package/lib/module/helpers/openRoomAtMessage.js +41 -0
- package/lib/module/helpers/openRoomAtMessage.js.map +1 -0
- package/lib/module/helpers/openThreadForJump.js +68 -0
- package/lib/module/helpers/openThreadForJump.js.map +1 -0
- package/lib/module/helpers/parseMessageReference.js +26 -6
- package/lib/module/helpers/parseMessageReference.js.map +1 -1
- package/lib/module/helpers/publicChatsEntry.js +12 -0
- package/lib/module/helpers/publicChatsEntry.js.map +1 -0
- package/lib/module/helpers/roomActivityScore.js +30 -0
- package/lib/module/helpers/roomActivityScore.js.map +1 -0
- package/lib/module/helpers/roomUserCount.js +29 -0
- package/lib/module/helpers/roomUserCount.js.map +1 -0
- package/lib/module/helpers/runConfiguredHistoryPreload.js +63 -0
- package/lib/module/helpers/runConfiguredHistoryPreload.js.map +1 -0
- package/lib/module/helpers/sessionAppId.js +20 -0
- package/lib/module/helpers/sessionAppId.js.map +1 -0
- package/lib/module/helpers/timestamp.js +37 -0
- package/lib/module/helpers/timestamp.js.map +1 -0
- package/lib/module/helpers/userResolver.js +503 -0
- package/lib/module/helpers/userResolver.js.map +1 -0
- package/lib/module/helpers/xmppIdShape.js +46 -0
- package/lib/module/helpers/xmppIdShape.js.map +1 -0
- package/lib/module/hooks/useChatWrapperInit.js +16 -5
- package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/module/hooks/useHeapSender.js +54 -3
- package/lib/module/hooks/useHeapSender.js.map +1 -1
- package/lib/module/hooks/useJumpToMessage.js +389 -0
- package/lib/module/hooks/useJumpToMessage.js.map +1 -0
- package/lib/module/hooks/useMessageLoaderQueue.js +32 -5
- package/lib/module/hooks/useMessageLoaderQueue.js.map +1 -1
- package/lib/module/hooks/useMessageQueue.js +13 -5
- package/lib/module/hooks/useMessageQueue.js.map +1 -1
- package/lib/module/hooks/useRoomDirectory.js +24 -0
- package/lib/module/hooks/useRoomDirectory.js.map +1 -0
- package/lib/module/hooks/useRoomInitialization.js +29 -7
- package/lib/module/hooks/useRoomInitialization.js.map +1 -1
- package/lib/module/hooks/useRoomMute.js +58 -0
- package/lib/module/hooks/useRoomMute.js.map +1 -0
- package/lib/module/hooks/useRoomState.js +3 -1
- package/lib/module/hooks/useRoomState.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +13 -3
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/i18n/strings.js +318 -6
- package/lib/module/i18n/strings.js.map +1 -1
- package/lib/module/networking/api-requests/messageSearch.api.js +81 -0
- package/lib/module/networking/api-requests/messageSearch.api.js.map +1 -0
- package/lib/module/networking/api-requests/publicChats.api.js +43 -0
- package/lib/module/networking/api-requests/publicChats.api.js.map +1 -0
- package/lib/module/networking/api-requests/roomMembers.api.js +248 -4
- package/lib/module/networking/api-requests/roomMembers.api.js.map +1 -1
- package/lib/module/networking/api-requests/rooms.api.js +48 -12
- package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/module/networking/api-requests/xmppToken.api.js +66 -0
- package/lib/module/networking/api-requests/xmppToken.api.js.map +1 -0
- package/lib/module/networking/ethoraEvents.js +220 -0
- package/lib/module/networking/ethoraEvents.js.map +1 -0
- package/lib/module/networking/stanzaHandlers.js +155 -18
- package/lib/module/networking/stanzaHandlers.js.map +1 -1
- package/lib/module/networking/xmpp/allRoomPresences.xmpp.js +125 -3
- package/lib/module/networking/xmpp/allRoomPresences.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/getHistory.xmpp.js +318 -35
- package/lib/module/networking/xmpp/getHistory.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/handleStanzas.xmpp.js +7 -0
- package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/historyCursor.js +95 -0
- package/lib/module/networking/xmpp/historyCursor.js.map +1 -0
- package/lib/module/networking/xmpp/mamQueryIds.js +12 -0
- package/lib/module/networking/xmpp/mamQueryIds.js.map +1 -0
- package/lib/module/networking/xmpp/mamRouter.js +22 -8
- package/lib/module/networking/xmpp/mamRouter.js.map +1 -1
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +68 -62
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/roomJoinSweep.js +385 -0
- package/lib/module/networking/xmpp/roomJoinSweep.js.map +1 -0
- package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js +0 -1
- package/lib/module/networking/xmpp/sendMediaMessage.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +0 -1
- package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js +0 -1
- package/lib/module/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js.map +1 -1
- package/lib/module/networking/xmppClient.js +269 -41
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/networking/xmppCredentials.js +76 -0
- package/lib/module/networking/xmppCredentials.js.map +1 -0
- package/lib/module/roomStore/Middleware/jumpThreadMiddleware.js +153 -0
- package/lib/module/roomStore/Middleware/jumpThreadMiddleware.js.map +1 -0
- package/lib/module/roomStore/Middleware/reactionsMiddleware.js +6 -0
- package/lib/module/roomStore/Middleware/reactionsMiddleware.js.map +1 -1
- package/lib/module/roomStore/Middleware/unreadMidlleware.js +46 -7
- package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/module/roomStore/chatSettingsSlice.js +13 -0
- package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/module/roomStore/index.js +7 -3
- package/lib/module/roomStore/index.js.map +1 -1
- package/lib/module/roomStore/persistence.js +46 -1
- package/lib/module/roomStore/persistence.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +459 -58
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/roomStore/safeKey.js +37 -0
- package/lib/module/roomStore/safeKey.js.map +1 -0
- package/lib/module/roomStore/usersSetCap.js +32 -0
- package/lib/module/roomStore/usersSetCap.js.map +1 -0
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/assets/icons.d.ts +4 -0
- package/lib/typescript/assets/icons.d.ts.map +1 -1
- package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
- package/lib/typescript/components/InputComponents/Search.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ArchivedMessageCard.d.ts +12 -0
- package/lib/typescript/components/MainComponents/ArchivedMessageCard.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/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts +22 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageSearchButton.d.ts +7 -0
- package/lib/typescript/components/MainComponents/MessageSearchButton.d.ts.map +1 -0
- package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
- package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/BubbleHighlight.d.ts +12 -0
- package/lib/typescript/components/MessageBubble/BubbleHighlight.d.ts.map +1 -0
- package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +5 -0
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/messageMenuLayout.d.ts +29 -0
- package/lib/typescript/components/MessageBubble/messageMenuLayout.d.ts.map +1 -0
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +2 -0
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/MessageSearchModal/MessageHitResults.d.ts +44 -0
- package/lib/typescript/components/Modals/MessageSearchModal/MessageHitResults.d.ts.map +1 -0
- package/lib/typescript/components/Modals/MessageSearchModal/MessageSearchModal.d.ts +12 -0
- package/lib/typescript/components/Modals/MessageSearchModal/MessageSearchModal.d.ts.map +1 -0
- package/lib/typescript/components/Modals/MessageSearchModal/openHit.d.ts +15 -0
- package/lib/typescript/components/Modals/MessageSearchModal/openHit.d.ts.map +1 -0
- package/lib/typescript/components/Modals/MessageSearchModal/resolveSender.d.ts +34 -0
- package/lib/typescript/components/Modals/MessageSearchModal/resolveSender.d.ts.map +1 -0
- package/lib/typescript/components/Modals/MessageSearchModal/searchFilters.d.ts +41 -0
- package/lib/typescript/components/Modals/MessageSearchModal/searchFilters.d.ts.map +1 -0
- package/lib/typescript/components/Modals/MessageSearchModal/snippet.d.ts +15 -0
- package/lib/typescript/components/Modals/MessageSearchModal/snippet.d.ts.map +1 -0
- package/lib/typescript/components/Modals/MessageSearchModal/useMessageSearch.d.ts +23 -0
- package/lib/typescript/components/Modals/MessageSearchModal/useMessageSearch.d.ts.map +1 -0
- package/lib/typescript/components/Modals/PublicChatsModal/PublicChatsModal.d.ts +16 -0
- package/lib/typescript/components/Modals/PublicChatsModal/PublicChatsModal.d.ts.map +1 -0
- package/lib/typescript/components/Modals/PublicChatsModal/publicChatsLogic.d.ts +14 -0
- package/lib/typescript/components/Modals/PublicChatsModal/publicChatsLogic.d.ts.map +1 -0
- package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/SwipeableRoomRow.d.ts +5 -1
- package/lib/typescript/components/RoomComponents/SwipeableRoomRow.d.ts.map +1 -1
- package/lib/typescript/components/Thread/ThreadHeader.d.ts.map +1 -1
- package/lib/typescript/components/Thread/ThreadWrapper.d.ts +1 -0
- package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
- package/lib/typescript/components/styled/AudioDecoderHost.d.ts +39 -0
- package/lib/typescript/components/styled/AudioDecoderHost.d.ts.map +1 -0
- package/lib/typescript/components/styled/AudioMessage.d.ts +14 -1
- package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
- package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
- package/lib/typescript/context/MessageNotificationContext.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts +2 -0
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/audioWaveform.d.ts +54 -0
- package/lib/typescript/helpers/audioWaveform.d.ts.map +1 -0
- package/lib/typescript/helpers/backgroundJoinSweep.d.ts +14 -0
- package/lib/typescript/helpers/backgroundJoinSweep.d.ts.map +1 -0
- package/lib/typescript/helpers/bubbleHighlight.d.ts +17 -0
- package/lib/typescript/helpers/bubbleHighlight.d.ts.map +1 -0
- package/lib/typescript/helpers/checkUniqueUsers.d.ts +2 -2
- package/lib/typescript/helpers/checkUniqueUsers.d.ts.map +1 -1
- package/lib/typescript/helpers/constants/MODAL_COMPONENTS.d.ts.map +1 -1
- package/lib/typescript/helpers/constants/MODAL_TYPES.d.ts +2 -0
- package/lib/typescript/helpers/constants/MODAL_TYPES.d.ts.map +1 -1
- package/lib/typescript/helpers/createRoomFromApi.d.ts +25 -0
- package/lib/typescript/helpers/createRoomFromApi.d.ts.map +1 -1
- package/lib/typescript/helpers/dedupeMembers.d.ts +11 -0
- package/lib/typescript/helpers/dedupeMembers.d.ts.map +1 -0
- package/lib/typescript/helpers/ethoraLogger.d.ts +13 -0
- package/lib/typescript/helpers/ethoraLogger.d.ts.map +1 -0
- package/lib/typescript/helpers/getUnnamedUsers.d.ts.map +1 -1
- package/lib/typescript/helpers/historyPreloadConfig.d.ts +26 -0
- package/lib/typescript/helpers/historyPreloadConfig.d.ts.map +1 -0
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts +8 -4
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
- package/lib/typescript/helpers/initRoomsPresence.d.ts +7 -0
- package/lib/typescript/helpers/initRoomsPresence.d.ts.map +1 -1
- package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
- package/lib/typescript/helpers/isLikelyMucJid.d.ts +19 -0
- package/lib/typescript/helpers/isLikelyMucJid.d.ts.map +1 -0
- package/lib/typescript/helpers/isMessageSearchEnabled.d.ts +12 -0
- package/lib/typescript/helpers/isMessageSearchEnabled.d.ts.map +1 -0
- package/lib/typescript/helpers/joiningRoom.d.ts +7 -0
- package/lib/typescript/helpers/joiningRoom.d.ts.map +1 -0
- package/lib/typescript/helpers/jumpThread.d.ts +48 -0
- package/lib/typescript/helpers/jumpThread.d.ts.map +1 -0
- package/lib/typescript/helpers/jumpToMessage.d.ts +26 -0
- package/lib/typescript/helpers/jumpToMessage.d.ts.map +1 -0
- package/lib/typescript/helpers/jumpWindow.d.ts +74 -0
- package/lib/typescript/helpers/jumpWindow.d.ts.map +1 -0
- package/lib/typescript/helpers/loadRoomHistory.d.ts +34 -0
- package/lib/typescript/helpers/loadRoomHistory.d.ts.map +1 -0
- package/lib/typescript/helpers/notificationPolicy.d.ts +42 -0
- package/lib/typescript/helpers/notificationPolicy.d.ts.map +1 -0
- package/lib/typescript/helpers/openRoomAtMessage.d.ts +17 -0
- package/lib/typescript/helpers/openRoomAtMessage.d.ts.map +1 -0
- package/lib/typescript/helpers/openThreadForJump.d.ts +27 -0
- package/lib/typescript/helpers/openThreadForJump.d.ts.map +1 -0
- package/lib/typescript/helpers/parseMessageReference.d.ts +18 -5
- package/lib/typescript/helpers/parseMessageReference.d.ts.map +1 -1
- package/lib/typescript/helpers/publicChatsEntry.d.ts +11 -0
- package/lib/typescript/helpers/publicChatsEntry.d.ts.map +1 -0
- package/lib/typescript/helpers/roomActivityScore.d.ts +5 -0
- package/lib/typescript/helpers/roomActivityScore.d.ts.map +1 -0
- package/lib/typescript/helpers/roomUserCount.d.ts +20 -0
- package/lib/typescript/helpers/roomUserCount.d.ts.map +1 -0
- package/lib/typescript/helpers/runConfiguredHistoryPreload.d.ts +21 -0
- package/lib/typescript/helpers/runConfiguredHistoryPreload.d.ts.map +1 -0
- package/lib/typescript/helpers/sessionAppId.d.ts +8 -0
- package/lib/typescript/helpers/sessionAppId.d.ts.map +1 -0
- package/lib/typescript/helpers/timestamp.d.ts +3 -0
- package/lib/typescript/helpers/timestamp.d.ts.map +1 -0
- package/lib/typescript/helpers/userResolver.d.ts +58 -0
- package/lib/typescript/helpers/userResolver.d.ts.map +1 -0
- package/lib/typescript/helpers/xmppIdShape.d.ts +10 -0
- package/lib/typescript/helpers/xmppIdShape.d.ts.map +1 -0
- package/lib/typescript/hooks/useChatWrapperInit.d.ts +2 -0
- package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
- package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
- package/lib/typescript/hooks/useJumpToMessage.d.ts +116 -0
- package/lib/typescript/hooks/useJumpToMessage.d.ts.map +1 -0
- package/lib/typescript/hooks/useMessageLoaderQueue.d.ts.map +1 -1
- package/lib/typescript/hooks/useMessageQueue.d.ts.map +1 -1
- package/lib/typescript/hooks/useRoomDirectory.d.ts +12 -0
- package/lib/typescript/hooks/useRoomDirectory.d.ts.map +1 -0
- package/lib/typescript/hooks/useRoomInitialization.d.ts.map +1 -1
- package/lib/typescript/hooks/useRoomMute.d.ts +8 -0
- package/lib/typescript/hooks/useRoomMute.d.ts.map +1 -0
- package/lib/typescript/hooks/useRoomState.d.ts +1 -0
- package/lib/typescript/hooks/useRoomState.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/i18n/strings.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/messageSearch.api.d.ts +57 -0
- package/lib/typescript/networking/api-requests/messageSearch.api.d.ts.map +1 -0
- package/lib/typescript/networking/api-requests/publicChats.api.d.ts +24 -0
- package/lib/typescript/networking/api-requests/publicChats.api.d.ts.map +1 -0
- package/lib/typescript/networking/api-requests/roomMembers.api.d.ts +19 -1
- package/lib/typescript/networking/api-requests/roomMembers.api.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/xmppToken.api.d.ts +2 -0
- package/lib/typescript/networking/api-requests/xmppToken.api.d.ts.map +1 -0
- package/lib/typescript/networking/ethoraEvents.d.ts +45 -0
- package/lib/typescript/networking/ethoraEvents.d.ts.map +1 -0
- package/lib/typescript/networking/stanzaHandlers.d.ts +1 -1
- package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/allRoomPresences.xmpp.d.ts +32 -1
- package/lib/typescript/networking/xmpp/allRoomPresences.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/getHistory.xmpp.d.ts +64 -0
- 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/historyCursor.d.ts +35 -0
- package/lib/typescript/networking/xmpp/historyCursor.d.ts.map +1 -0
- package/lib/typescript/networking/xmpp/mamQueryIds.d.ts +10 -0
- package/lib/typescript/networking/xmpp/mamQueryIds.d.ts.map +1 -0
- package/lib/typescript/networking/xmpp/mamRouter.d.ts +7 -0
- package/lib/typescript/networking/xmpp/mamRouter.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts +13 -2
- package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/roomJoinSweep.d.ts +82 -0
- package/lib/typescript/networking/xmpp/roomJoinSweep.d.ts.map +1 -0
- package/lib/typescript/networking/xmpp/sendMediaMessage.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts +90 -4
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/networking/xmppCredentials.d.ts +12 -0
- package/lib/typescript/networking/xmppCredentials.d.ts.map +1 -0
- package/lib/typescript/roomStore/Middleware/jumpThreadMiddleware.d.ts +3 -0
- package/lib/typescript/roomStore/Middleware/jumpThreadMiddleware.d.ts.map +1 -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/chatSettingsSlice.d.ts +8 -1
- package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
- package/lib/typescript/roomStore/index.d.ts +2 -1
- package/lib/typescript/roomStore/index.d.ts.map +1 -1
- package/lib/typescript/roomStore/persistence.d.ts +8 -0
- package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +138 -2
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/roomStore/safeKey.d.ts +13 -0
- package/lib/typescript/roomStore/safeKey.d.ts.map +1 -0
- package/lib/typescript/roomStore/usersSetCap.d.ts +16 -0
- package/lib/typescript/roomStore/usersSetCap.d.ts.map +1 -0
- package/lib/typescript/types/models/media.model.d.ts +2 -0
- package/lib/typescript/types/models/media.model.d.ts.map +1 -1
- package/lib/typescript/types/models/room.model.d.ts +18 -5
- package/lib/typescript/types/models/room.model.d.ts.map +1 -1
- package/lib/typescript/types/models/xmpp.model.d.ts +8 -1
- package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +90 -5
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/lib/typescript/version.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/assets/icons.tsx +13 -0
- package/src/components/Header/HeaderRoomList.tsx +21 -4
- package/src/components/InputComponents/Search.tsx +33 -0
- package/src/components/MainComponents/ArchivedMessageCard.tsx +139 -0
- package/src/components/MainComponents/ChatHeader.tsx +19 -3
- package/src/components/MainComponents/ChatRoom.tsx +60 -23
- package/src/components/MainComponents/ChatWrapper.tsx +50 -9
- package/src/components/MainComponents/MediaMessage.tsx +17 -0
- package/src/components/MainComponents/MessageList.tsx +823 -84
- package/src/components/MainComponents/MessageSearchButton.tsx +48 -0
- package/src/components/MainComponents/ReduxWrapper.tsx +16 -5
- package/src/components/MainComponents/RoomList.tsx +125 -0
- package/src/components/Menu/HeaderRoomListMenu.tsx +26 -2
- package/src/components/MessageBubble/BubbleHighlight.tsx +106 -0
- package/src/components/MessageBubble/Message.tsx +265 -177
- package/src/components/MessageBubble/MessageInteractions.tsx +109 -86
- package/src/components/MessageBubble/messageMenuLayout.ts +59 -0
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +92 -21
- package/src/components/Modals/MessageSearchModal/MessageHitResults.tsx +271 -0
- package/src/components/Modals/MessageSearchModal/MessageSearchModal.tsx +487 -0
- package/src/components/Modals/MessageSearchModal/openHit.ts +50 -0
- package/src/components/Modals/MessageSearchModal/resolveSender.ts +57 -0
- package/src/components/Modals/MessageSearchModal/searchFilters.ts +109 -0
- package/src/components/Modals/MessageSearchModal/snippet.ts +58 -0
- package/src/components/Modals/MessageSearchModal/useMessageSearch.ts +151 -0
- package/src/components/Modals/PublicChatsModal/PublicChatsModal.tsx +288 -0
- package/src/components/Modals/PublicChatsModal/publicChatsLogic.ts +36 -0
- package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +8 -1
- package/src/components/RoomComponents/ChatRoomItem.tsx +16 -3
- package/src/components/RoomComponents/SwipeableRoomRow.tsx +39 -6
- package/src/components/Thread/ThreadHeader.tsx +3 -1
- package/src/components/Thread/ThreadWrapper.tsx +96 -10
- package/src/components/styled/AudioDecoderHost.tsx +351 -0
- package/src/components/styled/AudioMessage.tsx +482 -425
- package/src/components/styled/SendInput.tsx +42 -4
- package/src/context/MessageNotificationContext.tsx +19 -5
- package/src/context/xmppProvider.tsx +56 -91
- package/src/helpers/audioWaveform.ts +142 -0
- package/src/helpers/backgroundJoinSweep.ts +35 -0
- package/src/helpers/bubbleHighlight.ts +47 -0
- package/src/helpers/checkUniqueUsers.tsx +15 -17
- package/src/helpers/constants/MODAL_COMPONENTS.tsx +4 -0
- package/src/helpers/constants/MODAL_TYPES.ts +3 -0
- package/src/helpers/createRoomFromApi.tsx +45 -4
- package/src/helpers/dedupeMembers.ts +29 -0
- package/src/helpers/ethoraLogger.ts +50 -0
- package/src/helpers/getUnnamedUsers.ts +7 -4
- package/src/helpers/historyPreloadConfig.ts +68 -0
- package/src/helpers/historyPreloadScheduler.ts +437 -199
- package/src/helpers/initRoomsPresence.ts +20 -7
- package/src/helpers/insertMessageWithDelimiter.ts +3 -0
- package/src/helpers/isLikelyMucJid.ts +72 -0
- package/src/helpers/isMessageSearchEnabled.ts +18 -0
- package/src/helpers/joiningRoom.ts +13 -0
- package/src/helpers/jumpThread.ts +102 -0
- package/src/helpers/jumpToMessage.ts +57 -0
- package/src/helpers/jumpWindow.ts +212 -0
- package/src/helpers/loadRoomHistory.ts +83 -0
- package/src/helpers/notificationPolicy.ts +82 -0
- package/src/helpers/openRoomAtMessage.ts +38 -0
- package/src/helpers/openThreadForJump.ts +96 -0
- package/src/helpers/parseMessageReference.ts +37 -8
- package/src/helpers/publicChatsEntry.ts +15 -0
- package/src/helpers/roomActivityScore.ts +45 -0
- package/src/helpers/roomUserCount.ts +44 -0
- package/src/helpers/runConfiguredHistoryPreload.ts +76 -0
- package/src/helpers/sessionAppId.ts +17 -0
- package/src/helpers/timestamp.ts +44 -0
- package/src/helpers/userResolver.ts +542 -0
- package/src/helpers/xmppIdShape.ts +46 -0
- package/src/hooks/useChatWrapperInit.ts +22 -4
- package/src/hooks/useHeapSender.tsx +54 -3
- package/src/hooks/useJumpToMessage.ts +538 -0
- package/src/hooks/useMessageLoaderQueue.tsx +40 -4
- package/src/hooks/useMessageQueue.ts +9 -5
- package/src/hooks/useRoomDirectory.ts +39 -0
- package/src/hooks/useRoomInitialization.tsx +33 -7
- package/src/hooks/useRoomMute.ts +42 -0
- package/src/hooks/useRoomState.tsx +6 -0
- package/src/hooks/useSendMessage.tsx +14 -2
- package/src/i18n/strings.ts +312 -0
- package/src/networking/api-requests/messageSearch.api.ts +130 -0
- package/src/networking/api-requests/publicChats.api.ts +71 -0
- package/src/networking/api-requests/roomMembers.api.ts +263 -11
- package/src/networking/api-requests/rooms.api.ts +52 -12
- package/src/networking/api-requests/xmppToken.api.ts +62 -0
- package/src/networking/ethoraEvents.ts +262 -0
- package/src/networking/stanzaHandlers.ts +145 -19
- package/src/networking/xmpp/allRoomPresences.xmpp.ts +155 -5
- package/src/networking/xmpp/getHistory.xmpp.ts +433 -47
- package/src/networking/xmpp/handleStanzas.xmpp.ts +8 -0
- package/src/networking/xmpp/historyCursor.ts +124 -0
- package/src/networking/xmpp/mamQueryIds.ts +11 -0
- package/src/networking/xmpp/mamRouter.ts +24 -10
- package/src/networking/xmpp/presenceInRoom.xmpp.ts +91 -68
- package/src/networking/xmpp/roomJoinSweep.ts +412 -0
- package/src/networking/xmpp/sendMediaMessage.xmpp.ts +0 -1
- package/src/networking/xmpp/sendTextMessage.xmpp.ts +0 -1
- package/src/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.ts +0 -1
- package/src/networking/xmppClient.ts +323 -47
- package/src/networking/xmppCredentials.ts +87 -0
- package/src/roomStore/Middleware/jumpThreadMiddleware.ts +163 -0
- package/src/roomStore/Middleware/reactionsMiddleware.tsx +4 -0
- package/src/roomStore/Middleware/unreadMidlleware.tsx +59 -11
- package/src/roomStore/chatSettingsSlice.ts +11 -0
- package/src/roomStore/index.ts +10 -3
- package/src/roomStore/persistence.ts +54 -0
- package/src/roomStore/roomsSlice.ts +547 -65
- package/src/roomStore/safeKey.ts +49 -0
- package/src/roomStore/usersSetCap.ts +37 -0
- package/src/types/models/media.model.ts +4 -0
- package/src/types/models/room.model.ts +18 -5
- package/src/types/models/xmpp.model.ts +15 -1
- package/src/types/types.ts +95 -5
- package/src/version.ts +1 -1
|
@@ -1,5 +1,69 @@
|
|
|
1
1
|
import { Client } from '@xmpp/client';
|
|
2
2
|
import { IMessage } from '../../types/types';
|
|
3
|
+
/** Where a page is read from. Nothing set means the latest page. */
|
|
4
|
+
export interface HistoryPageCursor {
|
|
5
|
+
/** Page ending just before this archive id (exclusive). */
|
|
6
|
+
before?: number;
|
|
7
|
+
/** Page starting just after this archive id (exclusive). */
|
|
8
|
+
after?: number;
|
|
9
|
+
/**
|
|
10
|
+
* MAM time filter (ISO strings). With one and no before/after cursor the
|
|
11
|
+
* server answers with the FIRST page of the filtered range, oldest first,
|
|
12
|
+
* which is how a row with no archive id is located by its time.
|
|
13
|
+
*/
|
|
14
|
+
start?: string;
|
|
15
|
+
end?: string;
|
|
16
|
+
}
|
|
17
|
+
/** One archive page together with what the server's `<fin>` said about it. */
|
|
18
|
+
export interface HistoryPage {
|
|
19
|
+
ok: boolean;
|
|
20
|
+
/** Oldest first, reactions merged on, reaction stanzas themselves left out. */
|
|
21
|
+
messages: IMessage[];
|
|
22
|
+
/** `<fin complete>`: nothing further in the direction that was paged. */
|
|
23
|
+
complete: boolean;
|
|
24
|
+
/** RSM `<first>`: archive id of the first row of the page, null when unknown. */
|
|
25
|
+
first: number | null;
|
|
26
|
+
/** RSM `<last>`: archive id of the last row of the page, null when unknown. */
|
|
27
|
+
last: number | null;
|
|
28
|
+
/** RSM `<count>`: size of the whole (filtered) archive when the server says. */
|
|
29
|
+
count: number | null;
|
|
30
|
+
/** Result stanzas the page carried, receipts and reactions included. */
|
|
31
|
+
received: number;
|
|
32
|
+
/** `<fin>` was present in the answer. */
|
|
33
|
+
finSeen: boolean;
|
|
34
|
+
/** Full room JID the query was addressed to. */
|
|
35
|
+
roomJid: string;
|
|
36
|
+
}
|
|
37
|
+
export interface HistoryPageOptions extends HistoryPageCursor {
|
|
38
|
+
/** Query id; a default unique one is made when absent. */
|
|
39
|
+
id?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Isolated query: tagged so the global handlers skip its results, never
|
|
42
|
+
* touches the room's cursor. Implied by after/start/end.
|
|
43
|
+
*/
|
|
44
|
+
window?: boolean;
|
|
45
|
+
timeoutMs?: number;
|
|
46
|
+
/**
|
|
47
|
+
* The caller merges the returned page into the store itself (the preload
|
|
48
|
+
* scheduler and the catch-up pass do): the MAM router then does not apply
|
|
49
|
+
* it. Only meaningful for a live (non-window) page.
|
|
50
|
+
*/
|
|
51
|
+
selfApplied?: boolean;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* One MAM page, read and parsed, with the RSM bounds of the answer. Always
|
|
55
|
+
* settles: a timeout or an iq error gives `ok: false` and no messages. It
|
|
56
|
+
* stores nothing (reactions aside); the callers decide what a page means.
|
|
57
|
+
*/
|
|
58
|
+
export declare const fetchHistoryPage: (client: Client, chatJID: string, max: number, options?: HistoryPageOptions) => Promise<HistoryPage>;
|
|
59
|
+
/**
|
|
60
|
+
* One page of the room's live history: like fetchHistoryPage, and when the
|
|
61
|
+
* page feeds the live list (the latest page, or the one before a cursor) the
|
|
62
|
+
* room's paging cursor follows the server's `<fin>`. A page read by `after`,
|
|
63
|
+
* a time filter or flagged `window` is an isolated query and writes nothing
|
|
64
|
+
* (its rows are read by its own listener, never routed into the live list).
|
|
65
|
+
*/
|
|
66
|
+
export declare const getHistoryPage: (client: Client, chatJID: string, max: number, options?: HistoryPageOptions) => Promise<HistoryPage>;
|
|
3
67
|
export declare const getHistory: (client: Client, chatJID: string, max: number, before?: number, otherId?: string, options?: {
|
|
4
68
|
selfApplied?: boolean;
|
|
5
69
|
}) => Promise<IMessage[] | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getHistory.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/getHistory.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"getHistory.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/getHistory.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAmB7C,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,+EAA+E;IAC/E,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,yEAAyE;IACzE,QAAQ,EAAE,OAAO,CAAC;IAClB,iFAAiF;IACjF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,+EAA+E;IAC/E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,gFAAgF;IAChF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,0DAA0D;IAC1D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAyJD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,KAAK,MAAM,EACX,UAAS,kBAAuB,KAC/B,OAAO,CAAC,WAAW,CAoGrB,CAAC;AAoFF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,KAAK,MAAM,EACX,UAAS,kBAAuB,KAC/B,OAAO,CAAC,WAAW,CAoBrB,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,KAAK,MAAM,EACX,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,UAAU;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,KAClC,OAAO,CAAC,QAAQ,EAAE,GAAG,SAAS,CAQhC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleStanzas.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/handleStanzas.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAoB9B,OAAO,UAAU,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"handleStanzas.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/handleStanzas.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAoB9B,OAAO,UAAU,MAAM,eAAe,CAAC;AAyCvC,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,QA6B/D;AAED,eAAO,MAAM,0BAA0B,QAAO,IAG7C,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export declare const isArchiveCursor: (value: unknown) => value is number;
|
|
2
|
+
/** What the room held when a page was requested (a page answers later, and the live handler fills the room meanwhile). */
|
|
3
|
+
export interface RoomHistorySnapshot {
|
|
4
|
+
hadMessages: boolean;
|
|
5
|
+
/** Newest archive id among the real cached messages, 0 when none. */
|
|
6
|
+
newestId: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const snapshotRoomHistory: (roomJid: string) => RoomHistorySnapshot;
|
|
9
|
+
export interface HistoryPageFin {
|
|
10
|
+
roomJid: string;
|
|
11
|
+
/** The `<fin>` element was present in the answer. */
|
|
12
|
+
finSeen: boolean;
|
|
13
|
+
complete: boolean;
|
|
14
|
+
first: number | null;
|
|
15
|
+
last: number | null;
|
|
16
|
+
/** Result stanzas the page carried (receipts and reactions included). */
|
|
17
|
+
received: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Write the SERVER's paging cursor after a page that feeds the live list:
|
|
21
|
+
* room.messageStats.firstMessageTimestamp is the oldest archive id of the
|
|
22
|
+
* contiguous history (`<fin><set><first>`), room.historyComplete is the fin's
|
|
23
|
+
* `complete` flag. Windowed queries never come here.
|
|
24
|
+
*
|
|
25
|
+
* - an older page (before set) moves the cursor back, never forward;
|
|
26
|
+
* - a LATEST page must not raise an older cursor when the room already had
|
|
27
|
+
* messages (a late answer would send the loader back to a page it holds);
|
|
28
|
+
* - a full latest page that starts after everything cached leaves a hole, so
|
|
29
|
+
* the cursor restarts at the page's oldest id and the room is not complete.
|
|
30
|
+
*/
|
|
31
|
+
export declare const applyHistoryPageCursor: (page: HistoryPageFin, request: {
|
|
32
|
+
before?: number;
|
|
33
|
+
max: number;
|
|
34
|
+
}, snapshot: RoomHistorySnapshot) => void;
|
|
35
|
+
//# sourceMappingURL=historyCursor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"historyCursor.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/historyCursor.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MACqB,CAAC;AAEhF,0HAA0H;AAC1H,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,KAAG,mBAarD,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,cAAc,EACpB,SAAS;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACzC,UAAU,mBAAmB,KAC5B,IAgEF,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MAM query ids. A windowed query (a page around a jump target, a time
|
|
3
|
+
* lookup) is answered through the same wire as the live history, and the
|
|
4
|
+
* global stanza handlers see every `<result>` of it. They tell the two apart
|
|
5
|
+
* by the query id: anything tagged with this prefix belongs to the caller that
|
|
6
|
+
* asked and must never reach the live message list.
|
|
7
|
+
*/
|
|
8
|
+
export declare const WINDOW_QUERY_PREFIX = "window:";
|
|
9
|
+
export declare const isWindowQueryId: (queryId: unknown) => boolean;
|
|
10
|
+
//# sourceMappingURL=mamQueryIds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mamQueryIds.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/mamQueryIds.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,KAAG,OACqB,CAAC"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { IMessage } from '../../types/types';
|
|
2
2
|
import { type ExtractedReaction } from '../../helpers/mamReactions';
|
|
3
|
+
/**
|
|
4
|
+
* Replay an archived reaction into the store. Flagged `fromHistory` so
|
|
5
|
+
* reactionsMiddleware leaves the room preview alone: a replay must not turn
|
|
6
|
+
* the last real message into an emoji. (setReactions has no prepare(), so
|
|
7
|
+
* the flag is added by hand.)
|
|
8
|
+
*/
|
|
9
|
+
export declare const replayArchivedReaction: (reaction: ExtractedReaction, fallbackRoomJID?: string) => void;
|
|
3
10
|
export declare const beginMamQuery: (queryId: string, roomJID: string, apply?: boolean) => Promise<IMessage[]>;
|
|
4
11
|
/**
|
|
5
12
|
* Give up waiting (timeout). Whatever arrived is still applied — a late
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mamRouter.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/mamRouter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"mamRouter.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/mamRouter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAavF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GACjC,UAAU,iBAAiB,EAC3B,wBAAoB,SAarB,CAAC;AAkCF,eAAO,MAAM,aAAa,GACxB,SAAS,MAAM,EACf,SAAS,MAAM,EACf,eAAY,KACX,OAAO,CAAC,QAAQ,EAAE,CAYjB,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,KAAG,QAAQ,EAOxD,CAAC;AAwCF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,GAAG,KAAG,OAK5C,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,GAAG,EACX,UAAU,iBAAiB,KAC1B,OAKF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,GAAG,EACX,SAAS,QAAQ,GAAG,SAAS,KAC5B,OAOF,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,UAAU,GAAI,QAAQ,GAAG,KAAG,OASxC,CAAC;AAEF,iBAAiB;AACjB,eAAO,MAAM,gBAAgB,YAAwB,CAAC"}
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { Client } from '@xmpp/client';
|
|
2
2
|
import { Element } from '@xmpp/xml';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Sends the MUC join presence for `roomJID` and resolves with the room's
|
|
5
|
+
* answer. Rejects with `presence_error:<code>:<jid>` on an error presence,
|
|
6
|
+
* `presence_timeout:<jid>` when nothing answers within `timeoutMs`, and
|
|
7
|
+
* `presence_send_failed:<jid>:...` when the stanza could not be written.
|
|
8
|
+
*
|
|
9
|
+
* `delay` is an optional extra wait after the answer. It used to be a fixed
|
|
10
|
+
* 2 s: the join answer arrives BEFORE the server's replay of the room history
|
|
11
|
+
* (default up to 20 stanzas), and callers waited for that replay to settle.
|
|
12
|
+
* The join now asks for `historyStanzas` (default 0) so nothing is replayed
|
|
13
|
+
* (history comes from MAM), and the default settle delay is 0.
|
|
14
|
+
*/
|
|
15
|
+
export declare const presenceInRoom: (client: Client, roomJID: string, delay?: number, timeoutMs?: number, historyStanzas?: number) => Promise<Element>;
|
|
5
16
|
//# sourceMappingURL=presenceInRoom.xmpp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presenceInRoom.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/presenceInRoom.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"presenceInRoom.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/presenceInRoom.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,cAAS,EACT,kBAAgB,EAMhB,uBAAkB,KACjB,OAAO,CAAC,OAAO,CA0GjB,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { Client } from '@xmpp/client';
|
|
2
|
+
import { AllRoomPresenceSummary } from './allRoomPresences.xmpp';
|
|
3
|
+
import type { HistoryQoSConfig } from '../../types/types';
|
|
4
|
+
/**
|
|
5
|
+
* The slice of XmppClient the join manager needs. Keeping it an interface
|
|
6
|
+
* keeps this file free of an import cycle with xmppClient.ts.
|
|
7
|
+
*/
|
|
8
|
+
export interface RoomJoinHost {
|
|
9
|
+
/** The underlying @xmpp/client (changes on every reconnect). */
|
|
10
|
+
getClient: () => Client | undefined;
|
|
11
|
+
/** Bumped on every disconnect / reconnect / close. */
|
|
12
|
+
getConnectionEpoch: () => number;
|
|
13
|
+
/** True while the stream is online (join then needs no wait). */
|
|
14
|
+
isOnline?: () => boolean;
|
|
15
|
+
/** Resolves when the stream is online, rejects on timeout. */
|
|
16
|
+
waitForOnline: (timeoutMs?: number) => Promise<void>;
|
|
17
|
+
/** MUC conference domain of this server (custom domains allowed). */
|
|
18
|
+
getConference?: () => string;
|
|
19
|
+
getHistoryQoS: () => HistoryQoSConfig | undefined;
|
|
20
|
+
}
|
|
21
|
+
export interface EnsureRoomPresenceOptions {
|
|
22
|
+
/** Extra wait after the room answered. Default 0. */
|
|
23
|
+
settleDelay?: number;
|
|
24
|
+
/** How long this caller waits for the join. Default 2000. */
|
|
25
|
+
timeoutMs?: number;
|
|
26
|
+
/** false: fire the join and return true at once. Default true. */
|
|
27
|
+
waitForJoin?: boolean;
|
|
28
|
+
source?: 'active_room' | 'send' | 'background' | 'other';
|
|
29
|
+
}
|
|
30
|
+
export declare const SWEEP_RETRY_DELAYS_MS: number[];
|
|
31
|
+
/**
|
|
32
|
+
* Per-connection MUC join state and the background join sweep.
|
|
33
|
+
*
|
|
34
|
+
* Why it exists: the RN client used to join every room with a Promise.all
|
|
35
|
+
* and only then call the session ready, so the room list waited for the
|
|
36
|
+
* slowest of N joins and a join in flight when the socket dropped could
|
|
37
|
+
* poison the next connection. Here joins go through one dedup layer
|
|
38
|
+
* (ensureRoomPresence), the sweep is a bounded pool that runs in the
|
|
39
|
+
* background (active room first, then by recent activity), and every join
|
|
40
|
+
* remembers the connection epoch it started on: when the socket was
|
|
41
|
+
* replaced meanwhile its outcome is discarded (no joined mark, no backoff).
|
|
42
|
+
*
|
|
43
|
+
* `presencesReady` means the whole sweep finished, `priorityPresencesReady`
|
|
44
|
+
* that its first wave (active room + one pool width) settled.
|
|
45
|
+
*/
|
|
46
|
+
export declare class RoomJoinManager {
|
|
47
|
+
private readonly host;
|
|
48
|
+
presencesReady: boolean;
|
|
49
|
+
priorityPresencesReady: boolean;
|
|
50
|
+
joinedRooms: Set<string>;
|
|
51
|
+
roomPresenceInFlight: Map<string, Promise<boolean>>;
|
|
52
|
+
roomPresenceBlockedUntil: Map<string, number>;
|
|
53
|
+
sweepRetryTimer: ReturnType<typeof setTimeout> | null;
|
|
54
|
+
private sweepRetryRunning;
|
|
55
|
+
private sendAllPresencesInFlight;
|
|
56
|
+
constructor(host: RoomJoinHost);
|
|
57
|
+
private qos;
|
|
58
|
+
get joinConcurrency(): number;
|
|
59
|
+
get joinHistoryStanzas(): number;
|
|
60
|
+
private get failureBackoffMs();
|
|
61
|
+
private get epoch();
|
|
62
|
+
private isValidRoomJid;
|
|
63
|
+
private isJoinableJid;
|
|
64
|
+
/** Called on every disconnect / reconnect / close: nothing carries over. */
|
|
65
|
+
reset(): void;
|
|
66
|
+
isJoined(roomJid: string): boolean;
|
|
67
|
+
ensureRoomPresence: (roomJID: string, options?: EnsureRoomPresenceOptions) => Promise<boolean>;
|
|
68
|
+
/**
|
|
69
|
+
* Start the background join sweep. Every caller shares one in-flight
|
|
70
|
+
* sweep; a finished sweep is only repeated when rooms appeared since.
|
|
71
|
+
* Never throws.
|
|
72
|
+
*/
|
|
73
|
+
sendAllPresencesAndMarkReady(): Promise<void>;
|
|
74
|
+
private hasUnjoinedRooms;
|
|
75
|
+
private runAllPresencesSweep;
|
|
76
|
+
private clearSweepRetry;
|
|
77
|
+
private nextSweepRetryAt;
|
|
78
|
+
private scheduleSweepRetry;
|
|
79
|
+
private runSweepRetry;
|
|
80
|
+
allRoomPresencesStanza(epoch?: number): Promise<AllRoomPresenceSummary>;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=roomJoinSweep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roomJoinSweep.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/roomJoinSweep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAEL,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,gEAAgE;IAChE,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACpC,sDAAsD;IACtD,kBAAkB,EAAE,MAAM,MAAM,CAAC;IACjC,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;IACzB,8DAA8D;IAC9D,aAAa,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,gBAAgB,GAAG,SAAS,CAAC;CACnD;AAED,MAAM,WAAW,yBAAyB;IACxC,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC;CAC1D;AAGD,eAAO,MAAM,qBAAqB,UAAsB,CAAC;AAgBzD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,eAAe;IAUd,OAAO,CAAC,QAAQ,CAAC,IAAI;IATjC,cAAc,UAAS;IACvB,sBAAsB,UAAS;IAC/B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IACrC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAa;IAChE,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAC1D,eAAe,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAQ;IAC7D,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,wBAAwB,CAA8B;gBAEjC,IAAI,EAAE,YAAY;IAG/C,OAAO,CAAC,GAAG;IAYX,IAAI,eAAe,IAAI,MAAM,CAK5B;IAED,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED,OAAO,KAAK,gBAAgB,GAK3B;IAED,OAAO,KAAK,KAAK,GAEhB;IAID,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,aAAa;IAOrB,4EAA4E;IAC5E,KAAK;IAUL,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKlC,kBAAkB,GAChB,SAAS,MAAM,EACf,UAAU,yBAAyB,KAClC,OAAO,CAAC,OAAO,CAAC,CAkGjB;IAGF;;;;OAIG;IACG,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAanD,OAAO,CAAC,gBAAgB;YAWV,oBAAoB;IA6BlC,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,kBAAkB;YAaZ,aAAa;IAwBrB,sBAAsB,CAC1B,KAAK,GAAE,MAAmB,GACzB,OAAO,CAAC,sBAAsB,CAAC;CA+BnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendMediaMessage.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/sendMediaMessage.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AAsB3C,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,GAAG,EACT,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"sendMediaMessage.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/sendMediaMessage.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AAsB3C,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,GAAG,EACT,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,UAoFnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendTextMessage.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/sendTextMessage.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AAM3C;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,GAAG,SAAS,EAAE,QAAQ,MAAM,KAAG,MAW9E,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,WAAW,MAAM,EACjB,UAAU,MAAM,EAChB,OAAO,MAAM,EACb,eAAe,MAAM,EACrB,aAAa,MAAM,EACnB,oBAAoB,MAAM,EAC1B,UAAU,OAAO,EACjB,gBAAgB,OAAO,EACvB,cAAc,MAAM,EACpB,YAAY,MAAM,EAClB,WAAW,MAAM,
|
|
1
|
+
{"version":3,"file":"sendTextMessage.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/sendTextMessage.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AAM3C;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,GAAG,SAAS,EAAE,QAAQ,MAAM,KAAG,MAW9E,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,WAAW,MAAM,EACjB,UAAU,MAAM,EAChB,OAAO,MAAM,EACb,eAAe,MAAM,EACrB,aAAa,MAAM,EACnB,oBAAoB,MAAM,EAC1B,UAAU,OAAO,EACjB,gBAAgB,OAAO,EACvB,cAAc,MAAM,EACpB,YAAY,MAAM,EAClB,WAAW,MAAM,SAgElB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendTextMessageWithTranslateTag.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,+BAA+B,GAC1C,QAAQ,MAAM,EACd,eAAe;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,QAAQ,aAAa,EACrB,WAAW,MAAM,KAChB,
|
|
1
|
+
{"version":3,"file":"sendTextMessageWithTranslateTag.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,+BAA+B,GAC1C,QAAQ,MAAM,EACd,eAAe;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,QAAQ,aAAa,EACrB,WAAW,MAAM,KAChB,OAsDF,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Client } from '@xmpp/client';
|
|
2
|
-
import { xmppSettingsInterface } from '../types/types';
|
|
2
|
+
import { IMessage, xmppSettingsInterface } from '../types/types';
|
|
3
|
+
import { HistoryPage, HistoryPageCursor } from './xmpp/getHistory.xmpp';
|
|
4
|
+
import { RoomJoinManager } from './xmpp/roomJoinSweep';
|
|
3
5
|
type HistorySource = 'active' | 'send_ack' | 'background' | 'default';
|
|
4
6
|
interface HistoryOptions {
|
|
5
7
|
coalesceRoom?: boolean;
|
|
@@ -10,6 +12,26 @@ interface HistoryOptions {
|
|
|
10
12
|
* router then does not apply it. Default: applied by the router. */
|
|
11
13
|
selfApplied?: boolean;
|
|
12
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* A history request that has neither answered nor failed by now is dropped
|
|
17
|
+
* (its slot and in-flight key freed) and asked once more. Longer than the
|
|
18
|
+
* request's own 10 s read timeout, so it only trips on a task stuck behind a
|
|
19
|
+
* gate or on a read that never returns.
|
|
20
|
+
*/
|
|
21
|
+
export declare const HISTORY_WATCHDOG_MS = 15000;
|
|
22
|
+
/** What the server's <fin> said about one windowed MAM page. */
|
|
23
|
+
export interface HistoryWindowFin {
|
|
24
|
+
complete: boolean;
|
|
25
|
+
first: number | null;
|
|
26
|
+
last: number | null;
|
|
27
|
+
}
|
|
28
|
+
/** One page of a windowed history query, returned instead of stored. */
|
|
29
|
+
export interface HistoryWindowPage extends HistoryWindowFin {
|
|
30
|
+
ok: boolean;
|
|
31
|
+
/** Ascending by time (oldest first), whichever direction was paged. */
|
|
32
|
+
messages: IMessage[];
|
|
33
|
+
}
|
|
34
|
+
export type { HistoryPage, HistoryPageCursor };
|
|
13
35
|
export type XmppCredentialsProvider = () => Promise<{
|
|
14
36
|
username: string;
|
|
15
37
|
password: string;
|
|
@@ -52,7 +74,23 @@ export declare class XmppClient {
|
|
|
52
74
|
private credentialsProvider;
|
|
53
75
|
private credentialsRefreshInFlight;
|
|
54
76
|
private onOnlineCallback;
|
|
55
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Bumped on every disconnect, reconnect and close. Anything that started
|
|
79
|
+
* on an older connection (a room join, a join sweep) compares against it
|
|
80
|
+
* and drops its result instead of writing into the new connection's state.
|
|
81
|
+
*/
|
|
82
|
+
connectionEpoch: number;
|
|
83
|
+
readonly joins: RoomJoinManager;
|
|
84
|
+
/** True once the whole background join sweep finished. */
|
|
85
|
+
get presencesReady(): boolean;
|
|
86
|
+
set presencesReady(value: boolean);
|
|
87
|
+
/**
|
|
88
|
+
* True once the first wave of the sweep (open room + one pool width of the
|
|
89
|
+
* most recently active rooms) settled. Consumers that only need "joining
|
|
90
|
+
* works" (the offline send drain) gate on this, not on the whole sweep.
|
|
91
|
+
*/
|
|
92
|
+
get priorityPresencesReady(): boolean;
|
|
93
|
+
set priorityPresencesReady(value: boolean);
|
|
56
94
|
disableLastRead: boolean;
|
|
57
95
|
private activeRoomJID;
|
|
58
96
|
private activeRoomBoostUntil;
|
|
@@ -105,6 +143,16 @@ export declare class XmppClient {
|
|
|
105
143
|
* lanes land later.
|
|
106
144
|
*/
|
|
107
145
|
prioritizeRoomPresence(roomJID: string): Promise<boolean>;
|
|
146
|
+
/** Join `roomJID` unless this connection already did (deduped). */
|
|
147
|
+
ensureRoomPresence(roomJID: string, options?: Parameters<RoomJoinManager['ensureRoomPresence']>[1]): Promise<boolean>;
|
|
148
|
+
/**
|
|
149
|
+
* Start (or share) the background join sweep: the open room first, then by
|
|
150
|
+
* recent activity, a few at a time. Resolves when the sweep ends; callers
|
|
151
|
+
* that must not wait simply do not await it. Never rejects.
|
|
152
|
+
*/
|
|
153
|
+
sendAllPresencesAndMarkReady(): Promise<void>;
|
|
154
|
+
/** Called on every disconnect / reconnect / close. */
|
|
155
|
+
private bumpConnectionEpoch;
|
|
108
156
|
/**
|
|
109
157
|
* Queued history fetch. Coalesces by room: if the same room already has
|
|
110
158
|
* a higher-priority request in flight, return that promise. Honors
|
|
@@ -117,7 +165,9 @@ export declare class XmppClient {
|
|
|
117
165
|
id?: string;
|
|
118
166
|
source?: HistorySource;
|
|
119
167
|
selfApplied?: boolean;
|
|
120
|
-
}): Promise<any>;
|
|
168
|
+
}, reissued?: boolean): Promise<any>;
|
|
169
|
+
private releaseMamEntry;
|
|
170
|
+
private runHistoryTask;
|
|
121
171
|
private sourceRank;
|
|
122
172
|
initializeClient(): void;
|
|
123
173
|
private onDisconnect?;
|
|
@@ -166,8 +216,37 @@ export declare class XmppClient {
|
|
|
166
216
|
createRoomStanza(title: string, description: string, to?: string): Promise<string>;
|
|
167
217
|
inviteRoomRequestStanza(to: string, roomJid: string): Promise<void>;
|
|
168
218
|
leaveTheRoomStanza: (roomJID: string) => void;
|
|
169
|
-
|
|
219
|
+
/**
|
|
220
|
+
* Join a room (deduped: a room this connection already joined resolves at
|
|
221
|
+
* once without a second presence). Resolves true when joined, false when
|
|
222
|
+
* the join failed or is backing off; never rejects.
|
|
223
|
+
*/
|
|
224
|
+
presenceInRoomStanza: (roomJID: string) => Promise<boolean>;
|
|
170
225
|
getHistoryStanza: (chatJID: string, max: number, before?: number, id?: string, options?: HistoryOptions) => Promise<any>;
|
|
226
|
+
/**
|
|
227
|
+
* One archive page together with the server's RSM answer
|
|
228
|
+
* (`<fin complete><set><first/><last/><count/>`). A latest page or one read
|
|
229
|
+
* `before` a cursor feeds the live list (the stanza handler merges the rows)
|
|
230
|
+
* and moves the room's paging cursor, room.messageStats.firstMessageTimestamp,
|
|
231
|
+
* and room.historyComplete. A page read by `after` or a time filter is an
|
|
232
|
+
* isolated query (see getHistoryWindow). Always settles, never throws.
|
|
233
|
+
*/
|
|
234
|
+
getHistoryPage: (chatJID: string, max: number, cursor?: HistoryPageCursor) => Promise<HistoryPage>;
|
|
235
|
+
/**
|
|
236
|
+
* One page of archive for a window around a message, RETURNED rather than
|
|
237
|
+
* stored: its query is tagged so the stanza handlers skip its rows, nothing
|
|
238
|
+
* is merged into the room, and messageStats / historyComplete are left
|
|
239
|
+
* alone. Pass `before` for the page ending just before that archive id,
|
|
240
|
+
* `after` for the page starting just after it (both exclusive; microsecond
|
|
241
|
+
* MAM ids), or `start` / `end` (ISO) for the first page of a time range.
|
|
242
|
+
* Messages come back oldest first, reactions merged.
|
|
243
|
+
*/
|
|
244
|
+
getHistoryWindow: (chatJID: string, max: number, cursor: {
|
|
245
|
+
before?: number;
|
|
246
|
+
after?: number;
|
|
247
|
+
start?: string;
|
|
248
|
+
end?: string;
|
|
249
|
+
}) => Promise<HistoryWindowPage>;
|
|
171
250
|
getLastMessageArchiveStanza(roomJID: string): void;
|
|
172
251
|
setRoomImageStanza: (roomJid: string, roomThumbnail: string, type: string, roomBackground?: string) => void;
|
|
173
252
|
getRoomInfoStanza: (roomJID: string) => void;
|
|
@@ -181,6 +260,13 @@ export declare class XmppClient {
|
|
|
181
260
|
private isStreamReady;
|
|
182
261
|
/** Replay buffered sends against this (now-online) client, in order. */
|
|
183
262
|
flushPendingSends(): void;
|
|
263
|
+
/**
|
|
264
|
+
* A send joins its own room first (deduped, fire-and-forget): the join
|
|
265
|
+
* sweep no longer sends every room's presence up front, so a send to a room
|
|
266
|
+
* the sweep has not reached yet would otherwise hit a room we are not in.
|
|
267
|
+
* Presence and message go out synchronously on the same stream, join first.
|
|
268
|
+
*/
|
|
269
|
+
private joinForSend;
|
|
184
270
|
sendMessage: (roomJID: string, firstName: string, lastName: string, photo: string, walletAddress: string, userMessage: string, notDisplayedValue?: string, isReply?: boolean, showInChannel?: boolean, mainMessage?: string, customId?: string) => boolean;
|
|
185
271
|
deleteMessageStanza(room: string, msgId: string): void;
|
|
186
272
|
editMessageStanza(room: string, msgId: string, text: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xmppClient.d.ts","sourceRoot":"","sources":["../../../src/networking/xmppClient.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"xmppClient.d.ts","sourceRoot":"","sources":["../../../src/networking/xmppClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IConfig } from '../types/types';
|
|
2
|
+
/**
|
|
3
|
+
* Credentials the XMPP client reconnects with after a SASL
|
|
4
|
+
* `not-authorized`. Order: session rotation (when enabled), the dedicated
|
|
5
|
+
* xmpp-token endpoint, the full re-mint chain, then the stored value.
|
|
6
|
+
* Never throws.
|
|
7
|
+
*/
|
|
8
|
+
export declare function recoverXmppCredentials(config?: IConfig): Promise<{
|
|
9
|
+
username: string;
|
|
10
|
+
password: string;
|
|
11
|
+
}>;
|
|
12
|
+
//# sourceMappingURL=xmppCredentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xmppCredentials.d.ts","sourceRoot":"","sources":["../../../src/networking/xmppCredentials.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAoEjD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jumpThreadMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/roomStore/Middleware/jumpThreadMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAyC9C,eAAO,MAAM,oBAAoB,EAAE,UAyHhC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactionsMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/roomStore/Middleware/reactionsMiddleware.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"reactionsMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/roomStore/Middleware/reactionsMiddleware.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,UAoE/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unreadMidlleware.d.ts","sourceRoot":"","sources":["../../../../src/roomStore/Middleware/unreadMidlleware.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"unreadMidlleware.d.ts","sourceRoot":"","sources":["../../../../src/roomStore/Middleware/unreadMidlleware.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA0H9C,eAAO,MAAM,gBAAgB,EAAE,UAsI5B,CAAC"}
|
|
@@ -76,6 +76,13 @@ declare const reducers: {
|
|
|
76
76
|
xmppPassword?: string;
|
|
77
77
|
fileToken?: string;
|
|
78
78
|
}>) => void;
|
|
79
|
+
/**
|
|
80
|
+
* Just the XMPP credential, for POST /v1/users/xmpp-token. refreshTokens
|
|
81
|
+
* above needs a whole token pair, and minting only an XMPP password must
|
|
82
|
+
* not touch the REST session. Like refreshTokens, persistence belongs to
|
|
83
|
+
* the caller, which can await it.
|
|
84
|
+
*/
|
|
85
|
+
setXmppPassword: (state: WritableDraft<ChatState>, action: PayloadAction<string>) => void;
|
|
79
86
|
logout: (state: WritableDraft<ChatState>) => void;
|
|
80
87
|
setLangSource: (state: WritableDraft<ChatState>, action: PayloadAction<Iso639_1Codes | undefined>) => void;
|
|
81
88
|
setTranslateMode: (state: WritableDraft<ChatState>, action: PayloadAction<TranslateMode | undefined>) => void;
|
|
@@ -88,7 +95,7 @@ export declare const setUser: import("@reduxjs/toolkit").ActionCreatorWithPayloa
|
|
|
88
95
|
refreshToken: string;
|
|
89
96
|
xmppPassword?: string;
|
|
90
97
|
fileToken?: string;
|
|
91
|
-
}, "chat/refreshTokens">, logout: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chat/logout">, setActiveModal: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<string | undefined, "chat/setActiveModal">, setDeleteModal: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<DeleteModal | undefined, "chat/setDeleteModal">, setSelectedUser: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<IUser | undefined, "chat/setSelectedUser">, updateUser: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
98
|
+
}, "chat/refreshTokens">, setXmppPassword: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "chat/setXmppPassword">, logout: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chat/logout">, setActiveModal: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<string | undefined, "chat/setActiveModal">, setDeleteModal: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<DeleteModal | undefined, "chat/setDeleteModal">, setSelectedUser: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<IUser | undefined, "chat/setSelectedUser">, updateUser: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
92
99
|
updates: Partial<User>;
|
|
93
100
|
}, "chat/updateUser">, setActiveFile: import("@reduxjs/toolkit").ActionCreatorWithPayload<ModalFile, "chat/setActiveFile">, setStoreClient: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "chat/setStoreClient">, setLangSource: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<Iso639_1Codes | undefined, "chat/setLangSource">, setTranslateMode: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TranslateMode | undefined, "chat/setTranslateMode">, setThemePreference: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<ThemePreference | undefined, "chat/setThemePreference">, setPushEnabled: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "chat/setPushEnabled">, setUiLocale: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<string | undefined, "chat/setUiLocale">, setConnectionState: import("@reduxjs/toolkit").ActionCreatorWithPayload<ConnectionState, "chat/setConnectionState">;
|
|
94
101
|
declare const _default: import("redux").Reducer<ChatState>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatSettingsSlice.d.ts","sourceRoot":"","sources":["../../../src/roomStore/chatSettingsSlice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EACL,WAAW,EAEX,OAAO,EACP,KAAK,EACL,SAAS,EACT,SAAS,EACT,IAAI,EACL,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE5E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9E,eAAO,MAAM,kBAAkB,GAAI,QAAQ,IAAI,KAAG,IAkCjD,CAAC;AA8CF,QAAA,MAAM,QAAQ;qBACK,aAAa,CAAC,SAAS,CAAC,UAAU,aAAa,CAAC,IAAI,CAAC;sBAIpD,aAAa,CAAC,SAAS,CAAC,UAAU,aAAa,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;gCAWpF,aAAa,CAAC,SAAS,CAAC,UACvB,aAAa,CAAC,eAAe,GAAG,SAAS,CAAC;4BAK5B,aAAa,CAAC,SAAS,CAAC,UAAU,aAAa,CAAC,OAAO,CAAC;uBAG7D,aAAa,CAAC,SAAS,CAAC,UAAU,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;4BAO/D,aAAa,CAAC,SAAS,CAAC,UAAU,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;2BAGvE,aAAa,CAAC,SAAS,CAAC,UAAU,aAAa,CAAC,SAAS,CAAC;4BAGzD,aAAa,CAAC,SAAS,CAAC,UAAU,aAAa,CAAC,WAAW,GAAG,SAAS,CAAC;4BAGxE,aAAa,CAAC,SAAS,CAAC,UAAU,aAAa,CAAC,GAAG,CAAC;6BAGnD,aAAa,CAAC,SAAS,CAAC,UAAU,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;IAG3F;;;;;;;;;;;OAWG;2BAEM,aAAa,CAAC,SAAS,CAAC,UACvB,aAAa,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"chatSettingsSlice.d.ts","sourceRoot":"","sources":["../../../src/roomStore/chatSettingsSlice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { IRoom } from '../types/types';
|
|
2
|
+
import { resetSessionRoomState } from './persistence';
|
|
3
|
+
export { resetSessionRoomState };
|
|
2
4
|
declare const rootReducer: import("redux").Reducer<{
|
|
3
5
|
chatSettingStore: import("./chatSettingsSlice").ChatState;
|
|
4
6
|
rooms: import("./roomsSlice").RoomMessagesState;
|
|
@@ -27,5 +29,4 @@ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
|
|
|
27
29
|
export type AppDispatch = typeof store.dispatch;
|
|
28
30
|
export declare const getActiveRoom: (state: RootState) => IRoom | null;
|
|
29
31
|
export declare const persistorReady: Promise<void>;
|
|
30
|
-
export {};
|
|
31
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/roomStore/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/roomStore/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAOvC,OAAO,EAIL,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC,QAAA,MAAM,WAAW;;;;;;;;;;GAQf,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAkCvD,eAAO,MAAM,KAAK;;;;;;;;;;;;oCAEgC,CAAC;AAEnD,MAAM,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,QAAQ,CAAC;AAEhD,eAAO,MAAM,aAAa,GAAI,OAAO,SAAS,KAAG,KAAK,GAAG,IAKxD,CAAC;AAIF,eAAO,MAAM,cAAc,eAgDpB,CAAC"}
|
|
@@ -12,6 +12,14 @@ interface PersistedRoomsState {
|
|
|
12
12
|
interface PersistedHeapState {
|
|
13
13
|
failedMessages: Record<string, FailedMessagePayload>;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Rehydrate step: a persisted room must be refetched once per session, so
|
|
17
|
+
* a stale 'done' / 'loading' / 'error' preload state is demoted to
|
|
18
|
+
* 'partial' (the room has cached messages, a page that does not overlap the
|
|
19
|
+
* cache replaces it instead of leaving a hole) or 'idle'. The API unread
|
|
20
|
+
* snapshot is dropped: the next /chats/my response re-seeds it.
|
|
21
|
+
*/
|
|
22
|
+
export declare const resetSessionRoomState: (roomsMap: Record<string, IRoom>) => Record<string, IRoom>;
|
|
15
23
|
export declare function reconstructFailedMessagePayload(message: IMessage, roomJID: string): FailedMessagePayload | null;
|
|
16
24
|
/**
|
|
17
25
|
* Scan every persisted room for messages still `pending: true` that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/roomStore/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAuC5D,eAAO,MAAM,aAAa,MAAM,CAAC;AAMjC,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAEjD,UAAU,kBAAkB;IAC1B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAE9B;AAED,UAAU,kBAAkB;IAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAKtD;
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/roomStore/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAuC5D,eAAO,MAAM,aAAa,MAAM,CAAC;AAMjC,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAEjD,UAAU,kBAAkB;IAC1B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAE9B;AAED,UAAU,kBAAkB;IAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAKtD;AAyJD;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,UAAU,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAC9B,MAAM,CAAC,MAAM,EAAE,KAAK,CAgBpB,CAAC;AAgIJ,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,MAAM,GACd,oBAAoB,GAAG,IAAI,CAkC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,SAAS,EAC/C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,IAAI,GAAG,SAAS,GACrE,oBAAoB,EAAE,CAaxB;AAsKD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,UAuCnC,CAAC;AAwDF,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAClD,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACjC,CAAC,CA0BD;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBzD;AAED,eAAO,MAAM,YAAY;;;;;;CAMxB,CAAC;AACF,eAAO,MAAM,gBAAgB,QAttBP,MAAM,WAstBW,CAAC"}
|