@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
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isTrustedEventSender = exports.ETHORA_EVENT_XMLNS = exports.ETHORA_EVENT_USER_PROFILE = exports.ETHORA_EVENT_CHAT_META = void 0;
|
|
7
|
+
exports.onEthoraEvent = onEthoraEvent;
|
|
8
|
+
exports.resetEthoraEvents = resetEthoraEvents;
|
|
9
|
+
var _roomStore = require("../roomStore");
|
|
10
|
+
var _roomsSlice = require("../roomStore/roomsSlice");
|
|
11
|
+
var _safeKey = require("../roomStore/safeKey");
|
|
12
|
+
var _rooms = require("./api-requests/rooms.api");
|
|
13
|
+
var _createRoomFromApi = require("../helpers/createRoomFromApi");
|
|
14
|
+
var _roomUserCount = require("../helpers/roomUserCount");
|
|
15
|
+
var _userResolver = require("../helpers/userResolver");
|
|
16
|
+
var _ethoraLogger = require("../helpers/ethoraLogger");
|
|
17
|
+
var _sessionAppId = require("../helpers/sessionAppId");
|
|
18
|
+
/**
|
|
19
|
+
* Server push `<ethora-event xmlns="urn:ethora:events:1" .../>` inside a
|
|
20
|
+
* `type="headline"` message from the server's admin account:
|
|
21
|
+
*
|
|
22
|
+
* user-profile-updated xmppUsername="<appId>_<userId>" uuid appId
|
|
23
|
+
* chat-meta-updated chatName="<appId>_<roomId>" appId
|
|
24
|
+
*
|
|
25
|
+
* The payload is a pointer only. The client re-reads the user or the room
|
|
26
|
+
* through the normal API, so nothing in the stanza is ever shown or stored.
|
|
27
|
+
* Everything in the stanza is untrusted input until proven otherwise.
|
|
28
|
+
*/
|
|
29
|
+
const ETHORA_EVENT_XMLNS = exports.ETHORA_EVENT_XMLNS = 'urn:ethora:events:1';
|
|
30
|
+
const ETHORA_EVENT_USER_PROFILE = exports.ETHORA_EVENT_USER_PROFILE = 'user-profile-updated';
|
|
31
|
+
const ETHORA_EVENT_CHAT_META = exports.ETHORA_EVENT_CHAT_META = 'chat-meta-updated';
|
|
32
|
+
const MUCSUB_EVENT_NS = 'http://jabber.org/protocol/pubsub#event';
|
|
33
|
+
const ROOM_DEBOUNCE_MS = 500;
|
|
34
|
+
const MAX_KEY_LENGTH = 128;
|
|
35
|
+
const KEY_SHAPE = /^[A-Za-z0-9_-]+$/;
|
|
36
|
+
const ROOM_BACKOFF_MS = [5_000, 30_000, 120_000];
|
|
37
|
+
const lower = v => String(v ?? '').trim().toLowerCase();
|
|
38
|
+
|
|
39
|
+
/** Server domain of this session: our own JID's domain, else the configured host. */
|
|
40
|
+
const sessionDomain = xmppWs => lower(xmppWs?.client?.jid?.getDomain?.()) || lower(xmppWs?.host);
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* True when a headline came from the server and not from a user or a room.
|
|
44
|
+
* - from must be a BARE jid (a user's c2s stanza or a MUC occupant always
|
|
45
|
+
* carries a resource, and the server stamps it, so it cannot be spoofed)
|
|
46
|
+
* - its domain must be the session's own XMPP domain (not conference.*, not
|
|
47
|
+
* another server)
|
|
48
|
+
* - when config.trustedEventSenders is set, the sender must be listed
|
|
49
|
+
* The server's admin local part is deployment config (XMPP_ADMIN), so it
|
|
50
|
+
* cannot be hard-coded here.
|
|
51
|
+
*/
|
|
52
|
+
const isTrustedEventSender = (stanza, xmppWs) => {
|
|
53
|
+
const from = String(stanza?.attrs?.from ?? '').trim();
|
|
54
|
+
if (!from || from.includes('/')) return false;
|
|
55
|
+
const at = from.indexOf('@');
|
|
56
|
+
if (at <= 0 || from.indexOf('@', at + 1) !== -1) return false;
|
|
57
|
+
const local = lower(from.slice(0, at));
|
|
58
|
+
const domain = lower(from.slice(at + 1));
|
|
59
|
+
if (!local || !domain) return false;
|
|
60
|
+
const own = sessionDomain(xmppWs);
|
|
61
|
+
if (!own || domain !== own) return false;
|
|
62
|
+
const pinned = _roomStore.store.getState().chatSettingStore?.config?.trustedEventSenders;
|
|
63
|
+
if (Array.isArray(pinned) && pinned.length) {
|
|
64
|
+
return pinned.some(entry => {
|
|
65
|
+
const e = lower(entry);
|
|
66
|
+
return e === `${local}@${domain}` || e === local;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return true;
|
|
70
|
+
};
|
|
71
|
+
exports.isTrustedEventSender = isTrustedEventSender;
|
|
72
|
+
const sessionAppId = () => (0, _sessionAppId.getSessionAppId)();
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* `<appId>_<id>` shape for an attribute that is about to become a URL
|
|
76
|
+
* segment or a store key: charset, length cap, no unsafe key, and the
|
|
77
|
+
* session's appId as prefix when the session has one.
|
|
78
|
+
*/
|
|
79
|
+
const isSafeEventKey = value => {
|
|
80
|
+
if (!(0, _safeKey.isSafeKey)(value)) return false;
|
|
81
|
+
if (value.length > MAX_KEY_LENGTH || !KEY_SHAPE.test(value)) return false;
|
|
82
|
+
if (!value.includes('_')) return false;
|
|
83
|
+
if (!(0, _safeKey.hasSafeIdSegments)(value)) return false;
|
|
84
|
+
const appId = sessionAppId();
|
|
85
|
+
if (appId && !value.startsWith(`${appId}_`)) return false;
|
|
86
|
+
return true;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
// --- chat-meta-updated -----------------------------------------------------
|
|
90
|
+
|
|
91
|
+
const roomTimers = new Map();
|
|
92
|
+
const roomInflight = new Set();
|
|
93
|
+
const roomAgain = new Set();
|
|
94
|
+
const roomFailures = new Map();
|
|
95
|
+
const findRoomJid = chatName => {
|
|
96
|
+
const rooms = _roomStore.store.getState().rooms?.rooms || {};
|
|
97
|
+
for (const jid of Object.keys(rooms)) {
|
|
98
|
+
if (jid.split('@')[0] === chatName) return jid;
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
101
|
+
};
|
|
102
|
+
const runRoomRefresh = async chatName => {
|
|
103
|
+
if (roomInflight.has(chatName)) {
|
|
104
|
+
roomAgain.add(chatName);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
const failure = roomFailures.get(chatName);
|
|
108
|
+
if (failure && failure.until > Date.now()) return;
|
|
109
|
+
const jid = findRoomJid(chatName);
|
|
110
|
+
if (!jid || !_roomStore.store.getState().chatSettingStore?.user?.token) return;
|
|
111
|
+
roomInflight.add(chatName);
|
|
112
|
+
try {
|
|
113
|
+
const apiRoom = await (0, _rooms.getRoomByName)(chatName);
|
|
114
|
+
roomFailures.delete(chatName);
|
|
115
|
+
const current = (_roomStore.store.getState().rooms?.rooms || {})[jid];
|
|
116
|
+
if (!current || !apiRoom) return;
|
|
117
|
+
const service = jid.split('@')[1] || '';
|
|
118
|
+
// createRoomFromApi applies the title rules (private chats derive the
|
|
119
|
+
// peer name, sentinel titles are refused) and the usersCnt rules
|
|
120
|
+
const fresh = (0, _createRoomFromApi.createRoomFromApi)({
|
|
121
|
+
...apiRoom,
|
|
122
|
+
name: chatName
|
|
123
|
+
}, service, (0, _roomUserCount.getRoomUserCount)(current));
|
|
124
|
+
if (!fresh) return;
|
|
125
|
+
|
|
126
|
+
// Metadata only. members, messages, lastMessage and the unread fields
|
|
127
|
+
// stay as they are: the response carries the whole member list (a big
|
|
128
|
+
// room is tens of KB) and the loaded one may be a different, larger set.
|
|
129
|
+
const updates = {
|
|
130
|
+
title: fresh.title,
|
|
131
|
+
name: fresh.name,
|
|
132
|
+
description: fresh.description,
|
|
133
|
+
icon: fresh.icon,
|
|
134
|
+
// the API calls the room image `picture`; RN renders it from `icon`
|
|
135
|
+
picture: fresh.picture,
|
|
136
|
+
// never lower the known total
|
|
137
|
+
usersCnt: Math.max(Number(fresh.usersCnt) || 0, (0, _roomUserCount.getRoomUserCount)(current))
|
|
138
|
+
};
|
|
139
|
+
if (apiRoom.type === 'public' || apiRoom.type === 'group' || apiRoom.type === 'private') {
|
|
140
|
+
updates.type = apiRoom.type;
|
|
141
|
+
}
|
|
142
|
+
// A missing field in the answer must not blank the one we have
|
|
143
|
+
Object.keys(updates).forEach(k => {
|
|
144
|
+
if (updates[k] === undefined) delete updates[k];
|
|
145
|
+
});
|
|
146
|
+
_roomStore.store.dispatch((0, _roomsSlice.updateRoom)({
|
|
147
|
+
jid,
|
|
148
|
+
updates
|
|
149
|
+
}));
|
|
150
|
+
} catch (error) {
|
|
151
|
+
const count = (roomFailures.get(chatName)?.count ?? 0) + 1;
|
|
152
|
+
roomFailures.set(chatName, {
|
|
153
|
+
count,
|
|
154
|
+
until: Date.now() + ROOM_BACKOFF_MS[Math.min(count - 1, ROOM_BACKOFF_MS.length - 1)]
|
|
155
|
+
});
|
|
156
|
+
_ethoraLogger.ethoraLogger.log('[EthoraEvent] room refresh failed', chatName, error);
|
|
157
|
+
} finally {
|
|
158
|
+
roomInflight.delete(chatName);
|
|
159
|
+
if (roomAgain.delete(chatName)) scheduleRoomRefresh(chatName);
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
const scheduleRoomRefresh = chatName => {
|
|
163
|
+
const prior = roomTimers.get(chatName);
|
|
164
|
+
if (prior) clearTimeout(prior);
|
|
165
|
+
roomTimers.set(chatName, setTimeout(() => {
|
|
166
|
+
roomTimers.delete(chatName);
|
|
167
|
+
runRoomRefresh(chatName);
|
|
168
|
+
}, ROOM_DEBOUNCE_MS));
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
// --- entry point ------------------------------------------------------------
|
|
172
|
+
|
|
173
|
+
const findCarrier = stanza => {
|
|
174
|
+
const candidates = [stanza];
|
|
175
|
+
const inner = stanza?.getChild?.('event', MUCSUB_EVENT_NS)?.getChild?.('items')?.getChild?.('item')?.getChild?.('message');
|
|
176
|
+
if (inner) candidates.push(inner);
|
|
177
|
+
return candidates.find(c => c?.attrs?.type === 'headline' && c.getChild?.('ethora-event', ETHORA_EVENT_XMLNS)) ?? null;
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Handles `<ethora-event>` headlines. Returns true when the stanza carried
|
|
182
|
+
* one (trusted or not), so the caller can stop routing it. Unknown types,
|
|
183
|
+
* malformed attributes and untrusted senders are ignored silently. Never
|
|
184
|
+
* throws.
|
|
185
|
+
*/
|
|
186
|
+
function onEthoraEvent(stanza, xmppWs) {
|
|
187
|
+
try {
|
|
188
|
+
const carrier = findCarrier(stanza);
|
|
189
|
+
if (!carrier) return false;
|
|
190
|
+
if (!isTrustedEventSender(carrier, xmppWs)) {
|
|
191
|
+
_ethoraLogger.ethoraLogger.log('[EthoraEvent] ignored: untrusted sender');
|
|
192
|
+
return true;
|
|
193
|
+
}
|
|
194
|
+
const event = carrier.getChild('ethora-event', ETHORA_EVENT_XMLNS);
|
|
195
|
+
const type = String(event?.attrs?.type ?? '');
|
|
196
|
+
const appIdAttr = event?.attrs?.appId;
|
|
197
|
+
const appId = sessionAppId();
|
|
198
|
+
if (appIdAttr !== undefined && appId && String(appIdAttr) !== appId) {
|
|
199
|
+
return true;
|
|
200
|
+
}
|
|
201
|
+
if (type === ETHORA_EVENT_USER_PROFILE) {
|
|
202
|
+
const id = event?.attrs?.xmppUsername;
|
|
203
|
+
if (isSafeEventKey(id)) (0, _userResolver.refreshUser)(id);
|
|
204
|
+
} else if (type === ETHORA_EVENT_CHAT_META) {
|
|
205
|
+
const chatName = event?.attrs?.chatName;
|
|
206
|
+
// a room we do not hold (a brand-new room we were just added to) is
|
|
207
|
+
// the invite/membership flow's job
|
|
208
|
+
if (isSafeEventKey(chatName) && findRoomJid(chatName)) {
|
|
209
|
+
scheduleRoomRefresh(chatName);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return true;
|
|
213
|
+
} catch (error) {
|
|
214
|
+
_ethoraLogger.ethoraLogger.log('[EthoraEvent] failed to handle event', error);
|
|
215
|
+
return true;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/** Drops timers and per-room state (tests, logout). */
|
|
220
|
+
function resetEthoraEvents() {
|
|
221
|
+
roomTimers.forEach(t => clearTimeout(t));
|
|
222
|
+
roomTimers.clear();
|
|
223
|
+
roomInflight.clear();
|
|
224
|
+
roomAgain.clear();
|
|
225
|
+
roomFailures.clear();
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=ethoraEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_roomStore","require","_roomsSlice","_safeKey","_rooms","_createRoomFromApi","_roomUserCount","_userResolver","_ethoraLogger","_sessionAppId","ETHORA_EVENT_XMLNS","exports","ETHORA_EVENT_USER_PROFILE","ETHORA_EVENT_CHAT_META","MUCSUB_EVENT_NS","ROOM_DEBOUNCE_MS","MAX_KEY_LENGTH","KEY_SHAPE","ROOM_BACKOFF_MS","lower","v","String","trim","toLowerCase","sessionDomain","xmppWs","client","jid","getDomain","host","isTrustedEventSender","stanza","from","attrs","includes","at","indexOf","local","slice","domain","own","pinned","store","getState","chatSettingStore","config","trustedEventSenders","Array","isArray","length","some","entry","e","sessionAppId","getSessionAppId","isSafeEventKey","value","isSafeKey","test","hasSafeIdSegments","appId","startsWith","roomTimers","Map","roomInflight","Set","roomAgain","roomFailures","findRoomJid","chatName","rooms","Object","keys","split","runRoomRefresh","has","add","failure","get","until","Date","now","user","token","apiRoom","getRoomByName","delete","current","service","fresh","createRoomFromApi","name","getRoomUserCount","updates","title","description","icon","picture","usersCnt","Math","max","Number","type","forEach","k","undefined","dispatch","updateRoom","error","count","set","min","ethoraLogger","log","scheduleRoomRefresh","prior","clearTimeout","setTimeout","findCarrier","candidates","inner","getChild","push","find","c","onEthoraEvent","carrier","event","appIdAttr","id","xmppUsername","refreshUser","resetEthoraEvents","t","clear"],"sourceRoot":"../../../src","sources":["networking/ethoraEvents.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,12 +8,16 @@ var _roomStore = require("../roomStore");
|
|
|
8
8
|
var _mamRouter = require("./xmpp/mamRouter");
|
|
9
9
|
var _mamReactions = require("../helpers/mamReactions");
|
|
10
10
|
var _roomsSlice = require("../roomStore/roomsSlice");
|
|
11
|
+
var _roomUserCount = require("../helpers/roomUserCount");
|
|
12
|
+
var _userResolver = require("../helpers/userResolver");
|
|
11
13
|
var _createMessageFromXml = require("../helpers/createMessageFromXml");
|
|
12
14
|
var _getDataFromXml = require("../helpers/getDataFromXml");
|
|
13
15
|
var _chatSettingsSlice = require("../roomStore/chatSettingsSlice");
|
|
14
16
|
var _messageNotificationManager = require("../utils/messageNotificationManager");
|
|
17
|
+
var _notificationPolicy = require("../helpers/notificationPolicy");
|
|
15
18
|
var _callLogMessage = require("../helpers/callLogMessage");
|
|
16
19
|
var _strings = require("../i18n/strings");
|
|
20
|
+
var _mamQueryIds = require("./xmpp/mamQueryIds");
|
|
17
21
|
var _rooms = require("./api-requests/rooms.api");
|
|
18
22
|
var _pushSubscriptionService = require("../services/pushSubscriptionService");
|
|
19
23
|
// TO DO: we are thinking to refactor this code in the following way:
|
|
@@ -92,15 +96,26 @@ const onRealtimeMessage = async stanza => {
|
|
|
92
96
|
roomJID,
|
|
93
97
|
message
|
|
94
98
|
}));
|
|
99
|
+
// A sender missing from usersSet (a big room only carries 30 members)
|
|
100
|
+
// is resolved lazily; known and recently failed ids are dropped inside.
|
|
101
|
+
try {
|
|
102
|
+
(0, _userResolver.requestSendersOf)([message]);
|
|
103
|
+
} catch {
|
|
104
|
+
// name resolution must never break message delivery
|
|
105
|
+
}
|
|
95
106
|
|
|
96
|
-
// Trigger in-app notification (manager dedupes
|
|
97
|
-
//
|
|
107
|
+
// Trigger in-app notification (the manager dedupes and drops empty
|
|
108
|
+
// bodies; the provider drops the open chat, muted chats and a
|
|
109
|
+
// backgrounded app). The reader's own messages never toast.
|
|
98
110
|
try {
|
|
99
111
|
const state = _roomStore.store.getState();
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
112
|
+
if ((0, _notificationPolicy.isOwnIncomingMessage)({
|
|
113
|
+
message,
|
|
114
|
+
stanzaFrom: stanza.attrs.from,
|
|
115
|
+
senderJID,
|
|
116
|
+
user: state.chatSettingStore.user
|
|
117
|
+
})) {
|
|
118
|
+
return message;
|
|
104
119
|
}
|
|
105
120
|
const room = state.rooms.rooms[roomJID];
|
|
106
121
|
const roomName = room?.title || room?.name || '';
|
|
@@ -154,21 +169,16 @@ const onEditMessage = async stanza => {
|
|
|
154
169
|
}
|
|
155
170
|
};
|
|
156
171
|
exports.onEditMessage = onEditMessage;
|
|
157
|
-
const isMamResult = stanza => !!stanza?.is?.('message') && stanza.
|
|
172
|
+
const isMamResult = stanza => !!stanza?.is?.('message') && stanza.getChild?.('result')?.attrs?.xmlns === 'urn:xmpp:mam:2';
|
|
158
173
|
const parseMamResult = async stanza => {
|
|
159
174
|
{
|
|
160
175
|
const forwardedMsg = stanza.getChild('result')?.getChild('forwarded')?.getChild('message');
|
|
161
176
|
if (forwardedMsg?.getChild?.('reactions')) {
|
|
162
177
|
const reaction = (0, _mamReactions.extractReaction)(forwardedMsg, stanza.attrs?.from, stanza.getChild('result')?.attrs?.id);
|
|
163
178
|
if (reaction && !(0, _mamRouter.collectMamReaction)(stanza, reaction)) {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
from: reaction.from,
|
|
168
|
-
reactions: reaction.emoji,
|
|
169
|
-
data: reaction.data,
|
|
170
|
-
latestReactionTimestamp: reaction.ts
|
|
171
|
-
}));
|
|
179
|
+
// No page is waiting for it: replay it by hand. Flagged fromHistory
|
|
180
|
+
// so the room preview is not turned into an emoji.
|
|
181
|
+
(0, _mamRouter.replayArchivedReaction)(reaction);
|
|
172
182
|
}
|
|
173
183
|
return undefined;
|
|
174
184
|
}
|
|
@@ -259,6 +269,12 @@ const onMessageHistory = async stanza => {
|
|
|
259
269
|
if (!isMamResult(stanza)) {
|
|
260
270
|
return;
|
|
261
271
|
}
|
|
272
|
+
// A windowed query (a jump target's neighbourhood, a time lookup) belongs
|
|
273
|
+
// to the caller that asked: its rows are collected and returned there and
|
|
274
|
+
// must never be claimed by the router or merged into the live list.
|
|
275
|
+
if ((0, _mamQueryIds.isWindowQueryId)(stanza.getChild('result')?.attrs?.queryid)) {
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
262
278
|
const claimed = (0, _mamRouter.claimMamResult)(stanza);
|
|
263
279
|
let message;
|
|
264
280
|
try {
|
|
@@ -309,8 +325,77 @@ const handleComposing = async (stanza, currentUser) => {
|
|
|
309
325
|
}
|
|
310
326
|
}
|
|
311
327
|
};
|
|
328
|
+
|
|
329
|
+
// Server-driven membership change: when someone is added to or removed from
|
|
330
|
+
// a MUC the room broadcasts <message><x xmlns="muc#user"><item jid=...
|
|
331
|
+
// affiliation="member|none|outcast"/></x></message> to the occupants. It is
|
|
332
|
+
// the ONLY thing that counts as a join or leave: usersCnt is adjusted by
|
|
333
|
+
// +1/-1 from its CURRENT value, because a big room carries a truncated
|
|
334
|
+
// members[] (the real total is usersCnt) and recomputing from its length
|
|
335
|
+
// would collapse the count to the page size.
|
|
312
336
|
exports.handleComposing = handleComposing;
|
|
337
|
+
const MUC_USER_NS = 'http://jabber.org/protocol/muc#user';
|
|
338
|
+
const onRoomMembershipChange = stanza => {
|
|
339
|
+
if (typeof stanza?.is !== 'function' || !stanza.is('message')) {
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
const roomJid = String(stanza.attrs?.from || '').split('/')[0];
|
|
343
|
+
const room = roomJid ? _roomStore.store.getState().rooms.rooms[roomJid] : undefined;
|
|
344
|
+
if (!room) {
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
347
|
+
const x = (stanza.getChildren?.('x') || []).find(e => e?.attrs?.xmlns === MUC_USER_NS);
|
|
348
|
+
if (!x || x.getChild('invite')) {
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
const item = x.getChild('item');
|
|
352
|
+
const memberJid = String(item?.attrs?.jid || '');
|
|
353
|
+
if (!memberJid) {
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
const xmppUsername = memberJid.split('@')[0];
|
|
357
|
+
const affiliation = String(item?.attrs?.affiliation || '');
|
|
358
|
+
const leaving = affiliation === 'none' || affiliation === 'outcast';
|
|
359
|
+
const members = Array.isArray(room.members) ? room.members : [];
|
|
360
|
+
const idx = members.findIndex(m => m.xmppUsername === xmppUsername);
|
|
361
|
+
let next;
|
|
362
|
+
if (leaving) {
|
|
363
|
+
if (idx < 0) {
|
|
364
|
+
// The leaver may exist only in the directory of a truncated room.
|
|
365
|
+
if (!(0, _roomUserCount.isRoomMembersTruncated)(room)) {
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
368
|
+
_roomStore.store.dispatch((0, _roomsSlice.updateRoom)({
|
|
369
|
+
jid: roomJid,
|
|
370
|
+
updates: {
|
|
371
|
+
usersCnt: (0, _roomUserCount.adjustUsersCnt)(room, -1, members.length)
|
|
372
|
+
}
|
|
373
|
+
}));
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
376
|
+
next = members.filter((_, i) => i !== idx);
|
|
377
|
+
} else {
|
|
378
|
+
if (idx >= 0) {
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
next = [...members, {
|
|
382
|
+
_id: '',
|
|
383
|
+
firstName: '',
|
|
384
|
+
lastName: '',
|
|
385
|
+
xmppUsername,
|
|
386
|
+
jid: memberJid
|
|
387
|
+
}];
|
|
388
|
+
}
|
|
389
|
+
_roomStore.store.dispatch((0, _roomsSlice.updateRoom)({
|
|
390
|
+
jid: roomJid,
|
|
391
|
+
updates: {
|
|
392
|
+
members: next,
|
|
393
|
+
usersCnt: (0, _roomUserCount.adjustUsersCnt)(room, leaving ? -1 : 1, next.length)
|
|
394
|
+
}
|
|
395
|
+
}));
|
|
396
|
+
};
|
|
313
397
|
const onPresenceInRoom = stanza => {
|
|
398
|
+
onRoomMembershipChange(stanza);
|
|
314
399
|
if (typeof stanza.attrs.id === 'string' && stanza.attrs.id.startsWith('presenceInRoom') && !stanza.getChild('error')) {
|
|
315
400
|
const roomJID = stanza.attrs.from.split('/')[0];
|
|
316
401
|
const role = stanza?.children[1]?.children[0]?.attrs.role;
|
|
@@ -464,7 +549,59 @@ const onReactionMessage = stanza => {
|
|
|
464
549
|
// Archived reactions are handled by parseMamResult + the MAM router.
|
|
465
550
|
exports.onReactionMessage = onReactionMessage;
|
|
466
551
|
const onReactionHistory = _stanza => {};
|
|
552
|
+
// Presence that removes a member: unavailable + affiliation none/outcast.
|
|
553
|
+
// A presence is never a join (an unlisted occupant of a truncated big room
|
|
554
|
+
// is indistinguishable from a new member), so it only ever adjusts -1; the
|
|
555
|
+
// affiliation message (onRoomMembershipChange) is what counts joins.
|
|
467
556
|
exports.onReactionHistory = onReactionHistory;
|
|
468
|
-
const onRoomKicked =
|
|
557
|
+
const onRoomKicked = stanza => {
|
|
558
|
+
try {
|
|
559
|
+
if (stanza?.attrs?.type !== 'unavailable') {
|
|
560
|
+
return;
|
|
561
|
+
}
|
|
562
|
+
const from = String(stanza.attrs?.from || '');
|
|
563
|
+
const slash = from.indexOf('/');
|
|
564
|
+
const roomJID = slash >= 0 ? from.slice(0, slash) : from;
|
|
565
|
+
const nickname = slash >= 0 ? from.slice(slash + 1) : '';
|
|
566
|
+
const state = _roomStore.store.getState();
|
|
567
|
+
const room = roomJID ? state.rooms.rooms[roomJID] : undefined;
|
|
568
|
+
if (!room || !nickname) {
|
|
569
|
+
return;
|
|
570
|
+
}
|
|
571
|
+
if (nickname === (state.chatSettingStore.user?.xmppUsername || '')) {
|
|
572
|
+
return;
|
|
573
|
+
}
|
|
574
|
+
const x = (stanza.getChildren?.('x') || []).find(e => e?.attrs?.xmlns === MUC_USER_NS);
|
|
575
|
+
const item = x?.getChild?.('item');
|
|
576
|
+
const affiliation = String(item?.attrs?.affiliation || '');
|
|
577
|
+
if (!item || affiliation !== 'none' && affiliation !== 'outcast') {
|
|
578
|
+
return;
|
|
579
|
+
}
|
|
580
|
+
const members = Array.isArray(room.members) ? room.members : [];
|
|
581
|
+
const idx = members.findIndex(m => m.xmppUsername === nickname);
|
|
582
|
+
if (idx < 0) {
|
|
583
|
+
if (!(0, _roomUserCount.isRoomMembersTruncated)(room)) {
|
|
584
|
+
return;
|
|
585
|
+
}
|
|
586
|
+
_roomStore.store.dispatch((0, _roomsSlice.updateRoom)({
|
|
587
|
+
jid: roomJID,
|
|
588
|
+
updates: {
|
|
589
|
+
usersCnt: (0, _roomUserCount.adjustUsersCnt)(room, -1, members.length)
|
|
590
|
+
}
|
|
591
|
+
}));
|
|
592
|
+
return;
|
|
593
|
+
}
|
|
594
|
+
const next = members.filter((_, i) => i !== idx);
|
|
595
|
+
_roomStore.store.dispatch((0, _roomsSlice.updateRoom)({
|
|
596
|
+
jid: roomJID,
|
|
597
|
+
updates: {
|
|
598
|
+
members: next,
|
|
599
|
+
usersCnt: (0, _roomUserCount.adjustUsersCnt)(room, -1, next.length)
|
|
600
|
+
}
|
|
601
|
+
}));
|
|
602
|
+
} catch (error) {
|
|
603
|
+
console.warn('onRoomKicked failed', error);
|
|
604
|
+
}
|
|
605
|
+
};
|
|
469
606
|
exports.onRoomKicked = onRoomKicked;
|
|
470
607
|
//# sourceMappingURL=stanzaHandlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_roomStore","require","_mamRouter","_mamReactions","_roomsSlice","_createMessageFromXml","_getDataFromXml","_chatSettingsSlice","_messageNotificationManager","_callLogMessage","_strings","_rooms","_pushSubscriptionService","onRealtimeMessage","stanza","getChild","is","attrs","id","body","archived","data","deleted","senderJID","from","parsed","getDataFromXml","pData","pId","pBody","pRest","mergedData","rawMessage","createMessageFromXml","isDeleted","message","transformCallLogMessage","store","getState","chatSettingStore","user","xmppUsername","roomJID","split","dispatch","addRoomMessage","state","currentUserWallet","walletAddress","toLowerCase","senderJIDLower","String","includes","room","rooms","roomName","title","name","locale","uiLocale","config","i18n","langSource","overrides","strings","senderName","senderFirstName","senderLastName","filter","Boolean","join","trim","translateKey","messageNotificationManager","showNotification","err","console","warn","exports","onDeleteMessage","stanzaId","deleteRoomMessage","by","messageId","setDeleteModal","isDeleteModal","onEditMessage","replace","editRoomMessage","text","isMamResult","children","xmlns","parseMamResult","forwardedMsg","reaction","extractReaction","collectMamReaction","setReactions","reactions","emoji","latestReactionTimestamp","ts","undefined","delay","forwardedMessage","innerFrom","mergedAttrs","xmppId","positionalMessage","parsedFull","catch","translations","onMessageHistory","claimed","claimMamResult","collectMamMessage","handleComposing","currentUser","composingUser","norm","s","senderLocal","selfUser","selfXmppUsername","selfWallet","isSelf","chatJID","composingList","push","fullName","pop","setComposing","composing","onPresenceInRoom","startsWith","role","setRoomRole","onChatInvite","client","type","chatId","xEls","getChildren","el","child","chat","presenceInRoomStanza","getRoomsStanza","onGetMembers","onGetRoomInfo","onGetLastMessageArchive","_xmpp","onNewRoomCreated","xmpp","setCurrentRoom","onGetChatRooms","Array","isArray","known","fresh","jids","result","jid","usersCnt","Number","users_cnt","messages","isLoading","roomBg","room_background","icon","room_thumbnail","unreadMessages","lastViewedTimestamp","length","addRooms","activeRoomJID","loadRoomMembers","force","subscribeRoomForPush","e","onMessageError","_stanza","onReactionMessage","onReactionHistory","onRoomKicked"],"sourceRoot":"../../../src","sources":["networking/stanzaHandlers.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_roomStore","require","_mamRouter","_mamReactions","_roomsSlice","_roomUserCount","_userResolver","_createMessageFromXml","_getDataFromXml","_chatSettingsSlice","_messageNotificationManager","_notificationPolicy","_callLogMessage","_strings","_mamQueryIds","_rooms","_pushSubscriptionService","onRealtimeMessage","stanza","getChild","is","attrs","id","body","archived","data","deleted","senderJID","from","parsed","getDataFromXml","pData","pId","pBody","pRest","mergedData","rawMessage","createMessageFromXml","isDeleted","message","transformCallLogMessage","store","getState","chatSettingStore","user","xmppUsername","roomJID","split","dispatch","addRoomMessage","requestSendersOf","state","isOwnIncomingMessage","stanzaFrom","room","rooms","roomName","title","name","locale","uiLocale","config","i18n","langSource","overrides","strings","senderName","senderFirstName","senderLastName","filter","Boolean","join","trim","translateKey","messageNotificationManager","showNotification","err","console","warn","exports","onDeleteMessage","stanzaId","deleteRoomMessage","by","messageId","setDeleteModal","isDeleteModal","onEditMessage","includes","replace","editRoomMessage","text","isMamResult","xmlns","parseMamResult","forwardedMsg","reaction","extractReaction","collectMamReaction","replayArchivedReaction","undefined","delay","forwardedMessage","innerFrom","mergedAttrs","xmppId","positionalMessage","parsedFull","catch","translations","onMessageHistory","isWindowQueryId","queryid","claimed","claimMamResult","collectMamMessage","handleComposing","currentUser","composingUser","norm","s","toLowerCase","senderLocal","selfUser","selfXmppUsername","selfWallet","walletAddress","isSelf","chatJID","composingList","push","fullName","pop","setComposing","composing","MUC_USER_NS","onRoomMembershipChange","roomJid","String","x","getChildren","find","e","item","memberJid","jid","affiliation","leaving","members","Array","isArray","idx","findIndex","m","next","isRoomMembersTruncated","updateRoom","updates","usersCnt","adjustUsersCnt","length","_","i","_id","firstName","lastName","onPresenceInRoom","startsWith","role","children","setRoomRole","onChatInvite","client","type","chatId","xEls","el","child","chat","presenceInRoomStanza","getRoomsStanza","onGetMembers","onGetRoomInfo","onGetLastMessageArchive","_xmpp","onNewRoomCreated","xmpp","setCurrentRoom","onGetChatRooms","known","fresh","jids","result","Number","users_cnt","messages","isLoading","roomBg","room_background","icon","room_thumbnail","unreadMessages","lastViewedTimestamp","addRooms","activeRoomJID","loadRoomMembers","force","subscribeRoomForPush","onMessageError","_stanza","onReactionMessage","setReactions","latestReactionTimestamp","ts","reactions","emoji","onReactionHistory","onRoomKicked","slash","indexOf","slice","nickname","error"],"sourceRoot":"../../../src","sources":["networking/stanzaHandlers.ts"],"mappings":"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","ignoreList":[]}
|