@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
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import React, { useState, useEffect, useRef } from 'react';
|
|
4
4
|
import styled, { css } from 'styled-components/native';
|
|
5
|
-
import { TextInput, TouchableOpacity } from 'react-native';
|
|
5
|
+
import { TextInput, TouchableOpacity, Text, StyleSheet } from 'react-native';
|
|
6
6
|
import { useTheme } from '../../hooks/useTheme';
|
|
7
|
+
import { useT } from '../../i18n/useT';
|
|
7
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
9
|
const shouldForwardProp = prop => prop !== 'animated' && prop !== 'expanded' && prop !== 'direction';
|
|
9
10
|
const SearchInputWrapper = styled.View.withConfig({
|
|
@@ -59,6 +60,19 @@ const StyledInput = styled(TextInput)`
|
|
|
59
60
|
transition: opacity 0.7s ease-in-out;
|
|
60
61
|
`}
|
|
61
62
|
`;
|
|
63
|
+
const clearStyles = StyleSheet.create({
|
|
64
|
+
button: {
|
|
65
|
+
width: 28,
|
|
66
|
+
height: 28,
|
|
67
|
+
marginLeft: 4,
|
|
68
|
+
alignItems: 'center',
|
|
69
|
+
justifyContent: 'center'
|
|
70
|
+
},
|
|
71
|
+
glyph: {
|
|
72
|
+
fontSize: 22,
|
|
73
|
+
lineHeight: 24
|
|
74
|
+
}
|
|
75
|
+
});
|
|
62
76
|
const SearchInput = ({
|
|
63
77
|
icon,
|
|
64
78
|
animated = false,
|
|
@@ -67,6 +81,7 @@ const SearchInput = ({
|
|
|
67
81
|
...props
|
|
68
82
|
}) => {
|
|
69
83
|
const theme = useTheme();
|
|
84
|
+
const t = useT();
|
|
70
85
|
const [isExpanded, setIsExpanded] = useState(false);
|
|
71
86
|
const [isTyping, setIsTyping] = useState(false);
|
|
72
87
|
const inputRef = useRef(null);
|
|
@@ -109,7 +124,29 @@ const SearchInput = ({
|
|
|
109
124
|
placeholderTextColor: theme.textMuted,
|
|
110
125
|
keyboardAppearance: theme.dark ? 'dark' : 'light',
|
|
111
126
|
...props
|
|
112
|
-
})
|
|
127
|
+
}), props.value ? /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
128
|
+
testID: "search-clear",
|
|
129
|
+
accessibilityRole: "button",
|
|
130
|
+
accessibilityLabel: t('search.clear'),
|
|
131
|
+
hitSlop: {
|
|
132
|
+
top: 8,
|
|
133
|
+
bottom: 8,
|
|
134
|
+
left: 8,
|
|
135
|
+
right: 8
|
|
136
|
+
},
|
|
137
|
+
onPress: () => {
|
|
138
|
+
props.onChangeText?.('');
|
|
139
|
+
setIsTyping(false);
|
|
140
|
+
inputRef.current?.focus();
|
|
141
|
+
},
|
|
142
|
+
style: clearStyles.button,
|
|
143
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
144
|
+
style: [clearStyles.glyph, {
|
|
145
|
+
color: theme.textMuted
|
|
146
|
+
}],
|
|
147
|
+
children: '\u00D7'
|
|
148
|
+
})
|
|
149
|
+
}) : null]
|
|
113
150
|
});
|
|
114
151
|
};
|
|
115
152
|
export { SearchInput };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useEffect","useRef","styled","css","TextInput","TouchableOpacity","useTheme","jsx","_jsx","jsxs","_jsxs","shouldForwardProp","prop","SearchInputWrapper","View","withConfig","theme","surface","animated","expanded","SearchIcon","textMuted","StyledInput","text","SearchInput","icon","direction","placeholder","props","isExpanded","setIsExpanded","isTyping","setIsTyping","inputRef","handleFocus","handleBlur","handleInput","timeout","setTimeout","current","focus","clearTimeout","onTouchStart","children","onPress","ref","onBlur","onChangeText","placeholderTextColor","keyboardAppearance","dark"],"sourceRoot":"../../../../src","sources":["components/InputComponents/Search.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAC1D,OAAOC,MAAM,IAAIC,GAAG,QAAQ,0BAA0B;AACtD,SACEC,SAAS,EAETC,gBAAgB,
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","useRef","styled","css","TextInput","TouchableOpacity","Text","StyleSheet","useTheme","useT","jsx","_jsx","jsxs","_jsxs","shouldForwardProp","prop","SearchInputWrapper","View","withConfig","theme","surface","animated","expanded","SearchIcon","textMuted","StyledInput","text","clearStyles","create","button","width","height","marginLeft","alignItems","justifyContent","glyph","fontSize","lineHeight","SearchInput","icon","direction","placeholder","props","t","isExpanded","setIsExpanded","isTyping","setIsTyping","inputRef","handleFocus","handleBlur","handleInput","timeout","setTimeout","current","focus","clearTimeout","onTouchStart","children","onPress","ref","onBlur","onChangeText","placeholderTextColor","keyboardAppearance","dark","value","testID","accessibilityRole","accessibilityLabel","hitSlop","top","bottom","left","right","style","color"],"sourceRoot":"../../../../src","sources":["components/InputComponents/Search.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useEffect } from 'react';
|
|
4
|
+
import { Pressable, ScrollView, StyleSheet, Text, View } from 'react-native';
|
|
5
|
+
import { useDispatch, useSelector } from 'react-redux';
|
|
6
|
+
import { clearArchivedMessage } from '../../roomStore/roomsSlice';
|
|
7
|
+
import { useT } from '../../i18n/useT';
|
|
8
|
+
import { useTheme } from '../../hooks/useTheme';
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
const formatWhen = iso => {
|
|
11
|
+
const date = new Date(iso);
|
|
12
|
+
if (Number.isNaN(date.getTime())) {
|
|
13
|
+
return '';
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
return date.toLocaleString();
|
|
17
|
+
} catch {
|
|
18
|
+
return date.toISOString();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The message a search hit points at, shown when the transcript cannot reach
|
|
24
|
+
* it (the search archive is deeper than the chat's own history). It sits over
|
|
25
|
+
* the conversation of the room it came from, so it needs no navigation and
|
|
26
|
+
* says what the message is instead of reporting that it was not found.
|
|
27
|
+
*/
|
|
28
|
+
const ArchivedMessageCard = ({
|
|
29
|
+
roomJID
|
|
30
|
+
}) => {
|
|
31
|
+
const t = useT();
|
|
32
|
+
const theme = useTheme();
|
|
33
|
+
const dispatch = useDispatch();
|
|
34
|
+
const message = useSelector(state => state.rooms.archivedMessage);
|
|
35
|
+
const visible = Boolean(message && message.roomJID === roomJID);
|
|
36
|
+
|
|
37
|
+
// Gone with the conversation it belongs to.
|
|
38
|
+
useEffect(() => () => {
|
|
39
|
+
dispatch(clearArchivedMessage());
|
|
40
|
+
}, [dispatch]);
|
|
41
|
+
if (!visible || !message) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const close = () => dispatch(clearArchivedMessage());
|
|
45
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
46
|
+
testID: "archived-message-card",
|
|
47
|
+
style: [styles.scrim, {
|
|
48
|
+
backgroundColor: theme.overlay
|
|
49
|
+
}],
|
|
50
|
+
onPress: close,
|
|
51
|
+
accessibilityRole: "button",
|
|
52
|
+
accessibilityLabel: t('action.close'),
|
|
53
|
+
children: /*#__PURE__*/_jsxs(Pressable, {
|
|
54
|
+
style: [styles.card, {
|
|
55
|
+
backgroundColor: theme.surface,
|
|
56
|
+
shadowColor: theme.shadow
|
|
57
|
+
}],
|
|
58
|
+
onPress: () => undefined,
|
|
59
|
+
accessibilityRole: "alert",
|
|
60
|
+
accessibilityLabel: t('search.messages.archivedTitle'),
|
|
61
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
62
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
63
|
+
style: [styles.sender, {
|
|
64
|
+
color: theme.text
|
|
65
|
+
}],
|
|
66
|
+
children: message.sender
|
|
67
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
68
|
+
style: [styles.meta, {
|
|
69
|
+
color: theme.textSecondary
|
|
70
|
+
}],
|
|
71
|
+
children: formatWhen(message.createdAt)
|
|
72
|
+
})]
|
|
73
|
+
}), /*#__PURE__*/_jsx(ScrollView, {
|
|
74
|
+
style: [styles.bodyBox, {
|
|
75
|
+
backgroundColor: theme.surfaceSecondary
|
|
76
|
+
}],
|
|
77
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
78
|
+
selectable: true,
|
|
79
|
+
style: [styles.body, {
|
|
80
|
+
color: theme.text
|
|
81
|
+
}],
|
|
82
|
+
children: message.body
|
|
83
|
+
})
|
|
84
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
85
|
+
style: [styles.note, {
|
|
86
|
+
color: theme.textSecondary
|
|
87
|
+
}],
|
|
88
|
+
children: t('search.messages.archivedNote')
|
|
89
|
+
}), /*#__PURE__*/_jsx(Pressable, {
|
|
90
|
+
testID: "archived-message-close",
|
|
91
|
+
onPress: close,
|
|
92
|
+
style: [styles.close, {
|
|
93
|
+
borderColor: theme.border
|
|
94
|
+
}],
|
|
95
|
+
accessibilityRole: "button",
|
|
96
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
97
|
+
style: {
|
|
98
|
+
color: theme.text
|
|
99
|
+
},
|
|
100
|
+
children: t('action.close')
|
|
101
|
+
})
|
|
102
|
+
})]
|
|
103
|
+
})
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
const styles = StyleSheet.create({
|
|
107
|
+
scrim: {
|
|
108
|
+
position: 'absolute',
|
|
109
|
+
top: 0,
|
|
110
|
+
left: 0,
|
|
111
|
+
right: 0,
|
|
112
|
+
bottom: 0,
|
|
113
|
+
zIndex: 5,
|
|
114
|
+
alignItems: 'center',
|
|
115
|
+
justifyContent: 'center',
|
|
116
|
+
padding: 16
|
|
117
|
+
},
|
|
118
|
+
card: {
|
|
119
|
+
width: '100%',
|
|
120
|
+
maxWidth: 460,
|
|
121
|
+
maxHeight: '100%',
|
|
122
|
+
padding: 16,
|
|
123
|
+
borderRadius: 16,
|
|
124
|
+
gap: 12,
|
|
125
|
+
shadowOffset: {
|
|
126
|
+
width: 0,
|
|
127
|
+
height: 8
|
|
128
|
+
},
|
|
129
|
+
shadowOpacity: 0.18,
|
|
130
|
+
shadowRadius: 24,
|
|
131
|
+
elevation: 8
|
|
132
|
+
},
|
|
133
|
+
sender: {
|
|
134
|
+
fontSize: 16,
|
|
135
|
+
fontWeight: '600'
|
|
136
|
+
},
|
|
137
|
+
meta: {
|
|
138
|
+
fontSize: 12
|
|
139
|
+
},
|
|
140
|
+
bodyBox: {
|
|
141
|
+
padding: 12,
|
|
142
|
+
borderRadius: 12,
|
|
143
|
+
maxHeight: 280
|
|
144
|
+
},
|
|
145
|
+
body: {
|
|
146
|
+
fontSize: 14,
|
|
147
|
+
lineHeight: 21
|
|
148
|
+
},
|
|
149
|
+
note: {
|
|
150
|
+
fontSize: 12
|
|
151
|
+
},
|
|
152
|
+
close: {
|
|
153
|
+
alignSelf: 'flex-end',
|
|
154
|
+
paddingVertical: 6,
|
|
155
|
+
paddingHorizontal: 16,
|
|
156
|
+
borderWidth: 1,
|
|
157
|
+
borderRadius: 999
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
export default ArchivedMessageCard;
|
|
161
|
+
//# sourceMappingURL=ArchivedMessageCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","Pressable","ScrollView","StyleSheet","Text","View","useDispatch","useSelector","clearArchivedMessage","useT","useTheme","jsx","_jsx","jsxs","_jsxs","formatWhen","iso","date","Date","Number","isNaN","getTime","toLocaleString","toISOString","ArchivedMessageCard","roomJID","t","theme","dispatch","message","state","rooms","archivedMessage","visible","Boolean","close","testID","style","styles","scrim","backgroundColor","overlay","onPress","accessibilityRole","accessibilityLabel","children","card","surface","shadowColor","shadow","undefined","sender","color","text","meta","textSecondary","createdAt","bodyBox","surfaceSecondary","selectable","body","note","borderColor","border","create","position","top","left","right","bottom","zIndex","alignItems","justifyContent","padding","width","maxWidth","maxHeight","borderRadius","gap","shadowOffset","height","shadowOpacity","shadowRadius","elevation","fontSize","fontWeight","lineHeight","alignSelf","paddingVertical","paddingHorizontal","borderWidth"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ArchivedMessageCard.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,6 +11,7 @@ import Button from '../styled/Button';
|
|
|
11
11
|
import { BackIcon, BurgerMenuIcon, LockIcon } from '../../assets/icons';
|
|
12
12
|
import { CallButtons } from '../VideoCalls/CallButtons';
|
|
13
13
|
import { LanguageSelectorButton } from './LanguageSelectorButton';
|
|
14
|
+
import { MessageSearchButton } from './MessageSearchButton';
|
|
14
15
|
import { useDispatch, useSelector, useStore } from 'react-redux';
|
|
15
16
|
import Composing from '../styled/StyledInputComponents/Composing';
|
|
16
17
|
import { deleteRoom, setCurrentRoom, setIsLoading } from '../../roomStore/roomsSlice';
|
|
@@ -27,6 +28,7 @@ import { useTheme } from '../../hooks/useTheme';
|
|
|
27
28
|
import { resolveHeaderHeight } from '../../helpers/headerLayout';
|
|
28
29
|
import { getElementFont } from '../../helpers/getElementFont';
|
|
29
30
|
import { useT } from '../../i18n/useT';
|
|
31
|
+
import { getRoomUserCount } from '../../helpers/roomUserCount';
|
|
30
32
|
import { useConnectionLabel } from '../../hooks/useConnectionLabel';
|
|
31
33
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
32
34
|
const ChatHeader = ({
|
|
@@ -49,6 +51,10 @@ const ChatHeader = ({
|
|
|
49
51
|
const theme = useTheme();
|
|
50
52
|
const t = useT();
|
|
51
53
|
const connectionLabel = useConnectionLabel();
|
|
54
|
+
|
|
55
|
+
// usersCnt is the room's true total, members[] can be a truncated page of
|
|
56
|
+
// a big room: show the larger of the two.
|
|
57
|
+
const userCount = getRoomUserCount(roomState || currentRoom);
|
|
52
58
|
const handleChangeChat = chat => {
|
|
53
59
|
dispatch(setCurrentRoom({
|
|
54
60
|
roomJID: chat.jid
|
|
@@ -171,6 +177,7 @@ const ChatHeader = ({
|
|
|
171
177
|
})
|
|
172
178
|
})]
|
|
173
179
|
}), /*#__PURE__*/_jsx(View, {
|
|
180
|
+
style: styles.subtitleBox,
|
|
174
181
|
children: connectionLabel ?
|
|
175
182
|
/*#__PURE__*/
|
|
176
183
|
// The session's state takes the subtitle's place: no
|
|
@@ -185,13 +192,18 @@ const ChatHeader = ({
|
|
|
185
192
|
})
|
|
186
193
|
}) : composing ? /*#__PURE__*/_jsx(Composing, {
|
|
187
194
|
usersTyping: currentRoom?.composingList
|
|
188
|
-
}) : config?.disableUserCount ? undefined : /*#__PURE__*/_jsx(ChatContainerHeaderLabel
|
|
195
|
+
}) : config?.disableUserCount ? undefined : /*#__PURE__*/_jsx(ChatContainerHeaderLabel
|
|
196
|
+
// One line, ellipsized: a long count in a narrow header
|
|
197
|
+
// must not wrap and push the header buttons around.
|
|
198
|
+
, {
|
|
199
|
+
numberOfLines: 1,
|
|
200
|
+
ellipsizeMode: "tail",
|
|
189
201
|
style: [styles.subLabel, {
|
|
190
202
|
color: theme.textSecondary
|
|
191
203
|
}, getElementFont(config, 'headerSubtitle')],
|
|
192
204
|
children: /*#__PURE__*/_jsx(Text, {
|
|
193
|
-
children: t(
|
|
194
|
-
count:
|
|
205
|
+
children: t(userCount === 1 ? 'header.userCountSingular' : 'header.userCountPlural', {
|
|
206
|
+
count: userCount
|
|
195
207
|
})
|
|
196
208
|
})
|
|
197
209
|
})
|
|
@@ -200,7 +212,7 @@ const ChatHeader = ({
|
|
|
200
212
|
})]
|
|
201
213
|
}), /*#__PURE__*/_jsxs(View, {
|
|
202
214
|
style: styles.rightContainer,
|
|
203
|
-
children: [/*#__PURE__*/_jsx(LanguageSelectorButton, {}), /*#__PURE__*/_jsx(CallButtons, {}), !config?.disableChatInfo?.disableRoomMenu && /*#__PURE__*/_jsx(RoomMenu, {
|
|
215
|
+
children: [/*#__PURE__*/_jsx(MessageSearchButton, {}), /*#__PURE__*/_jsx(LanguageSelectorButton, {}), /*#__PURE__*/_jsx(CallButtons, {}), !config?.disableChatInfo?.disableRoomMenu && /*#__PURE__*/_jsx(RoomMenu, {
|
|
204
216
|
handleLeaveClick: handleLeaveClick
|
|
205
217
|
})]
|
|
206
218
|
})]
|
|
@@ -210,7 +222,12 @@ const ChatHeader = ({
|
|
|
210
222
|
const styles = StyleSheet.create({
|
|
211
223
|
subLabel: {
|
|
212
224
|
color: '#8C8C8C',
|
|
213
|
-
fontSize: 14
|
|
225
|
+
fontSize: 14,
|
|
226
|
+
flexShrink: 1
|
|
227
|
+
},
|
|
228
|
+
subtitleBox: {
|
|
229
|
+
flexShrink: 1,
|
|
230
|
+
minWidth: 0
|
|
214
231
|
},
|
|
215
232
|
titleRow: {
|
|
216
233
|
flexDirection: 'row',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useSafeAreaInsets","CenterContainer","ChatContainerHeader","ChatContainerHeaderBoxInfo","ChatContainerHeaderInfo","ChatContainerHeaderLabel","RoomList","ProfileImagePlaceholder","Button","BackIcon","BurgerMenuIcon","LockIcon","CallButtons","LanguageSelectorButton","useDispatch","useSelector","useStore","Composing","deleteRoom","setCurrentRoom","setIsLoading","useXmppClient","setActiveModal","MODAL_TYPES","RoomMenu","useChatSettingState","useFileToken","appendFileToken","View","StyleSheet","Text","Keyboard","getIconColor","useTheme","resolveHeaderHeight","getElementFont","useT","useConnectionLabel","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ChatHeader","currentRoom","handleBackClick","fileToken","dispatch","client","reduxStore","activeRoomJID","state","rooms","roomState","jid","undefined","config","roomsList","chatHeaderBurgerMenu","composing","theme","t","connectionLabel","handleChangeChat","chat","roomJID","chatJID","loading","handleLeaveClick","leaveTheRoomStanza","nextRoomJID","Object","keys","getState","handleHeaderChatMenu","dismiss","headerChatMenu","openChatInfo","CHAT_PROFILE","insets","topInset","headerLayout","safeAreaTop","top","headerHeight","height","children","style","paddingTop","paddingBottom","styles","leftContainer","EndIcon","color","textSecondary","onPress","disableChatHeaderBurgerMenuIcon","menuButton","text","unstyled","minHeight","rightSpace","disableRoomConfig","leftSpace","chats","values","burgerMenu","onRoomClick","disabled","disableChatInfo","disableChatHeaderMenu","name","title","size","icon","active","click","isClick","titleRow","numberOfLines","ellipsizeMode","fontSize","typography","headerTitle","fontWeight","e2ee","accessible","accessibilityRole","accessibilityLabel","testID","width","subLabel","usersTyping","composingList","disableUserCount","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useSafeAreaInsets","CenterContainer","ChatContainerHeader","ChatContainerHeaderBoxInfo","ChatContainerHeaderInfo","ChatContainerHeaderLabel","RoomList","ProfileImagePlaceholder","Button","BackIcon","BurgerMenuIcon","LockIcon","CallButtons","LanguageSelectorButton","MessageSearchButton","useDispatch","useSelector","useStore","Composing","deleteRoom","setCurrentRoom","setIsLoading","useXmppClient","setActiveModal","MODAL_TYPES","RoomMenu","useChatSettingState","useFileToken","appendFileToken","View","StyleSheet","Text","Keyboard","getIconColor","useTheme","resolveHeaderHeight","getElementFont","useT","getRoomUserCount","useConnectionLabel","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ChatHeader","currentRoom","handleBackClick","fileToken","dispatch","client","reduxStore","activeRoomJID","state","rooms","roomState","jid","undefined","config","roomsList","chatHeaderBurgerMenu","composing","theme","t","connectionLabel","userCount","handleChangeChat","chat","roomJID","chatJID","loading","handleLeaveClick","leaveTheRoomStanza","nextRoomJID","Object","keys","getState","handleHeaderChatMenu","dismiss","headerChatMenu","openChatInfo","CHAT_PROFILE","insets","topInset","headerLayout","safeAreaTop","top","headerHeight","height","children","style","paddingTop","paddingBottom","styles","leftContainer","EndIcon","color","textSecondary","onPress","disableChatHeaderBurgerMenuIcon","menuButton","text","unstyled","minHeight","rightSpace","disableRoomConfig","leftSpace","chats","values","burgerMenu","onRoomClick","disabled","disableChatInfo","disableChatHeaderMenu","name","title","size","icon","active","click","isClick","titleRow","numberOfLines","ellipsizeMode","fontSize","typography","headerTitle","fontWeight","e2ee","accessible","accessibilityRole","accessibilityLabel","testID","width","subtitleBox","subLabel","usersTyping","composingList","disableUserCount","count","rightContainer","disableRoomMenu","chatHeaderAdditional","enabled","element","create","flexShrink","minWidth","flexDirection","alignItems","gap","padding","borderRadius","backgroundColor","justifyContent"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ChatHeader.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
/** @format */
|
|
4
4
|
|
|
5
|
+
import { isJoiningRoom } from '../../helpers/joiningRoom';
|
|
5
6
|
import React, { useState, useEffect, useCallback, useRef } from 'react';
|
|
6
7
|
import { ChatContainer, NonRoomChat } from '../styled/StyledComponents';
|
|
7
8
|
import { useDispatch, useSelector, useStore } from 'react-redux';
|
|
8
9
|
import MessageList from './MessageList';
|
|
10
|
+
import ArchivedMessageCard from './ArchivedMessageCard';
|
|
11
|
+
import { loadRoomHistory } from '../../helpers/loadRoomHistory';
|
|
9
12
|
import SendInput from '../styled/SendInput';
|
|
10
|
-
import { clearReadBoundary, clearVisibleRoom, deleteRoomMessage, setEditAction, setLastViewedTimestamp, setReadBoundary, setVisibleRoom } from '../../roomStore/roomsSlice';
|
|
13
|
+
import { clearJumpWindow, clearReadBoundary, clearVisibleRoom, deleteRoomMessage, setEditAction, setLastViewedTimestamp, setReadBoundary, setVisibleRoom } from '../../roomStore/roomsSlice';
|
|
11
14
|
import Loader from '../styled/Loader';
|
|
12
15
|
import { useXmppClient } from '../../context/xmppProvider';
|
|
13
16
|
import ChatHeader from './ChatHeader';
|
|
@@ -77,6 +80,7 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
77
80
|
const hasRooms = useSelector(state => Object.keys(state.rooms.rooms || {}).length > 0);
|
|
78
81
|
const editAction = useSelector(state => state.rooms.editAction);
|
|
79
82
|
const globalLoading = useSelector(state => state.rooms.isLoading);
|
|
83
|
+
const joiningRoomJID = useSelector(state => state.rooms.joiningRoomJID);
|
|
80
84
|
const loading = !!activeRoom?.isLoading;
|
|
81
85
|
const e2eeRoom = !!activeRoom?.e2ee;
|
|
82
86
|
const e2eeOn = storeConfig?.e2ee?.enabled === true;
|
|
@@ -133,34 +137,37 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
133
137
|
if (!activeRoomJID) {
|
|
134
138
|
return;
|
|
135
139
|
}
|
|
140
|
+
// Writing into a room means being at its latest messages: leave a
|
|
141
|
+
// jump window (old history) first, so the sent message is in view.
|
|
142
|
+
if (store.getState().rooms.jumpWindow) {
|
|
143
|
+
dispatch(clearJumpWindow());
|
|
144
|
+
}
|
|
136
145
|
sendMs(message, activeRoomJID);
|
|
137
|
-
}, [activeRoomJID, sendMs]);
|
|
146
|
+
}, [activeRoomJID, sendMs, dispatch]);
|
|
138
147
|
const sendMedia = useCallback((data, type) => {
|
|
139
148
|
// Return the promise so callers can sequence the follow-up
|
|
140
149
|
// text send AFTER the upload finishes (consumer expectation:
|
|
141
150
|
// media first, text second — never interleaved).
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
const loadMoreMessages = useCallback(async (chatJID, max, idOfMessageBefore) => {
|
|
145
|
-
const room = reduxStore.getState().rooms.rooms?.[chatJID];
|
|
146
|
-
if (isLoadingMore || room?.historyComplete) {
|
|
147
|
-
return;
|
|
151
|
+
if (store.getState().rooms.jumpWindow) {
|
|
152
|
+
dispatch(clearJumpWindow());
|
|
148
153
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
154
|
+
return sendMessageMedia(data, type, activeRoomJID || '');
|
|
155
|
+
}, [activeRoomJID, dispatch]);
|
|
156
|
+
|
|
157
|
+
// One history request per room at a time. Everything the request needs
|
|
158
|
+
// (the room, its cursor, the messages used for the fallback cursor) is read
|
|
159
|
+
// from the store at call time, so a stale render closure can never act on
|
|
160
|
+
// old values.
|
|
161
|
+
const inFlightRoomsRef = useRef(new Set());
|
|
162
|
+
const loadMoreMessages = useCallback((chatJID, max, idOfMessageBefore) => loadRoomHistory({
|
|
163
|
+
client,
|
|
164
|
+
room: store.getState().rooms.rooms?.[chatJID],
|
|
165
|
+
inFlight: inFlightRoomsRef.current,
|
|
166
|
+
chatJID,
|
|
167
|
+
max,
|
|
168
|
+
before: idOfMessageBefore,
|
|
169
|
+
onBusyChange: setIsLoadingMore
|
|
170
|
+
}), [client]);
|
|
164
171
|
const onCloseEdit = () => {
|
|
165
172
|
dispatch(setEditAction({
|
|
166
173
|
isEdit: false
|
|
@@ -285,6 +292,27 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
285
292
|
// useRoomUrl(activeRoomJID || "", roomsList, config);
|
|
286
293
|
|
|
287
294
|
useRoomInitialization(activeRoomJID || '', configWithEventHandlers || storeConfig || {});
|
|
295
|
+
|
|
296
|
+
// A join for the requested room is still in flight: the server registers
|
|
297
|
+
// the membership a moment after our presence, so say "joining" with a
|
|
298
|
+
// loader instead of the "choose a chat" placeholder (or the empty-list
|
|
299
|
+
// new-chat screen). Bounded: useRoomInitialization clears the flag when
|
|
300
|
+
// the join and the room-list refresh settle, even if the room never shows.
|
|
301
|
+
if (isJoiningRoom(activeRoomJID, activeRoom && activeRoomJID ? {
|
|
302
|
+
[activeRoomJID]: true
|
|
303
|
+
} : undefined, joiningRoomJID)) {
|
|
304
|
+
return /*#__PURE__*/_jsx(View, {
|
|
305
|
+
testID: "chat-room-joining-loader",
|
|
306
|
+
style: {
|
|
307
|
+
flex: 1,
|
|
308
|
+
justifyContent: 'center',
|
|
309
|
+
alignItems: 'center'
|
|
310
|
+
},
|
|
311
|
+
children: /*#__PURE__*/_jsx(Loader, {
|
|
312
|
+
color: configWithEventHandlers?.colors?.primary
|
|
313
|
+
})
|
|
314
|
+
});
|
|
315
|
+
}
|
|
288
316
|
if (!hasRooms && !loading && !globalLoading) {
|
|
289
317
|
return /*#__PURE__*/_jsx(NonRoomChat, {
|
|
290
318
|
children: /*#__PURE__*/_jsx(NewChatModal, {})
|
|
@@ -406,11 +434,11 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
406
434
|
children: [!configWithEventHandlers?.disableHeader && /*#__PURE__*/_jsx(ChatHeader, {
|
|
407
435
|
currentRoom: activeRoom,
|
|
408
436
|
handleBackClick: handleBackClick
|
|
409
|
-
}), configWithEventHandlers?.chatHeaderAdditional?.enabled && configWithEventHandlers.chatHeaderAdditional.element(), /*#__PURE__*/
|
|
437
|
+
}), configWithEventHandlers?.chatHeaderAdditional?.enabled && configWithEventHandlers.chatHeaderAdditional.element(), /*#__PURE__*/_jsxs(View, {
|
|
410
438
|
style: {
|
|
411
439
|
flex: 1
|
|
412
440
|
},
|
|
413
|
-
children: loading || globalLoading ? /*#__PURE__*/_jsx(View, {
|
|
441
|
+
children: [loading || globalLoading ? /*#__PURE__*/_jsx(View, {
|
|
414
442
|
style: {
|
|
415
443
|
flex: 1,
|
|
416
444
|
justifyContent: 'center',
|
|
@@ -468,6 +496,7 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
468
496
|
}) : null : undefined,
|
|
469
497
|
config: configWithEventHandlers
|
|
470
498
|
}) : /*#__PURE__*/_jsx(MessageList, {
|
|
499
|
+
client: client,
|
|
471
500
|
loadMoreMessages: loadMoreMessages,
|
|
472
501
|
CustomMessage: CustomMessageComponent,
|
|
473
502
|
CustomDaySeparator: CustomDaySeparator,
|
|
@@ -478,7 +507,9 @@ const ChatRoom = /*#__PURE__*/React.memo(({
|
|
|
478
507
|
loading: isLoadingMore,
|
|
479
508
|
isReply: false,
|
|
480
509
|
onReadBoundaryChange: handleReadBoundaryChange
|
|
481
|
-
})
|
|
510
|
+
}), /*#__PURE__*/_jsx(ArchivedMessageCard, {
|
|
511
|
+
roomJID: activeRoomJID
|
|
512
|
+
})]
|
|
482
513
|
}), editAction && editAction.isEdit && /*#__PURE__*/_jsx(EditWrapper, {
|
|
483
514
|
text: editAction.text || '',
|
|
484
515
|
onClose: onCloseEdit
|