@ethora/chat-component-rn 26.9.1 → 26.10.1
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 +30 -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 +31 -1
- 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/Modals/SettingsModals/BlockedUsers/BlockedUsersModal.js +14 -12
- package/lib/commonjs/components/Modals/SettingsModals/BlockedUsers/BlockedUsersModal.js.map +1 -1
- package/lib/commonjs/components/Modals/SettingsModals/DocumentShares/DocumentSharesModal.js +41 -39
- package/lib/commonjs/components/Modals/SettingsModals/DocumentShares/DocumentSharesModal.js.map +1 -1
- package/lib/commonjs/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js +137 -50
- package/lib/commonjs/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js.map +1 -1
- package/lib/commonjs/components/Modals/SettingsModals/ProfileShares/ProfileShares.js +15 -13
- package/lib/commonjs/components/Modals/SettingsModals/ProfileShares/ProfileShares.js.map +1 -1
- package/lib/commonjs/components/Modals/SettingsModals/Referrals/Referrals.js +57 -55
- package/lib/commonjs/components/Modals/SettingsModals/Referrals/Referrals.js.map +1 -1
- package/lib/commonjs/components/Modals/SettingsModals/SharedStyledComponents.js +15 -1
- package/lib/commonjs/components/Modals/SettingsModals/SharedStyledComponents.js.map +1 -1
- package/lib/commonjs/components/Modals/SettingsModals/Visibility/VisibilityModal.js +61 -59
- package/lib/commonjs/components/Modals/SettingsModals/Visibility/VisibilityModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +8 -3
- package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.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 +41 -77
- 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 +312 -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/user.api.js +32 -3
- package/lib/commonjs/networking/api-requests/user.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 +21 -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 +31 -1
- 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/Modals/SettingsModals/BlockedUsers/BlockedUsersModal.js +15 -13
- package/lib/module/components/Modals/SettingsModals/BlockedUsers/BlockedUsersModal.js.map +1 -1
- package/lib/module/components/Modals/SettingsModals/DocumentShares/DocumentSharesModal.js +42 -40
- package/lib/module/components/Modals/SettingsModals/DocumentShares/DocumentSharesModal.js.map +1 -1
- package/lib/module/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js +138 -52
- package/lib/module/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js.map +1 -1
- package/lib/module/components/Modals/SettingsModals/ProfileShares/ProfileShares.js +16 -14
- package/lib/module/components/Modals/SettingsModals/ProfileShares/ProfileShares.js.map +1 -1
- package/lib/module/components/Modals/SettingsModals/Referrals/Referrals.js +58 -56
- package/lib/module/components/Modals/SettingsModals/Referrals/Referrals.js.map +1 -1
- package/lib/module/components/Modals/SettingsModals/SharedStyledComponents.js +14 -0
- package/lib/module/components/Modals/SettingsModals/SharedStyledComponents.js.map +1 -1
- package/lib/module/components/Modals/SettingsModals/Visibility/VisibilityModal.js +62 -60
- package/lib/module/components/Modals/SettingsModals/Visibility/VisibilityModal.js.map +1 -1
- package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +9 -4
- package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.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 +42 -78
- 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 +312 -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/user.api.js +31 -3
- package/lib/module/networking/api-requests/user.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 +19 -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/Modals/SettingsModals/BlockedUsers/BlockedUsersModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/SettingsModals/DocumentShares/DocumentSharesModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/SettingsModals/ProfileShares/ProfileShares.d.ts.map +1 -1
- package/lib/typescript/components/Modals/SettingsModals/Referrals/Referrals.d.ts.map +1 -1
- package/lib/typescript/components/Modals/SettingsModals/SharedStyledComponents.d.ts +1 -0
- package/lib/typescript/components/Modals/SettingsModals/SharedStyledComponents.d.ts.map +1 -1
- package/lib/typescript/components/Modals/SettingsModals/Visibility/VisibilityModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.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.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/user.api.d.ts +8 -0
- package/lib/typescript/networking/api-requests/user.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 +88 -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 +23 -4
- 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/Modals/SettingsModals/BlockedUsers/BlockedUsersModal.tsx +20 -17
- package/src/components/Modals/SettingsModals/DocumentShares/DocumentSharesModal.tsx +58 -55
- package/src/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.tsx +156 -62
- package/src/components/Modals/SettingsModals/ProfileShares/ProfileShares.tsx +22 -19
- package/src/components/Modals/SettingsModals/Referrals/Referrals.tsx +48 -45
- package/src/components/Modals/SettingsModals/SharedStyledComponents.ts +11 -0
- package/src/components/Modals/SettingsModals/Visibility/VisibilityModal.tsx +63 -60
- package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +11 -3
- 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 +44 -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 +306 -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/user.api.ts +28 -2
- 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 +17 -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 +93 -5
- package/src/version.ts +1 -1
package/src/i18n/strings.ts
CHANGED
|
@@ -70,6 +70,10 @@ const en: UiStringTable = {
|
|
|
70
70
|
'media.sealedDownload': 'Download and decrypt',
|
|
71
71
|
'media.sealedDownloading': 'Decrypting…',
|
|
72
72
|
'media.sealedDownloadFailed': 'Download failed — tap to retry',
|
|
73
|
+
'media.audioPlay': 'Play voice message',
|
|
74
|
+
'media.audioPause': 'Pause voice message',
|
|
75
|
+
'media.audioSpeed': 'Playback speed',
|
|
76
|
+
'media.audioUnavailable': 'Audio unavailable',
|
|
73
77
|
'message.newMessages': 'New messages',
|
|
74
78
|
'notification.senderFallback': 'New message',
|
|
75
79
|
'presence.online': 'online',
|
|
@@ -131,6 +135,8 @@ const en: UiStringTable = {
|
|
|
131
135
|
'action.leave': 'Leave',
|
|
132
136
|
'action.muted': 'Muted',
|
|
133
137
|
'action.unmuted': 'Unmuted',
|
|
138
|
+
'action.mute': 'Mute',
|
|
139
|
+
'action.unmute': 'Unmute',
|
|
134
140
|
'toast.muteFailed': 'Could not update notifications for this chat',
|
|
135
141
|
'action.create': 'Create',
|
|
136
142
|
'action.submit': 'Submit',
|
|
@@ -337,6 +343,51 @@ const en: UiStringTable = {
|
|
|
337
343
|
'settings.manageData.deleteLabel': 'Delete your account',
|
|
338
344
|
'settings.manageData.deleteDescription': 'Use this only if you want to permanently delete your account & data from our system.',
|
|
339
345
|
'settings.manageData.deleteDisclosure': 'Due to the immutable nature of distributed ledger technology, network nodes operated by the community may still retain historical transactions generated by your account, however your personally identifiable information such as your name, e-mail, your key-value storage etc will be removed. Any of your digital assets will be lost.',
|
|
346
|
+
'settings.manageData.downloadFailed': "Couldn't download your data. Please try again later.",
|
|
347
|
+
'settings.manageData.deleteConfirmTitle': 'Delete your account?',
|
|
348
|
+
'settings.manageData.deleteConfirmMessage': 'This permanently deletes your account and data. It cannot be undone.',
|
|
349
|
+
'settings.manageData.deleteFailed': "Couldn't delete your account. Please try again later.",
|
|
350
|
+
'search.messages.title': 'Search messages',
|
|
351
|
+
'search.messages.placeholderChat': 'Search in this chat',
|
|
352
|
+
'search.messages.placeholderAll': 'Search all chats',
|
|
353
|
+
'search.messages.scope': 'Where to search',
|
|
354
|
+
'search.messages.scopeChat': 'This chat',
|
|
355
|
+
'search.messages.scopeAll': 'All chats',
|
|
356
|
+
'search.messages.hint': 'Type to search the conversation history',
|
|
357
|
+
'search.messages.tooShort': 'Type at least {count} characters',
|
|
358
|
+
'search.messages.searching': 'Searching...',
|
|
359
|
+
'search.messages.empty': 'No messages found',
|
|
360
|
+
'search.messages.error': 'Search failed.',
|
|
361
|
+
'search.messages.retry': 'Try again',
|
|
362
|
+
'search.messages.loadMore': 'Show more',
|
|
363
|
+
'search.messages.count': '{count} found',
|
|
364
|
+
'search.messages.you': 'You',
|
|
365
|
+
'search.messages.someone': 'Someone',
|
|
366
|
+
'search.messages.chat': 'Chat',
|
|
367
|
+
'search.messages.notFound': 'That message is too far back to load.',
|
|
368
|
+
'search.messages.filters': 'Filters',
|
|
369
|
+
'search.messages.filterSender': 'From',
|
|
370
|
+
'search.messages.filterSenderPlaceholder': 'Name of the sender',
|
|
371
|
+
'search.messages.filterSince': 'From date',
|
|
372
|
+
'search.messages.filterUntil': 'To date',
|
|
373
|
+
'search.messages.filterClear': 'Remove filter',
|
|
374
|
+
'search.messages.filterClearAll': 'Clear filters',
|
|
375
|
+
'search.messages.dateOrder': 'The start date is after the end date.',
|
|
376
|
+
'publicChats.title': 'Discover chats',
|
|
377
|
+
'publicChats.filter': 'Filter chats',
|
|
378
|
+
'publicChats.loading': 'Loading chats...',
|
|
379
|
+
'publicChats.error': 'Could not load public chats.',
|
|
380
|
+
'publicChats.empty': 'No public chats to show',
|
|
381
|
+
'publicChats.emptyFilterMore': 'No match among the chats loaded so far. Show more to keep looking.',
|
|
382
|
+
'publicChats.join': 'Join',
|
|
383
|
+
'publicChats.open': 'Open',
|
|
384
|
+
'action.jumpToLatest': 'Jump to latest messages',
|
|
385
|
+
'action.close': 'Close',
|
|
386
|
+
'user.unknown': 'Unknown user',
|
|
387
|
+
'modal.chatProfile.membersLoadingAll': 'Loading all members...',
|
|
388
|
+
'search.clear': 'Clear search',
|
|
389
|
+
'search.messages.archivedTitle': 'Older message',
|
|
390
|
+
'search.messages.archivedNote': 'This message is older than the history available in this chat, so it cannot be shown in place.',
|
|
340
391
|
};
|
|
341
392
|
|
|
342
393
|
const fr: UiStringTable = {
|
|
@@ -396,6 +447,10 @@ const fr: UiStringTable = {
|
|
|
396
447
|
'media.sealedDownload': 'Télécharger et déchiffrer',
|
|
397
448
|
'media.sealedDownloading': 'Déchiffrement…',
|
|
398
449
|
'media.sealedDownloadFailed': 'Échec du téléchargement — appuyez pour réessayer',
|
|
450
|
+
'media.audioPlay': 'Lire le message vocal',
|
|
451
|
+
'media.audioPause': 'Mettre en pause le message vocal',
|
|
452
|
+
'media.audioSpeed': 'Vitesse de lecture',
|
|
453
|
+
'media.audioUnavailable': 'Audio indisponible',
|
|
399
454
|
'message.newMessages': 'Nouveaux messages',
|
|
400
455
|
'notification.senderFallback': 'Nouveau message',
|
|
401
456
|
'presence.online': 'en ligne',
|
|
@@ -457,6 +512,8 @@ const fr: UiStringTable = {
|
|
|
457
512
|
'action.leave': 'Quitter',
|
|
458
513
|
'action.muted': 'En sourdine',
|
|
459
514
|
'action.unmuted': 'Activé',
|
|
515
|
+
'action.mute': 'Muet',
|
|
516
|
+
'action.unmute': 'Réactiver',
|
|
460
517
|
'toast.muteFailed': 'Impossible de modifier les notifications de ce chat',
|
|
461
518
|
'action.create': 'Créer',
|
|
462
519
|
'action.submit': 'Soumettre',
|
|
@@ -663,6 +720,51 @@ const fr: UiStringTable = {
|
|
|
663
720
|
'settings.manageData.deleteLabel': 'Supprimer votre compte',
|
|
664
721
|
'settings.manageData.deleteDescription': 'À utiliser uniquement si vous souhaitez supprimer définitivement votre compte et vos données de notre système.',
|
|
665
722
|
'settings.manageData.deleteDisclosure': "En raison de la nature immuable de la technologie des registres distribués, les nœuds du réseau exploités par la communauté peuvent conserver des transactions historiques générées par votre compte ; toutefois, vos informations personnelles identifiables telles que votre nom, e-mail, stockage clé-valeur, etc. seront supprimées. Tous vos actifs numériques seront perdus.",
|
|
723
|
+
'settings.manageData.downloadFailed': 'Impossible de télécharger vos données. Veuillez réessayer plus tard.',
|
|
724
|
+
'settings.manageData.deleteConfirmTitle': 'Supprimer votre compte ?',
|
|
725
|
+
'settings.manageData.deleteConfirmMessage': 'Votre compte et vos données seront définitivement supprimés. Cette action est irréversible.',
|
|
726
|
+
'settings.manageData.deleteFailed': 'Impossible de supprimer votre compte. Veuillez réessayer plus tard.',
|
|
727
|
+
'search.messages.title': 'Rechercher des messages',
|
|
728
|
+
'search.messages.placeholderChat': 'Rechercher dans cette discussion',
|
|
729
|
+
'search.messages.placeholderAll': 'Rechercher dans toutes les discussions',
|
|
730
|
+
'search.messages.scope': 'Où chercher',
|
|
731
|
+
'search.messages.scopeChat': 'Cette discussion',
|
|
732
|
+
'search.messages.scopeAll': 'Toutes',
|
|
733
|
+
'search.messages.hint': "Saisissez pour chercher dans l'historique",
|
|
734
|
+
'search.messages.tooShort': 'Saisissez au moins {count} caractères',
|
|
735
|
+
'search.messages.searching': 'Recherche...',
|
|
736
|
+
'search.messages.empty': 'Aucun message trouvé',
|
|
737
|
+
'search.messages.error': 'La recherche a échoué.',
|
|
738
|
+
'search.messages.retry': 'Réessayer',
|
|
739
|
+
'search.messages.loadMore': 'Afficher plus',
|
|
740
|
+
'search.messages.count': '{count} trouvés',
|
|
741
|
+
'search.messages.you': 'Vous',
|
|
742
|
+
'search.messages.someone': "Quelqu'un",
|
|
743
|
+
'search.messages.chat': 'Discussion',
|
|
744
|
+
'search.messages.notFound': 'Ce message est trop ancien pour être chargé.',
|
|
745
|
+
'search.messages.filters': 'Filtres',
|
|
746
|
+
'search.messages.filterSender': 'De',
|
|
747
|
+
'search.messages.filterSenderPlaceholder': "Nom de l'expéditeur",
|
|
748
|
+
'search.messages.filterSince': 'Du',
|
|
749
|
+
'search.messages.filterUntil': 'Au',
|
|
750
|
+
'search.messages.filterClear': 'Retirer le filtre',
|
|
751
|
+
'search.messages.filterClearAll': 'Effacer les filtres',
|
|
752
|
+
'search.messages.dateOrder': 'La date de début est postérieure à la date de fin.',
|
|
753
|
+
'publicChats.title': 'Découvrir des discussions',
|
|
754
|
+
'publicChats.filter': 'Filtrer les discussions',
|
|
755
|
+
'publicChats.loading': 'Chargement des discussions...',
|
|
756
|
+
'publicChats.error': 'Impossible de charger les discussions publiques.',
|
|
757
|
+
'publicChats.empty': 'Aucune discussion publique à afficher',
|
|
758
|
+
'publicChats.emptyFilterMore': 'Aucun résultat parmi les discussions chargées. Affichez-en plus pour continuer.',
|
|
759
|
+
'publicChats.join': 'Rejoindre',
|
|
760
|
+
'publicChats.open': 'Ouvrir',
|
|
761
|
+
'action.jumpToLatest': 'Aller aux derniers messages',
|
|
762
|
+
'action.close': 'Fermer',
|
|
763
|
+
'user.unknown': 'Utilisateur inconnu',
|
|
764
|
+
'modal.chatProfile.membersLoadingAll': 'Chargement de tous les membres...',
|
|
765
|
+
'search.clear': 'Effacer la recherche',
|
|
766
|
+
'search.messages.archivedTitle': 'Message plus ancien',
|
|
767
|
+
'search.messages.archivedNote': 'Ce message est plus ancien que l\'historique disponible dans cette discussion, il ne peut donc pas être affiché à sa place.',
|
|
666
768
|
};
|
|
667
769
|
|
|
668
770
|
const es: UiStringTable = {
|
|
@@ -722,6 +824,10 @@ const es: UiStringTable = {
|
|
|
722
824
|
'media.sealedDownload': 'Descargar y descifrar',
|
|
723
825
|
'media.sealedDownloading': 'Descifrando…',
|
|
724
826
|
'media.sealedDownloadFailed': 'Error de descarga: toca para reintentar',
|
|
827
|
+
'media.audioPlay': 'Reproducir mensaje de voz',
|
|
828
|
+
'media.audioPause': 'Pausar mensaje de voz',
|
|
829
|
+
'media.audioSpeed': 'Velocidad de reproducción',
|
|
830
|
+
'media.audioUnavailable': 'Audio no disponible',
|
|
725
831
|
'message.newMessages': 'Nuevos mensajes',
|
|
726
832
|
'notification.senderFallback': 'Nuevo mensaje',
|
|
727
833
|
'presence.online': 'en línea',
|
|
@@ -783,6 +889,8 @@ const es: UiStringTable = {
|
|
|
783
889
|
'action.leave': 'Salir',
|
|
784
890
|
'action.muted': 'Silenciado',
|
|
785
891
|
'action.unmuted': 'Activado',
|
|
892
|
+
'action.mute': 'Silenciar',
|
|
893
|
+
'action.unmute': 'Activar',
|
|
786
894
|
'toast.muteFailed': 'No se pudieron cambiar las notificaciones de este chat',
|
|
787
895
|
'action.create': 'Crear',
|
|
788
896
|
'action.submit': 'Enviar',
|
|
@@ -989,6 +1097,51 @@ const es: UiStringTable = {
|
|
|
989
1097
|
'settings.manageData.deleteLabel': 'Elimina tu cuenta',
|
|
990
1098
|
'settings.manageData.deleteDescription': 'Utiliza esto solo si deseas eliminar permanentemente tu cuenta y tus datos de nuestro sistema.',
|
|
991
1099
|
'settings.manageData.deleteDisclosure': 'Debido a la naturaleza inmutable de la tecnología de registro distribuido, los nodos de red operados por la comunidad pueden seguir conservando transacciones históricas generadas por tu cuenta; sin embargo, tu información personal identificable, como tu nombre, correo electrónico y almacenamiento clave-valor, será eliminada. Se perderán todos tus activos digitales.',
|
|
1100
|
+
'settings.manageData.downloadFailed': 'No se pudieron descargar tus datos. Inténtalo de nuevo más tarde.',
|
|
1101
|
+
'settings.manageData.deleteConfirmTitle': '¿Eliminar tu cuenta?',
|
|
1102
|
+
'settings.manageData.deleteConfirmMessage': 'Tu cuenta y tus datos se eliminarán de forma permanente. No se puede deshacer.',
|
|
1103
|
+
'settings.manageData.deleteFailed': 'No se pudo eliminar tu cuenta. Inténtalo de nuevo más tarde.',
|
|
1104
|
+
'search.messages.title': 'Buscar mensajes',
|
|
1105
|
+
'search.messages.placeholderChat': 'Buscar en este chat',
|
|
1106
|
+
'search.messages.placeholderAll': 'Buscar en todos los chats',
|
|
1107
|
+
'search.messages.scope': 'Dónde buscar',
|
|
1108
|
+
'search.messages.scopeChat': 'Este chat',
|
|
1109
|
+
'search.messages.scopeAll': 'Todos',
|
|
1110
|
+
'search.messages.hint': 'Escribe para buscar en el historial',
|
|
1111
|
+
'search.messages.tooShort': 'Escribe al menos {count} caracteres',
|
|
1112
|
+
'search.messages.searching': 'Buscando...',
|
|
1113
|
+
'search.messages.empty': 'No se encontraron mensajes',
|
|
1114
|
+
'search.messages.error': 'La búsqueda falló.',
|
|
1115
|
+
'search.messages.retry': 'Reintentar',
|
|
1116
|
+
'search.messages.loadMore': 'Mostrar más',
|
|
1117
|
+
'search.messages.count': '{count} encontrados',
|
|
1118
|
+
'search.messages.you': 'Tú',
|
|
1119
|
+
'search.messages.someone': 'Alguien',
|
|
1120
|
+
'search.messages.chat': 'Chat',
|
|
1121
|
+
'search.messages.notFound': 'Ese mensaje es demasiado antiguo para cargarlo.',
|
|
1122
|
+
'search.messages.filters': 'Filtros',
|
|
1123
|
+
'search.messages.filterSender': 'De',
|
|
1124
|
+
'search.messages.filterSenderPlaceholder': 'Nombre del remitente',
|
|
1125
|
+
'search.messages.filterSince': 'Desde',
|
|
1126
|
+
'search.messages.filterUntil': 'Hasta',
|
|
1127
|
+
'search.messages.filterClear': 'Quitar filtro',
|
|
1128
|
+
'search.messages.filterClearAll': 'Borrar filtros',
|
|
1129
|
+
'search.messages.dateOrder': 'La fecha de inicio es posterior a la de fin.',
|
|
1130
|
+
'publicChats.title': 'Descubrir chats',
|
|
1131
|
+
'publicChats.filter': 'Filtrar chats',
|
|
1132
|
+
'publicChats.loading': 'Cargando chats...',
|
|
1133
|
+
'publicChats.error': 'No se pudieron cargar los chats públicos.',
|
|
1134
|
+
'publicChats.empty': 'No hay chats públicos para mostrar',
|
|
1135
|
+
'publicChats.emptyFilterMore': 'Sin coincidencias entre los chats cargados. Muestra más para seguir buscando.',
|
|
1136
|
+
'publicChats.join': 'Unirse',
|
|
1137
|
+
'publicChats.open': 'Abrir',
|
|
1138
|
+
'action.jumpToLatest': 'Ir a los últimos mensajes',
|
|
1139
|
+
'action.close': 'Cerrar',
|
|
1140
|
+
'user.unknown': 'Usuario desconocido',
|
|
1141
|
+
'modal.chatProfile.membersLoadingAll': 'Cargando todos los miembros...',
|
|
1142
|
+
'search.clear': 'Borrar búsqueda',
|
|
1143
|
+
'search.messages.archivedTitle': 'Mensaje anterior',
|
|
1144
|
+
'search.messages.archivedNote': 'Este mensaje es anterior al historial disponible en este chat, por lo que no se puede mostrar en su lugar.',
|
|
992
1145
|
};
|
|
993
1146
|
|
|
994
1147
|
const pt: UiStringTable = {
|
|
@@ -1048,6 +1201,10 @@ const pt: UiStringTable = {
|
|
|
1048
1201
|
'media.sealedDownload': 'Baixar e descriptografar',
|
|
1049
1202
|
'media.sealedDownloading': 'Descriptografando…',
|
|
1050
1203
|
'media.sealedDownloadFailed': 'Falha no download — toque para tentar novamente',
|
|
1204
|
+
'media.audioPlay': 'Reproduzir mensagem de voz',
|
|
1205
|
+
'media.audioPause': 'Pausar mensagem de voz',
|
|
1206
|
+
'media.audioSpeed': 'Velocidade de reprodução',
|
|
1207
|
+
'media.audioUnavailable': 'Áudio indisponível',
|
|
1051
1208
|
'message.newMessages': 'Novas mensagens',
|
|
1052
1209
|
'notification.senderFallback': 'Nova mensagem',
|
|
1053
1210
|
'presence.online': 'online',
|
|
@@ -1109,6 +1266,8 @@ const pt: UiStringTable = {
|
|
|
1109
1266
|
'action.leave': 'Sair',
|
|
1110
1267
|
'action.muted': 'Muted',
|
|
1111
1268
|
'action.unmuted': 'Unmuted',
|
|
1269
|
+
'action.mute': 'Silenciar',
|
|
1270
|
+
'action.unmute': 'Ativar som',
|
|
1112
1271
|
'toast.muteFailed': 'Could not update notifications for this chat',
|
|
1113
1272
|
'action.create': 'Criar',
|
|
1114
1273
|
'action.submit': 'Enviar',
|
|
@@ -1315,6 +1474,51 @@ const pt: UiStringTable = {
|
|
|
1315
1474
|
'settings.manageData.deleteLabel': 'Eliminar a sua conta',
|
|
1316
1475
|
'settings.manageData.deleteDescription': 'Use isto apenas se quiser eliminar permanentemente a sua conta e os seus dados do nosso sistema.',
|
|
1317
1476
|
'settings.manageData.deleteDisclosure': 'Devido à natureza imutável da tecnologia de registo distribuído, os nós da rede operados pela comunidade podem manter transações históricas geradas pela sua conta; no entanto, as suas informações de identificação pessoal, como nome, email e armazenamento chave-valor, serão removidas. Todos os seus ativos digitais serão perdidos.',
|
|
1477
|
+
'settings.manageData.downloadFailed': 'Não foi possível transferir os seus dados. Tente novamente mais tarde.',
|
|
1478
|
+
'settings.manageData.deleteConfirmTitle': 'Eliminar a sua conta?',
|
|
1479
|
+
'settings.manageData.deleteConfirmMessage': 'A sua conta e os seus dados serão eliminados permanentemente. Não é possível anular.',
|
|
1480
|
+
'settings.manageData.deleteFailed': 'Não foi possível eliminar a sua conta. Tente novamente mais tarde.',
|
|
1481
|
+
'search.messages.title': 'Pesquisar mensagens',
|
|
1482
|
+
'search.messages.placeholderChat': 'Pesquisar nesta conversa',
|
|
1483
|
+
'search.messages.placeholderAll': 'Pesquisar em todas as conversas',
|
|
1484
|
+
'search.messages.scope': 'Onde pesquisar',
|
|
1485
|
+
'search.messages.scopeChat': 'Esta conversa',
|
|
1486
|
+
'search.messages.scopeAll': 'Todas',
|
|
1487
|
+
'search.messages.hint': 'Digite para pesquisar o histórico',
|
|
1488
|
+
'search.messages.tooShort': 'Digite pelo menos {count} caracteres',
|
|
1489
|
+
'search.messages.searching': 'Pesquisando...',
|
|
1490
|
+
'search.messages.empty': 'Nenhuma mensagem encontrada',
|
|
1491
|
+
'search.messages.error': 'A pesquisa falhou.',
|
|
1492
|
+
'search.messages.retry': 'Tentar novamente',
|
|
1493
|
+
'search.messages.loadMore': 'Mostrar mais',
|
|
1494
|
+
'search.messages.count': '{count} encontradas',
|
|
1495
|
+
'search.messages.you': 'Você',
|
|
1496
|
+
'search.messages.someone': 'Alguém',
|
|
1497
|
+
'search.messages.chat': 'Conversa',
|
|
1498
|
+
'search.messages.notFound': 'Essa mensagem é antiga demais para ser carregada.',
|
|
1499
|
+
'search.messages.filters': 'Filtros',
|
|
1500
|
+
'search.messages.filterSender': 'De',
|
|
1501
|
+
'search.messages.filterSenderPlaceholder': 'Nome do remetente',
|
|
1502
|
+
'search.messages.filterSince': 'Desde',
|
|
1503
|
+
'search.messages.filterUntil': 'Até',
|
|
1504
|
+
'search.messages.filterClear': 'Remover filtro',
|
|
1505
|
+
'search.messages.filterClearAll': 'Limpar filtros',
|
|
1506
|
+
'search.messages.dateOrder': 'A data inicial é posterior à data final.',
|
|
1507
|
+
'publicChats.title': 'Descobrir conversas',
|
|
1508
|
+
'publicChats.filter': 'Filtrar conversas',
|
|
1509
|
+
'publicChats.loading': 'Carregando conversas...',
|
|
1510
|
+
'publicChats.error': 'Não foi possível carregar as conversas públicas.',
|
|
1511
|
+
'publicChats.empty': 'Nenhuma conversa pública para mostrar',
|
|
1512
|
+
'publicChats.emptyFilterMore': 'Nenhuma correspondência entre as conversas carregadas. Mostre mais para continuar.',
|
|
1513
|
+
'publicChats.join': 'Entrar',
|
|
1514
|
+
'publicChats.open': 'Abrir',
|
|
1515
|
+
'action.jumpToLatest': 'Ir para as últimas mensagens',
|
|
1516
|
+
'action.close': 'Fechar',
|
|
1517
|
+
'user.unknown': 'Utilizador desconhecido',
|
|
1518
|
+
'modal.chatProfile.membersLoadingAll': 'Carregando todos os membros...',
|
|
1519
|
+
'search.clear': 'Limpar pesquisa',
|
|
1520
|
+
'search.messages.archivedTitle': 'Mensagem antiga',
|
|
1521
|
+
'search.messages.archivedNote': 'Esta mensagem é anterior ao histórico disponível nesta conversa, por isso não pode ser exibida no lugar.',
|
|
1318
1522
|
};
|
|
1319
1523
|
|
|
1320
1524
|
const ht: UiStringTable = {
|
|
@@ -1374,6 +1578,10 @@ const ht: UiStringTable = {
|
|
|
1374
1578
|
'media.sealedDownload': 'Telechaje epi dechifre',
|
|
1375
1579
|
'media.sealedDownloading': 'Ap dechifre…',
|
|
1376
1580
|
'media.sealedDownloadFailed': 'Telechajman echwe — peze pou reeseye',
|
|
1581
|
+
'media.audioPlay': 'Jwe mesaj vokal la',
|
|
1582
|
+
'media.audioPause': 'Poze mesaj vokal la',
|
|
1583
|
+
'media.audioSpeed': 'Vitès lekti',
|
|
1584
|
+
'media.audioUnavailable': 'Odyo pa disponib',
|
|
1377
1585
|
'message.newMessages': 'Nouvo mesaj yo',
|
|
1378
1586
|
'notification.senderFallback': 'Nouvo mesaj',
|
|
1379
1587
|
'presence.online': 'an liy',
|
|
@@ -1435,6 +1643,8 @@ const ht: UiStringTable = {
|
|
|
1435
1643
|
'action.leave': 'Kite',
|
|
1436
1644
|
'action.muted': 'Muted',
|
|
1437
1645
|
'action.unmuted': 'Unmuted',
|
|
1646
|
+
'action.mute': 'Mete an silans',
|
|
1647
|
+
'action.unmute': 'Retire silans',
|
|
1438
1648
|
'toast.muteFailed': 'Could not update notifications for this chat',
|
|
1439
1649
|
'action.create': 'Kreye',
|
|
1440
1650
|
'action.submit': 'Soumèt',
|
|
@@ -1641,6 +1851,51 @@ const ht: UiStringTable = {
|
|
|
1641
1851
|
'settings.manageData.deleteLabel': 'Efase kont ou',
|
|
1642
1852
|
'settings.manageData.deleteDescription': 'Sèvi ak sa a sèlman si ou vle efase kont ou ak done ou yo nèt nan sistèm nou an.',
|
|
1643
1853
|
'settings.manageData.deleteDisclosure': 'Akoz nati imityab teknoloji rejis distribiye a, nœud rezo kominote a opere yo ka toujou kenbe tranzaksyon istorik kont ou an te jenere; sepandan, enfòmasyon idantifyab pèsonèl ou yo tankou non ou, imèl ou ak depo kle-valè ou yo ap retire. Tout byen dijital ou yo ap pèdi.',
|
|
1854
|
+
'settings.manageData.downloadFailed': 'Nou pa t ka telechaje done ou yo. Tanpri eseye ankò pita.',
|
|
1855
|
+
'settings.manageData.deleteConfirmTitle': 'Efase kont ou?',
|
|
1856
|
+
'settings.manageData.deleteConfirmMessage': 'Sa ap efase kont ou ak done ou yo nèt. Ou pa ka defèt sa.',
|
|
1857
|
+
'settings.manageData.deleteFailed': 'Nou pa t ka efase kont ou. Tanpri eseye ankò pita.',
|
|
1858
|
+
'search.messages.title': 'Chèche mesaj',
|
|
1859
|
+
'search.messages.placeholderChat': 'Chèche nan chat sa a',
|
|
1860
|
+
'search.messages.placeholderAll': 'Chèche nan tout chat yo',
|
|
1861
|
+
'search.messages.scope': 'Ki kote pou chèche',
|
|
1862
|
+
'search.messages.scopeChat': 'Chat sa a',
|
|
1863
|
+
'search.messages.scopeAll': 'Tout',
|
|
1864
|
+
'search.messages.hint': 'Tape pou chèche nan istwa a',
|
|
1865
|
+
'search.messages.tooShort': 'Tape omwen {count} karaktè',
|
|
1866
|
+
'search.messages.searching': 'Y ap chèche...',
|
|
1867
|
+
'search.messages.empty': 'Pa gen mesaj jwenn',
|
|
1868
|
+
'search.messages.error': 'Rechèch la echwe.',
|
|
1869
|
+
'search.messages.retry': 'Eseye ankò',
|
|
1870
|
+
'search.messages.loadMore': 'Montre plis',
|
|
1871
|
+
'search.messages.count': '{count} jwenn',
|
|
1872
|
+
'search.messages.you': 'Ou',
|
|
1873
|
+
'search.messages.someone': 'Yon moun',
|
|
1874
|
+
'search.messages.chat': 'Chat',
|
|
1875
|
+
'search.messages.notFound': 'Mesaj sa a twò ansyen pou chaje.',
|
|
1876
|
+
'search.messages.filters': 'Filt',
|
|
1877
|
+
'search.messages.filterSender': 'Soti kay',
|
|
1878
|
+
'search.messages.filterSenderPlaceholder': 'Non moun ki voye a',
|
|
1879
|
+
'search.messages.filterSince': 'Depi',
|
|
1880
|
+
'search.messages.filterUntil': 'Jiska',
|
|
1881
|
+
'search.messages.filterClear': 'Retire filt la',
|
|
1882
|
+
'search.messages.filterClearAll': 'Efase filt yo',
|
|
1883
|
+
'search.messages.dateOrder': 'Dat kòmansman an pi ta pase dat fen an.',
|
|
1884
|
+
'publicChats.title': 'Dekouvri chat',
|
|
1885
|
+
'publicChats.filter': 'Filtre chat yo',
|
|
1886
|
+
'publicChats.loading': 'Y ap chaje chat yo...',
|
|
1887
|
+
'publicChats.error': 'Nou pa t ka chaje chat piblik yo.',
|
|
1888
|
+
'publicChats.empty': 'Pa gen chat piblik pou montre',
|
|
1889
|
+
'publicChats.emptyFilterMore': 'Pa gen rezilta nan chat ki chaje yo. Montre plis pou kontinye.',
|
|
1890
|
+
'publicChats.join': 'Antre',
|
|
1891
|
+
'publicChats.open': 'Louvri',
|
|
1892
|
+
'action.jumpToLatest': 'Ale nan dènye mesaj yo',
|
|
1893
|
+
'action.close': 'Fèmen',
|
|
1894
|
+
'user.unknown': 'Itilizatè enkoni',
|
|
1895
|
+
'modal.chatProfile.membersLoadingAll': 'N ap chaje tout manm yo...',
|
|
1896
|
+
'search.clear': 'Efase rechèch',
|
|
1897
|
+
'search.messages.archivedTitle': 'Mesaj ki pi ansyen',
|
|
1898
|
+
'search.messages.archivedNote': 'Mesaj sa a pi ansyen pase istwa ki disponib nan chat sa a, kidonk nou pa ka montre l kote li ye a.',
|
|
1644
1899
|
};
|
|
1645
1900
|
|
|
1646
1901
|
const zh: UiStringTable = {
|
|
@@ -1700,6 +1955,10 @@ const zh: UiStringTable = {
|
|
|
1700
1955
|
'media.sealedDownload': '下载并解密',
|
|
1701
1956
|
'media.sealedDownloading': '正在解密…',
|
|
1702
1957
|
'media.sealedDownloadFailed': '下载失败 — 点击重试',
|
|
1958
|
+
'media.audioPlay': '播放语音消息',
|
|
1959
|
+
'media.audioPause': '暂停语音消息',
|
|
1960
|
+
'media.audioSpeed': '播放速度',
|
|
1961
|
+
'media.audioUnavailable': '音频不可用',
|
|
1703
1962
|
'message.newMessages': '新消息',
|
|
1704
1963
|
'notification.senderFallback': '新消息',
|
|
1705
1964
|
'presence.online': '在线',
|
|
@@ -1761,6 +2020,8 @@ const zh: UiStringTable = {
|
|
|
1761
2020
|
'action.leave': '退出',
|
|
1762
2021
|
'action.muted': 'Muted',
|
|
1763
2022
|
'action.unmuted': 'Unmuted',
|
|
2023
|
+
'action.mute': '静音',
|
|
2024
|
+
'action.unmute': '取消静音',
|
|
1764
2025
|
'toast.muteFailed': 'Could not update notifications for this chat',
|
|
1765
2026
|
'action.create': '创建',
|
|
1766
2027
|
'action.submit': '提交',
|
|
@@ -1967,6 +2228,51 @@ const zh: UiStringTable = {
|
|
|
1967
2228
|
'settings.manageData.deleteLabel': '删除您的账户',
|
|
1968
2229
|
'settings.manageData.deleteDescription': '仅当您希望从我们的系统中永久删除您的账户及数据时才使用此功能。',
|
|
1969
2230
|
'settings.manageData.deleteDisclosure': '由于分布式账本技术的不可篡改特性,社区运营的网络节点可能仍会保留您账户生成的历史交易记录;但您的个人身份信息,如姓名、电子邮箱、键值存储等将被移除。您的所有数字资产都将丢失。',
|
|
2231
|
+
'settings.manageData.downloadFailed': '无法下载您的数据,请稍后重试。',
|
|
2232
|
+
'settings.manageData.deleteConfirmTitle': '删除您的账户?',
|
|
2233
|
+
'settings.manageData.deleteConfirmMessage': '这将永久删除您的账户和数据,且无法撤销。',
|
|
2234
|
+
'settings.manageData.deleteFailed': '无法删除您的账户,请稍后重试。',
|
|
2235
|
+
'search.messages.title': '搜索消息',
|
|
2236
|
+
'search.messages.placeholderChat': '在此聊天中搜索',
|
|
2237
|
+
'search.messages.placeholderAll': '在所有聊天中搜索',
|
|
2238
|
+
'search.messages.scope': '搜索范围',
|
|
2239
|
+
'search.messages.scopeChat': '此聊天',
|
|
2240
|
+
'search.messages.scopeAll': '全部',
|
|
2241
|
+
'search.messages.hint': '输入以搜索聊天记录',
|
|
2242
|
+
'search.messages.tooShort': '请至少输入 {count} 个字符',
|
|
2243
|
+
'search.messages.searching': '搜索中...',
|
|
2244
|
+
'search.messages.empty': '未找到消息',
|
|
2245
|
+
'search.messages.error': '搜索失败。',
|
|
2246
|
+
'search.messages.retry': '重试',
|
|
2247
|
+
'search.messages.loadMore': '显示更多',
|
|
2248
|
+
'search.messages.count': '找到 {count} 条',
|
|
2249
|
+
'search.messages.you': '你',
|
|
2250
|
+
'search.messages.someone': '某人',
|
|
2251
|
+
'search.messages.chat': '聊天',
|
|
2252
|
+
'search.messages.notFound': '该消息太久远,无法加载。',
|
|
2253
|
+
'search.messages.filters': '筛选',
|
|
2254
|
+
'search.messages.filterSender': '发送者',
|
|
2255
|
+
'search.messages.filterSenderPlaceholder': '发送者姓名',
|
|
2256
|
+
'search.messages.filterSince': '开始日期',
|
|
2257
|
+
'search.messages.filterUntil': '结束日期',
|
|
2258
|
+
'search.messages.filterClear': '移除筛选',
|
|
2259
|
+
'search.messages.filterClearAll': '清除筛选',
|
|
2260
|
+
'search.messages.dateOrder': '开始日期晚于结束日期。',
|
|
2261
|
+
'publicChats.title': '发现聊天',
|
|
2262
|
+
'publicChats.filter': '筛选聊天',
|
|
2263
|
+
'publicChats.loading': '正在加载聊天...',
|
|
2264
|
+
'publicChats.error': '无法加载公共聊天。',
|
|
2265
|
+
'publicChats.empty': '没有可显示的公共聊天',
|
|
2266
|
+
'publicChats.emptyFilterMore': '已加载的聊天中没有匹配项。显示更多以继续查找。',
|
|
2267
|
+
'publicChats.join': '加入',
|
|
2268
|
+
'publicChats.open': '打开',
|
|
2269
|
+
'action.jumpToLatest': '跳到最新消息',
|
|
2270
|
+
'action.close': '关闭',
|
|
2271
|
+
'user.unknown': '未知用户',
|
|
2272
|
+
'modal.chatProfile.membersLoadingAll': '正在加载全部成员...',
|
|
2273
|
+
'search.clear': '清除搜索',
|
|
2274
|
+
'search.messages.archivedTitle': '较早的消息',
|
|
2275
|
+
'search.messages.archivedNote': '这条消息早于此聊天中可用的历史记录,因此无法在原位显示。',
|
|
1970
2276
|
};
|
|
1971
2277
|
|
|
1972
2278
|
// Built-in tables keyed by base language. Add a language here (plus the code
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import http from '../apiClient';
|
|
2
|
+
import { store } from '../../roomStore';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* GET /v2/apps/{appId}/messages/search: full-text / substring search over
|
|
6
|
+
* the chat archive. For a user token the server restricts it to chats the
|
|
7
|
+
* caller can see, so no client-side filtering is needed for privacy.
|
|
8
|
+
*/
|
|
9
|
+
export interface MessageSearchHit {
|
|
10
|
+
/** The archive row's own id: the only identifier every hit is guaranteed to have. */
|
|
11
|
+
id: string;
|
|
12
|
+
/** Room name, the local part of the room JID. */
|
|
13
|
+
chatId: string;
|
|
14
|
+
chatType: string;
|
|
15
|
+
/** Full room JID. */
|
|
16
|
+
room: string;
|
|
17
|
+
/** Sender's full JID, WITH the xmpp host: `appId_userId@xmpp.host`. */
|
|
18
|
+
from: string;
|
|
19
|
+
fromUserId: string;
|
|
20
|
+
body: string;
|
|
21
|
+
messageId: string;
|
|
22
|
+
stanzaId: string;
|
|
23
|
+
createdAt: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface MessageSearchPage {
|
|
27
|
+
items: MessageSearchHit[];
|
|
28
|
+
/** Total matches on the server, not the size of this page. */
|
|
29
|
+
total: number;
|
|
30
|
+
offset: number;
|
|
31
|
+
limit: number;
|
|
32
|
+
/**
|
|
33
|
+
* Where the next page starts. Counted in SERVER rows, not in `items`:
|
|
34
|
+
* deleted messages are dropped from `items`, and paging by the filtered
|
|
35
|
+
* count would re-request rows already seen.
|
|
36
|
+
*/
|
|
37
|
+
nextOffset: number;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface SearchMessagesParams {
|
|
41
|
+
q: string;
|
|
42
|
+
/** Room name (local part of the JID). Omit to search every visible chat. */
|
|
43
|
+
chatId?: string;
|
|
44
|
+
/** Only messages from this user (a room member's `_id`). */
|
|
45
|
+
fromUserId?: string;
|
|
46
|
+
/** ISO 8601 bounds; the server rejects anything else. */
|
|
47
|
+
since?: string;
|
|
48
|
+
until?: string;
|
|
49
|
+
limit?: number;
|
|
50
|
+
offset?: number;
|
|
51
|
+
signal?: AbortSignal;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export const MESSAGE_SEARCH_PAGE_SIZE = 20;
|
|
55
|
+
|
|
56
|
+
type RawHit = Partial<Omit<MessageSearchHit, 'id'>> & {
|
|
57
|
+
_id?: string;
|
|
58
|
+
deletedAt?: string | null;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export async function searchMessages({
|
|
62
|
+
q,
|
|
63
|
+
chatId,
|
|
64
|
+
fromUserId,
|
|
65
|
+
since,
|
|
66
|
+
until,
|
|
67
|
+
limit = MESSAGE_SEARCH_PAGE_SIZE,
|
|
68
|
+
offset = 0,
|
|
69
|
+
signal,
|
|
70
|
+
}: SearchMessagesParams): Promise<MessageSearchPage> {
|
|
71
|
+
const state = store.getState().chatSettingStore;
|
|
72
|
+
const appId = state.config?.appId;
|
|
73
|
+
const token = state.user?.token || '';
|
|
74
|
+
if (!appId) throw new Error('message_search_no_app_id');
|
|
75
|
+
|
|
76
|
+
const response = await http.get(
|
|
77
|
+
`/v2/apps/${encodeURIComponent(appId)}/messages/search`,
|
|
78
|
+
{
|
|
79
|
+
params: {
|
|
80
|
+
q,
|
|
81
|
+
limit,
|
|
82
|
+
offset,
|
|
83
|
+
...(chatId ? { chatId } : {}),
|
|
84
|
+
...(fromUserId ? { fromUserId } : {}),
|
|
85
|
+
...(since ? { since } : {}),
|
|
86
|
+
...(until ? { until } : {}),
|
|
87
|
+
},
|
|
88
|
+
headers: { Authorization: token },
|
|
89
|
+
signal,
|
|
90
|
+
}
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
const data = response?.data || {};
|
|
94
|
+
const raw: RawHit[] = Array.isArray(data.items) ? data.items : [];
|
|
95
|
+
|
|
96
|
+
return {
|
|
97
|
+
// A deleted message is still in the archive with `deletedAt` set; showing
|
|
98
|
+
// it would let a search resurrect text the author removed.
|
|
99
|
+
items: raw
|
|
100
|
+
.filter(
|
|
101
|
+
(hit) => !hit.deletedAt && typeof hit.body === 'string' && hit.body
|
|
102
|
+
)
|
|
103
|
+
.map((hit) => ({
|
|
104
|
+
id: String(hit._id ?? ''),
|
|
105
|
+
chatId: String(hit.chatId ?? ''),
|
|
106
|
+
chatType: String(hit.chatType ?? ''),
|
|
107
|
+
room: String(hit.room ?? ''),
|
|
108
|
+
from: String(hit.from ?? ''),
|
|
109
|
+
fromUserId: String(hit.fromUserId ?? ''),
|
|
110
|
+
body: hit.body as string,
|
|
111
|
+
messageId: String(hit.messageId ?? ''),
|
|
112
|
+
stanzaId: String(hit.stanzaId ?? ''),
|
|
113
|
+
createdAt: String(hit.createdAt ?? ''),
|
|
114
|
+
})),
|
|
115
|
+
total: Number(data.total) || 0,
|
|
116
|
+
offset: Number(data.offset) || offset,
|
|
117
|
+
limit: Number(data.limit) || limit,
|
|
118
|
+
nextOffset: offset + raw.length,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* A key that is unique per hit. stanzaId and messageId are NOT: on QA whole
|
|
124
|
+
* pages of older hits come back with both empty, which made every React key
|
|
125
|
+
* `chatId:` (rows were left behind when the list changed) and made a
|
|
126
|
+
* duplicate check by those ids throw real hits away.
|
|
127
|
+
*/
|
|
128
|
+
export const hitKey = (hit: MessageSearchHit): string =>
|
|
129
|
+
hit.id ||
|
|
130
|
+
`${hit.chatId}:${hit.stanzaId}:${hit.messageId}:${hit.createdAt}:${hit.body.slice(0, 24)}`;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import http from '../apiClient';
|
|
2
|
+
import { store } from '../../roomStore';
|
|
3
|
+
|
|
4
|
+
/** One entry of GET /v1/chats/public: a chat anyone in the app may join. */
|
|
5
|
+
export interface PublicChat {
|
|
6
|
+
/** Room name: the local part of its JID. */
|
|
7
|
+
name: string;
|
|
8
|
+
title: string;
|
|
9
|
+
description: string;
|
|
10
|
+
picture: string;
|
|
11
|
+
e2ee: boolean;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface PublicChatsPage {
|
|
15
|
+
items: PublicChat[];
|
|
16
|
+
total: number;
|
|
17
|
+
offset: number;
|
|
18
|
+
limit: number;
|
|
19
|
+
/** Server rows consumed so far, not counting hidden ones. */
|
|
20
|
+
nextOffset: number;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// The endpoint rejects anything above 50 with a validation error.
|
|
24
|
+
export const PUBLIC_CHATS_PAGE_SIZE = 50;
|
|
25
|
+
|
|
26
|
+
interface RawPublicChat {
|
|
27
|
+
name?: string;
|
|
28
|
+
title?: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
picture?: string;
|
|
31
|
+
type?: string;
|
|
32
|
+
e2ee?: boolean;
|
|
33
|
+
reported?: boolean;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export async function getPublicChats({
|
|
37
|
+
offset = 0,
|
|
38
|
+
limit = PUBLIC_CHATS_PAGE_SIZE,
|
|
39
|
+
signal,
|
|
40
|
+
}: {
|
|
41
|
+
offset?: number;
|
|
42
|
+
limit?: number;
|
|
43
|
+
signal?: AbortSignal;
|
|
44
|
+
} = {}): Promise<PublicChatsPage> {
|
|
45
|
+
const token = store.getState().chatSettingStore.user?.token || '';
|
|
46
|
+
const response = await http.get('/v1/chats/public', {
|
|
47
|
+
params: { limit: Math.min(limit, PUBLIC_CHATS_PAGE_SIZE), offset },
|
|
48
|
+
headers: { Authorization: token },
|
|
49
|
+
signal,
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
const data = response?.data || {};
|
|
53
|
+
const raw: RawPublicChat[] = Array.isArray(data.items) ? data.items : [];
|
|
54
|
+
|
|
55
|
+
return {
|
|
56
|
+
// A chat that has been reported is not one to advertise in a directory.
|
|
57
|
+
items: raw
|
|
58
|
+
.filter((chat) => chat.name && !chat.reported)
|
|
59
|
+
.map((chat) => ({
|
|
60
|
+
name: String(chat.name),
|
|
61
|
+
title: String(chat.title || '').trim(),
|
|
62
|
+
description: String(chat.description || '').trim(),
|
|
63
|
+
picture: String(chat.picture || ''),
|
|
64
|
+
e2ee: Boolean(chat.e2ee),
|
|
65
|
+
})),
|
|
66
|
+
total: Number(data.total) || 0,
|
|
67
|
+
offset: Number(data.offset) || offset,
|
|
68
|
+
limit: Number(data.limit) || limit,
|
|
69
|
+
nextOffset: offset + raw.length,
|
|
70
|
+
};
|
|
71
|
+
}
|