@ethora/chat-component-rn 26.7.2 → 26.7.4
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 +45 -0
- package/README.md +9 -8
- package/lib/commonjs/assets/icons.js +7 -2
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/Header/HeaderRoomList.js +20 -6
- package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +86 -7
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +18 -0
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +11 -4
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +5 -5
- package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomList.js +62 -32
- package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +208 -70
- package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +307 -99
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +544 -200
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +226 -0
- package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/Modal/Modal.js +8 -0
- package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +202 -104
- package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +556 -0
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +210 -0
- package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
- package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
- package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +507 -244
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +74 -46
- package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
- package/lib/commonjs/components/Modals/styledModalComponents.js +9 -2
- package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +17 -7
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +80 -1
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/components/styled/StyledComponents.js +9 -3
- package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +12 -0
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/getChatBackground.js +23 -0
- package/lib/commonjs/helpers/getChatBackground.js.map +1 -0
- package/lib/commonjs/helpers/historyPreloadScheduler.js +65 -2
- package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/commonjs/helpers/mediaLibraryRuntime.js +31 -0
- package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +1 -0
- package/lib/commonjs/helpers/shallowEqual.js +36 -0
- package/lib/commonjs/helpers/shallowEqual.js.map +1 -0
- package/lib/commonjs/helpers/sheetGestures.js +32 -0
- package/lib/commonjs/helpers/sheetGestures.js.map +1 -0
- package/lib/commonjs/hooks/useChatWrapperInit.js +15 -0
- package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/commonjs/hooks/useComposing.js +27 -0
- package/lib/commonjs/hooks/useComposing.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +27 -1
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js +6 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/commonjs/i18n/strings.js +121 -1
- package/lib/commonjs/i18n/strings.js.map +1 -1
- package/lib/commonjs/networking/api-requests/user.api.js +59 -0
- package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +6 -2
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/chatSettingsSlice.js +3 -1
- package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +2 -2
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/assets/icons.js +6 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/Header/HeaderRoomList.js +20 -6
- package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +87 -8
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +19 -1
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +11 -4
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +5 -5
- package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
- package/lib/module/components/MainComponents/RoomList.js +62 -32
- package/lib/module/components/MainComponents/RoomList.js.map +1 -1
- package/lib/module/components/Menu/HeaderRoomListMenu.js +211 -73
- package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js +298 -102
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +547 -204
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +223 -0
- package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/Modal/Modal.js +9 -1
- package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/module/components/Modals/NewChatModal/NewChatModal.js +205 -106
- package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
- package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +548 -0
- package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
- package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +205 -0
- package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
- package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
- package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +509 -248
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +76 -48
- package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
- package/lib/module/components/Modals/styledModalComponents.js +9 -2
- package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/module/components/RoomComponents/ChatRoomItem.js +17 -7
- package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +80 -1
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/components/styled/StyledComponents.js +9 -3
- package/lib/module/components/styled/StyledComponents.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/module/context/xmppProvider.js +12 -0
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/getChatBackground.js +18 -0
- package/lib/module/helpers/getChatBackground.js.map +1 -0
- package/lib/module/helpers/historyPreloadScheduler.js +66 -3
- package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/module/helpers/mediaLibraryRuntime.js +25 -0
- package/lib/module/helpers/mediaLibraryRuntime.js.map +1 -0
- package/lib/module/helpers/shallowEqual.js +31 -0
- package/lib/module/helpers/shallowEqual.js.map +1 -0
- package/lib/module/helpers/sheetGestures.js +26 -0
- package/lib/module/helpers/sheetGestures.js.map +1 -0
- package/lib/module/hooks/useChatWrapperInit.js +15 -0
- package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/module/hooks/useComposing.js +28 -1
- package/lib/module/hooks/useComposing.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +28 -2
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js +6 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/module/i18n/strings.js +121 -1
- package/lib/module/i18n/strings.js.map +1 -1
- package/lib/module/networking/api-requests/user.api.js +56 -0
- package/lib/module/networking/api-requests/user.api.js.map +1 -1
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +6 -2
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/chatSettingsSlice.js +3 -1
- package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +1 -1
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/typescript/assets/icons.d.ts +12 -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/MainComponents/ChatRoom.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts +10 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
- package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +9 -0
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +10 -0
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +9 -0
- package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -0
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
- package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +75 -0
- package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -0
- package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +25 -0
- package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +1 -0
- package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +6 -1
- package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +16 -0
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +1 -0
- package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
- package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/getChatBackground.d.ts +15 -0
- package/lib/typescript/helpers/getChatBackground.d.ts.map +1 -0
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
- package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +3 -0
- package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +1 -0
- package/lib/typescript/helpers/shallowEqual.d.ts +11 -0
- package/lib/typescript/helpers/shallowEqual.d.ts.map +1 -0
- package/lib/typescript/helpers/sheetGestures.d.ts +20 -0
- package/lib/typescript/helpers/sheetGestures.d.ts.map +1 -0
- package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
- package/lib/typescript/hooks/useComposing.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +1 -0
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
- package/lib/typescript/i18n/strings.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/user.api.d.ts +27 -0
- package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -0
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts +1 -0
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +1 -0
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +9 -5
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/package.json +6 -1
- package/src/assets/icons.tsx +29 -9
- package/src/components/Header/HeaderRoomList.tsx +20 -5
- package/src/components/MainComponents/ChatRoom.tsx +92 -8
- package/src/components/MainComponents/ChatWrapper.tsx +19 -1
- package/src/components/MainComponents/MessageList.tsx +21 -3
- package/src/components/MainComponents/ProfileImagePlaceholder.tsx +5 -5
- package/src/components/MainComponents/RoomList.tsx +65 -34
- package/src/components/Menu/HeaderRoomListMenu.tsx +209 -64
- package/src/components/Modals/AttachSheet/AttachSheet.tsx +318 -86
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +599 -278
- package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +244 -0
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +4 -2
- package/src/components/Modals/Modal/Modal.tsx +7 -0
- package/src/components/Modals/NewChatModal/NewChatModal.tsx +219 -117
- package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +615 -0
- package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +217 -0
- package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +14 -4
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +617 -307
- package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +75 -58
- package/src/components/Modals/styledModalComponents.tsx +9 -2
- package/src/components/RoomComponents/ChatRoomItem.tsx +14 -7
- package/src/components/styled/SendInput.tsx +83 -2
- package/src/components/styled/StyledComponents.ts +9 -3
- package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +11 -4
- package/src/context/xmppProvider.tsx +14 -0
- package/src/helpers/getChatBackground.ts +18 -0
- package/src/helpers/historyPreloadScheduler.ts +80 -3
- package/src/helpers/mediaLibraryRuntime.ts +25 -0
- package/src/helpers/shallowEqual.ts +33 -0
- package/src/helpers/sheetGestures.ts +25 -0
- package/src/hooks/useChatWrapperInit.ts +15 -0
- package/src/hooks/useComposing.tsx +37 -1
- package/src/hooks/useSendMessage.tsx +32 -2
- package/src/hooks/useUnreadMessagesCounter.ts +11 -0
- package/src/i18n/strings.ts +121 -1
- package/src/networking/api-requests/user.api.ts +71 -0
- package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +17 -3
- package/src/networking/xmppClient.ts +5 -1
- package/src/roomStore/chatSettingsSlice.ts +3 -1
- package/src/roomStore/roomsSlice.ts +1 -1
- package/src/types/types.ts +16 -5
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useCallback, useEffect } from 'react';
|
|
3
|
+
import { useCallback, useEffect, useRef } from 'react';
|
|
4
|
+
import { AppState } from 'react-native';
|
|
4
5
|
import { useXmppClient } from '../context/xmppProvider';
|
|
5
6
|
import { useSelector } from 'react-redux';
|
|
6
7
|
import { useChatSettingState } from './useChatSettingState';
|
|
@@ -14,7 +15,15 @@ const useComposing = config => {
|
|
|
14
15
|
const {
|
|
15
16
|
user
|
|
16
17
|
} = useChatSettingState();
|
|
18
|
+
// RN keeps a focused TextInput focused when the app is backgrounded or
|
|
19
|
+
// the device is locked — nothing fires `onBlur`, so without this the
|
|
20
|
+
// other participant sees "typing…" for as long as the user is away.
|
|
21
|
+
// Tracks whether the input is *currently* focused, independent of the
|
|
22
|
+
// foreground/background transition, so we know whether to resume
|
|
23
|
+
// composing on return.
|
|
24
|
+
const isFocusedRef = useRef(false);
|
|
17
25
|
const sendStartComposing = useCallback(() => {
|
|
26
|
+
isFocusedRef.current = true;
|
|
18
27
|
if (config?.disableTypingIndicator) {
|
|
19
28
|
return;
|
|
20
29
|
}
|
|
@@ -23,6 +32,7 @@ const useComposing = config => {
|
|
|
23
32
|
}
|
|
24
33
|
}, [activeRoomJID, client, config?.disableTypingIndicator, user.firstName, user.lastName]);
|
|
25
34
|
const sendEndComposing = useCallback(() => {
|
|
35
|
+
isFocusedRef.current = false;
|
|
26
36
|
if (config?.disableTypingIndicator) {
|
|
27
37
|
return;
|
|
28
38
|
}
|
|
@@ -36,6 +46,23 @@ const useComposing = config => {
|
|
|
36
46
|
}, 100);
|
|
37
47
|
return () => clearTimeout(timerId);
|
|
38
48
|
}, [sendEndComposing]);
|
|
49
|
+
|
|
50
|
+
// Foreground/background transition only — a pause in typing must NOT
|
|
51
|
+
// clear the indicator (that would flicker for a slowly-composing user),
|
|
52
|
+
// so this deliberately does not hook keystroke/idle timing at all.
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
const handleAppStateChange = nextState => {
|
|
55
|
+
if (nextState !== 'active') {
|
|
56
|
+
if (isFocusedRef.current && !config?.disableTypingIndicator && client) {
|
|
57
|
+
client.sendTypingRequestStanza(activeRoomJID || '', `${user.firstName} ${user.lastName}`, false);
|
|
58
|
+
}
|
|
59
|
+
} else if (isFocusedRef.current && !config?.disableTypingIndicator && client) {
|
|
60
|
+
client.sendTypingRequestStanza(activeRoomJID || '', `${user.firstName} ${user.lastName}`, true);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
const subscription = AppState.addEventListener('change', handleAppStateChange);
|
|
64
|
+
return () => subscription.remove();
|
|
65
|
+
}, [activeRoomJID, client, config?.disableTypingIndicator, user.firstName, user.lastName]);
|
|
39
66
|
return {
|
|
40
67
|
sendStartComposing,
|
|
41
68
|
sendEndComposing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useXmppClient","useSelector","useChatSettingState","useComposing","config","client","activeRoomJID","state","rooms","user","sendStartComposing","disableTypingIndicator","sendTypingRequestStanza","firstName","lastName","sendEndComposing","timerId","setTimeout","clearTimeout"],"sourceRoot":"../../../src","sources":["hooks/useComposing.tsx"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","AppState","useXmppClient","useSelector","useChatSettingState","useComposing","config","client","activeRoomJID","state","rooms","user","isFocusedRef","sendStartComposing","current","disableTypingIndicator","sendTypingRequestStanza","firstName","lastName","sendEndComposing","timerId","setTimeout","clearTimeout","handleAppStateChange","nextState","subscription","addEventListener","remove"],"sourceRoot":"../../../src","sources":["hooks/useComposing.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ import { useDispatch, useSelector, useStore } from 'react-redux';
|
|
|
8
8
|
import { addRoomMessage, setEditAction } from '../roomStore/roomsSlice';
|
|
9
9
|
import { addMessageToHeap, clearMessageFailure, markMessageFailed } from '../roomStore/roomHeapSlice';
|
|
10
10
|
import { uploadFileV2 } from '../networking/api-requests/auth.api';
|
|
11
|
-
import { enqueueOutboundSend } from '../networking/outboundQueue';
|
|
11
|
+
import { enqueueOutboundSend, removeOutboundSend } from '../networking/outboundQueue';
|
|
12
12
|
import { store } from '../roomStore';
|
|
13
13
|
import { getGlobalXmppClient } from '../utils/clientRegistry';
|
|
14
14
|
import { useEventHandlers } from './useEventHandlers';
|
|
@@ -178,6 +178,13 @@ export const useSendMessage = _configOverride => {
|
|
|
178
178
|
}
|
|
179
179
|
if (stillPending && !alreadyFailed) {
|
|
180
180
|
console.warn(`Send watchdog fired — message ${optimisticId} stuck pending > ${PENDING_WATCHDOG_MS}ms; marking failed`);
|
|
181
|
+
// Drop the buffered replay now that the bubble is showing
|
|
182
|
+
// "failed / tap to retry" — a later onOnline flush must not
|
|
183
|
+
// silently resend it behind the user's back. If the original
|
|
184
|
+
// send actually lands after this point, the server echo still
|
|
185
|
+
// flips the bubble back to delivered (newMessageMidlleware);
|
|
186
|
+
// only an explicit tap-to-retry should trigger another send.
|
|
187
|
+
removeOutboundSend(optimisticId);
|
|
181
188
|
dispatch(markMessageFailed({
|
|
182
189
|
kind: 'text',
|
|
183
190
|
id: optimisticId,
|
|
@@ -245,6 +252,9 @@ export const useSendMessage = _configOverride => {
|
|
|
245
252
|
});
|
|
246
253
|
} catch (error) {
|
|
247
254
|
clearTimeout(watchdogTimer);
|
|
255
|
+
// Same reasoning as the watchdog: once the bubble shows failed,
|
|
256
|
+
// only an explicit tap-to-retry should resend it.
|
|
257
|
+
removeOutboundSend(optimisticId);
|
|
248
258
|
dispatch(markMessageFailed({
|
|
249
259
|
kind: 'text',
|
|
250
260
|
id: optimisticId,
|
|
@@ -359,6 +369,10 @@ export const useSendMessage = _configOverride => {
|
|
|
359
369
|
const alreadyFailed = state.roomHeapSlice?.failedMessages?.[id];
|
|
360
370
|
if (stillPending && !alreadyFailed) {
|
|
361
371
|
console.warn(`Media-send watchdog fired — ${id} stuck pending > ${PENDING_WATCHDOG_MS}ms; marking failed`);
|
|
372
|
+
// See the text-send watchdog above: drop the buffered replay so
|
|
373
|
+
// a later onOnline flush can't silently resend behind the
|
|
374
|
+
// "failed / tap to retry" bubble.
|
|
375
|
+
removeOutboundSend(id);
|
|
362
376
|
dispatch(markMessageFailed({
|
|
363
377
|
kind: 'media',
|
|
364
378
|
id,
|
|
@@ -540,6 +554,18 @@ export const useSendMessage = _configOverride => {
|
|
|
540
554
|
if (!payload) {
|
|
541
555
|
return;
|
|
542
556
|
}
|
|
557
|
+
|
|
558
|
+
// The server may have accepted the original send even though its
|
|
559
|
+
// echo arrived too late to beat the watchdog — the bubble shows
|
|
560
|
+
// failed, but a confirmed (non-pending) copy is already sitting in
|
|
561
|
+
// the room. Resending here would deliver a genuine duplicate; just
|
|
562
|
+
// clear the failure and let the existing copy stand.
|
|
563
|
+
const roomMsgs = rooms?.[payload.roomJID]?.messages || [];
|
|
564
|
+
const alreadyDelivered = roomMsgs.some(m => !m.pending && (m.id === failedId || m.xmppId === failedId));
|
|
565
|
+
if (alreadyDelivered) {
|
|
566
|
+
dispatch(clearMessageFailure(failedId));
|
|
567
|
+
return;
|
|
568
|
+
}
|
|
543
569
|
dispatch(clearMessageFailure(failedId));
|
|
544
570
|
handleMessageRetry({
|
|
545
571
|
messageId: failedId,
|
|
@@ -554,7 +580,7 @@ export const useSendMessage = _configOverride => {
|
|
|
554
580
|
} else {
|
|
555
581
|
await sendMedia(payload.data, payload.type, payload.roomJID, payload.isReply, payload.isChecked, payload.mainMessage, failedId);
|
|
556
582
|
}
|
|
557
|
-
}, [failedMessages, dispatch, handleMessageRetry, sendMessage, sendMedia]);
|
|
583
|
+
}, [failedMessages, rooms, dispatch, handleMessageRetry, sendMessage, sendMedia]);
|
|
558
584
|
|
|
559
585
|
// ChatRoom/ThreadWrapper consume this as the "edit branch" of send.
|
|
560
586
|
// It mirrors the edit path inside `sendMessage` so callers can wire it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","Platform","v4","uuidv4","useXmppClient","useDispatch","useSelector","useStore","addRoomMessage","setEditAction","addMessageToHeap","clearMessageFailure","markMessageFailed","uploadFileV2","enqueueOutboundSend","store","getGlobalXmppClient","useEventHandlers","PENDING_WATCHDOG_MS","MEDIA_PENDING_WATCHDOG_MS","__sendIdSeq","nextStanzaId","prefix","Date","now","MAX_MEDIA_BYTES","useSendMessage","_configOverride","client","dispatch","reduxStore","user","state","chatSettingStore","config","langSource","editAction","rooms","handleMessageSent","handleMessageFailed","handleMessageEdited","handleMessageRetry","failedMessages","roomHeapSlice","sendMessage","message","activeRoomJID","isReply","isChecked","mainMessage","existingId","isEdit","editMessageStanza","roomJid","messageId","newMessage","roomJID","error","messageType","onCriticalSend","optimisticId","optimisticDate","toISOString","selfId","xmppUsername","walletAddress","optimisticMessage","id","xmppId","body","date","pending","isDeleted","name","firstName","lastName","trim","disableSentLogic","watchdogExtended","runWatchdog","getState","roomMsgs","messages","stillPending","find","m","alreadyFailed","streamOnline","status","console","warn","watchdogTimer","setTimeout","kind","Error","replaySend","c","sendTextMessageWithTranslateTagStanza","enqueuedAt","send","effectiveClient","anyClient","forceReconnect","ensureStreamAlive","clearTimeout","sendMedia","data","type","size","optimisticTimestamp","displayName","fileSizeStr","String","normalizedFileUri","uri","replace","messageTimestampMs","xmppFrom","isSystemMessage","isMediafile","fileName","location","locationPreview","mimetype","originalName","showInChannel","mediaWatchdog","fileBlob","mimeType","tryUpload","fd","FormData","append","err","response","fd2","item","results","messagePayload","createdAt","expiresAt","filename","isVisible","originalname","ownerKey","duration","updatedAt","userId","attachmentId","_id","wrappable","isPrivate","__v","effectiveMediaClient","setActiveRoomJid","Promise","resolve","prioritizeRoomPresence","catch","sendMediaMessageStanza","anyMediaClient","ttlMs","metadata","fileData","fileType","uploadResults","uriStr","uriScheme","match","statusText","serverBody","requestUrl","url","axiosMessage","axiosCode","code","axiosCauseMessage","cause","mime","fileSizeBytes","platformOS","OS","platformVersion","Version","retryMessage","failedId","payload","sendEditMessage","_activeRoomJID","isLastMessageFromUserAndProcessing","msgs","length","last"],"sourceRoot":"../../../src","sources":["hooks/useSendMessage.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","Platform","v4","uuidv4","useXmppClient","useDispatch","useSelector","useStore","addRoomMessage","setEditAction","addMessageToHeap","clearMessageFailure","markMessageFailed","uploadFileV2","enqueueOutboundSend","removeOutboundSend","store","getGlobalXmppClient","useEventHandlers","PENDING_WATCHDOG_MS","MEDIA_PENDING_WATCHDOG_MS","__sendIdSeq","nextStanzaId","prefix","Date","now","MAX_MEDIA_BYTES","useSendMessage","_configOverride","client","dispatch","reduxStore","user","state","chatSettingStore","config","langSource","editAction","rooms","handleMessageSent","handleMessageFailed","handleMessageEdited","handleMessageRetry","failedMessages","roomHeapSlice","sendMessage","message","activeRoomJID","isReply","isChecked","mainMessage","existingId","isEdit","editMessageStanza","roomJid","messageId","newMessage","roomJID","error","messageType","onCriticalSend","optimisticId","optimisticDate","toISOString","selfId","xmppUsername","walletAddress","optimisticMessage","id","xmppId","body","date","pending","isDeleted","name","firstName","lastName","trim","disableSentLogic","watchdogExtended","runWatchdog","getState","roomMsgs","messages","stillPending","find","m","alreadyFailed","streamOnline","status","console","warn","watchdogTimer","setTimeout","kind","Error","replaySend","c","sendTextMessageWithTranslateTagStanza","enqueuedAt","send","effectiveClient","anyClient","forceReconnect","ensureStreamAlive","clearTimeout","sendMedia","data","type","size","optimisticTimestamp","displayName","fileSizeStr","String","normalizedFileUri","uri","replace","messageTimestampMs","xmppFrom","isSystemMessage","isMediafile","fileName","location","locationPreview","mimetype","originalName","showInChannel","mediaWatchdog","fileBlob","mimeType","tryUpload","fd","FormData","append","err","response","fd2","item","results","messagePayload","createdAt","expiresAt","filename","isVisible","originalname","ownerKey","duration","updatedAt","userId","attachmentId","_id","wrappable","isPrivate","__v","effectiveMediaClient","setActiveRoomJid","Promise","resolve","prioritizeRoomPresence","catch","sendMediaMessageStanza","anyMediaClient","ttlMs","metadata","fileData","fileType","uploadResults","uriStr","uriScheme","match","statusText","serverBody","requestUrl","url","axiosMessage","axiosCode","code","axiosCauseMessage","cause","mime","fileSizeBytes","platformOS","OS","platformVersion","Version","retryMessage","failedId","payload","alreadyDelivered","some","sendEditMessage","_activeRoomJID","isLastMessageFromUserAndProcessing","msgs","length","last"],"sourceRoot":"../../../src","sources":["hooks/useSendMessage.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,18 +19,23 @@ export const useUnreadMessagesCounter = () => {
|
|
|
19
19
|
const rooms = roomsState.rooms;
|
|
20
20
|
const unreadByRoom = {};
|
|
21
21
|
let totalCount = 0;
|
|
22
|
+
let isCapped = false;
|
|
22
23
|
Object.entries(rooms).forEach(([roomJid, room]) => {
|
|
23
24
|
const unreadCount = room.unreadMessages || 0;
|
|
24
25
|
if (unreadCount > 0) {
|
|
25
26
|
unreadByRoom[roomJid] = unreadCount;
|
|
26
27
|
totalCount += unreadCount;
|
|
27
28
|
}
|
|
29
|
+
if (room?.unreadCapped) {
|
|
30
|
+
isCapped = true;
|
|
31
|
+
}
|
|
28
32
|
});
|
|
29
33
|
return {
|
|
30
34
|
hasUnread: totalCount > 0,
|
|
31
35
|
totalCount,
|
|
32
36
|
unreadByRoom,
|
|
33
|
-
isLoading: !!roomsState.isUnreadSyncing || !!roomsState.isLoading
|
|
37
|
+
isLoading: !!roomsState.isUnreadSyncing || !!roomsState.isLoading,
|
|
38
|
+
isCapped
|
|
34
39
|
};
|
|
35
40
|
};
|
|
36
41
|
export { useUnreadMessagesCounter as useUnread };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSyncExternalStore","store","useUnreadMessagesCounter","subscribe","callback","roomsState","getState","rooms","unreadByRoom","totalCount","Object","entries","forEach","roomJid","room","unreadCount","unreadMessages","hasUnread","isLoading","isUnreadSyncing","useUnread"],"sourceRoot":"../../../src","sources":["hooks/useUnreadMessagesCounter.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,OAAO;AAE5C,SAASC,KAAK,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["useSyncExternalStore","store","useUnreadMessagesCounter","subscribe","callback","roomsState","getState","rooms","unreadByRoom","totalCount","isCapped","Object","entries","forEach","roomJid","room","unreadCount","unreadMessages","unreadCapped","hasUnread","isLoading","isUnreadSyncing","useUnread"],"sourceRoot":"../../../src","sources":["hooks/useUnreadMessagesCounter.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,OAAO;AAE5C,SAASC,KAAK,QAAQ,cAAc;AAmBpC,OAAO,MAAMC,wBAAwB,GAAGA,CAAA,KAA2B;EACjE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,SAAS,GAAIC,QAAoB,IAAKH,KAAK,CAACE,SAAS,CAACC,QAAQ,CAAC;EAErE,MAAMC,UAAU,GAAGL,oBAAoB,CACrCG,SAAS,EACT,MAAMF,KAAK,CAACK,QAAQ,CAAC,CAAC,CAACC,KACzB,CAAC;EAED,MAAMA,KAAK,GAAGF,UAAU,CAACE,KAAK;EAC9B,MAAMC,YAA+B,GAAG,CAAC,CAAC;EAC1C,IAAIC,UAAU,GAAG,CAAC;EAClB,IAAIC,QAAQ,GAAG,KAAK;EAEpBC,MAAM,CAACC,OAAO,CAACL,KAAK,CAAC,CAACM,OAAO,CAAC,CAAC,CAACC,OAAO,EAAEC,IAAI,CAAkB,KAAK;IAClE,MAAMC,WAAW,GAAGD,IAAI,CAACE,cAAc,IAAI,CAAC;IAC5C,IAAID,WAAW,GAAG,CAAC,EAAE;MACnBR,YAAY,CAACM,OAAO,CAAC,GAAGE,WAAW;MACnCP,UAAU,IAAIO,WAAW;IAC3B;IACA,IAAKD,IAAI,EAAUG,YAAY,EAAE;MAC/BR,QAAQ,GAAG,IAAI;IACjB;EACF,CAAC,CAAC;EAEF,OAAO;IACLS,SAAS,EAAEV,UAAU,GAAG,CAAC;IACzBA,UAAU;IACVD,YAAY;IACZY,SAAS,EAAE,CAAC,CAACf,UAAU,CAACgB,eAAe,IAAI,CAAC,CAAChB,UAAU,CAACe,SAAS;IACjEV;EACF,CAAC;AACH,CAAC;AAED,SAASR,wBAAwB,IAAIoB,SAAS","ignoreList":[]}
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
|
|
16
16
|
const en = {
|
|
17
17
|
'search.placeholder': 'Search...',
|
|
18
|
+
'search.members': 'Search members',
|
|
19
|
+
'search.noResults': 'Nobody found',
|
|
18
20
|
'input.placeholder': 'Type message',
|
|
19
21
|
'room.created': 'Room created',
|
|
20
22
|
'room.empty': 'This chat is empty',
|
|
@@ -89,6 +91,10 @@ const en = {
|
|
|
89
91
|
'action.add': 'Add',
|
|
90
92
|
'action.backToCreation': 'Back to creation',
|
|
91
93
|
'action.report': 'Report',
|
|
94
|
+
'action.search': 'Search',
|
|
95
|
+
'action.edit': 'Edit',
|
|
96
|
+
'action.deleteAndLeave': 'Delete and Leave',
|
|
97
|
+
'status.banned': 'banned',
|
|
92
98
|
'status.connecting': 'Connecting…',
|
|
93
99
|
'status.noInternet': 'No internet connection',
|
|
94
100
|
'translation.translating': 'Translating…',
|
|
@@ -100,7 +106,10 @@ const en = {
|
|
|
100
106
|
'translation.modeManual': 'Manual',
|
|
101
107
|
'language.select': 'Select language',
|
|
102
108
|
'modal.newChat.title': 'Create New Chat',
|
|
103
|
-
'modal.newChat.roomNamePlaceholder': '
|
|
109
|
+
'modal.newChat.roomNamePlaceholder': 'Chat name',
|
|
110
|
+
'modal.newChat.descriptionPlaceholder': 'Description (optional)',
|
|
111
|
+
'modal.newChat.createButton': 'Create new chat',
|
|
112
|
+
'modal.newChat.nameTooShort': 'Chat name must be at least 3 characters.',
|
|
104
113
|
'modal.newChat.chatTypePlaceholder': 'Select chat type',
|
|
105
114
|
'modal.newChat.selectUsersTitle': 'Select users to add to Chat',
|
|
106
115
|
'modal.selectUsers.title': 'Select Users (max 20)',
|
|
@@ -142,6 +151,8 @@ const en = {
|
|
|
142
151
|
'action.call': 'Call',
|
|
143
152
|
'action.audioCall': 'Audio call',
|
|
144
153
|
'action.copyUserId': 'Copy User Id',
|
|
154
|
+
'action.account': 'Account',
|
|
155
|
+
'action.share': 'Share',
|
|
145
156
|
'action.deleteChat': 'Delete chat',
|
|
146
157
|
'action.appointAsAdmin': 'Appoint as an admin',
|
|
147
158
|
'action.moreOptions': 'More Options',
|
|
@@ -160,12 +171,21 @@ const en = {
|
|
|
160
171
|
'auth.anonymousLoginMessage': 'You are logged in anonymously!',
|
|
161
172
|
'modal.profile.title': 'Profile',
|
|
162
173
|
'modal.profile.about': 'About',
|
|
174
|
+
'modal.profile.language': 'Language',
|
|
175
|
+
'modal.profile.media': 'Media',
|
|
176
|
+
'modal.profile.documents': 'Documents',
|
|
177
|
+
'modal.profile.noFiles': 'Nothing here yet',
|
|
163
178
|
'modal.profile.noDescription': 'No description',
|
|
164
179
|
'modal.chatProfile.title': 'Chat Profile',
|
|
165
180
|
'modal.chatProfile.description': 'Description',
|
|
166
181
|
'modal.chatProfile.chatType': 'Chat type',
|
|
167
182
|
'modal.chatProfile.memberCountSingular': '{count} member',
|
|
168
183
|
'modal.chatProfile.memberCountPlural': '{count} members',
|
|
184
|
+
'modal.chatProfile.addMembers': 'Add Members',
|
|
185
|
+
'modal.chatProfile.removePhoto': 'Remove photo',
|
|
186
|
+
'modal.chatProfile.membersLabel': 'Members: {count}',
|
|
187
|
+
'modal.chatProfile.membersUnavailable': 'Member list unavailable',
|
|
188
|
+
'modal.chatProfile.removeMember': 'Remove from this chat?',
|
|
169
189
|
'modal.deleteChat.title': 'Delete this chat ?',
|
|
170
190
|
'modal.addMembers.title': 'Add New Member',
|
|
171
191
|
'modal.addMembers.userIdPlaceholder': 'Enter User Id',
|
|
@@ -222,6 +242,8 @@ const en = {
|
|
|
222
242
|
};
|
|
223
243
|
const fr = {
|
|
224
244
|
'search.placeholder': 'Rechercher...',
|
|
245
|
+
'search.members': 'Rechercher des membres',
|
|
246
|
+
'search.noResults': 'Personne trouvée',
|
|
225
247
|
'input.placeholder': 'Écrire un message',
|
|
226
248
|
'room.created': 'Salon créé',
|
|
227
249
|
'room.empty': 'Ce salon est vide',
|
|
@@ -296,6 +318,10 @@ const fr = {
|
|
|
296
318
|
'action.add': 'Ajouter',
|
|
297
319
|
'action.backToCreation': 'Retour à la création',
|
|
298
320
|
'action.report': 'Signaler',
|
|
321
|
+
'action.search': 'Rechercher',
|
|
322
|
+
'action.edit': 'Modifier',
|
|
323
|
+
'action.deleteAndLeave': 'Supprimer et quitter',
|
|
324
|
+
'status.banned': 'banni',
|
|
299
325
|
'status.connecting': 'Connexion…',
|
|
300
326
|
'status.noInternet': 'Pas de connexion internet',
|
|
301
327
|
'translation.translating': 'Traduction…',
|
|
@@ -308,6 +334,9 @@ const fr = {
|
|
|
308
334
|
'language.select': 'Choisir la langue',
|
|
309
335
|
'modal.newChat.title': 'Créer une discussion',
|
|
310
336
|
'modal.newChat.roomNamePlaceholder': 'Nom du salon',
|
|
337
|
+
'modal.newChat.descriptionPlaceholder': 'Description (facultatif)',
|
|
338
|
+
'modal.newChat.createButton': 'Créer la discussion',
|
|
339
|
+
'modal.newChat.nameTooShort': 'Le nom doit contenir au moins 3 caractères.',
|
|
311
340
|
'modal.newChat.chatTypePlaceholder': 'Choisir le type de discussion',
|
|
312
341
|
'modal.newChat.selectUsersTitle': 'Sélectionner des utilisateurs à ajouter',
|
|
313
342
|
'modal.selectUsers.title': 'Sélectionner des utilisateurs (max 20)',
|
|
@@ -349,6 +378,8 @@ const fr = {
|
|
|
349
378
|
'action.call': 'Appeler',
|
|
350
379
|
'action.audioCall': 'Appel audio',
|
|
351
380
|
'action.copyUserId': "Copier l'ID utilisateur",
|
|
381
|
+
'action.account': 'Compte',
|
|
382
|
+
'action.share': 'Partager',
|
|
352
383
|
'action.deleteChat': 'Supprimer la discussion',
|
|
353
384
|
'action.appointAsAdmin': 'Nommer administrateur',
|
|
354
385
|
'action.moreOptions': "Plus d'options",
|
|
@@ -367,12 +398,21 @@ const fr = {
|
|
|
367
398
|
'auth.anonymousLoginMessage': 'Vous êtes connecté anonymement !',
|
|
368
399
|
'modal.profile.title': 'Profil',
|
|
369
400
|
'modal.profile.about': 'À propos',
|
|
401
|
+
'modal.profile.language': 'Langue',
|
|
402
|
+
'modal.profile.media': 'Médias',
|
|
403
|
+
'modal.profile.documents': 'Documents',
|
|
404
|
+
'modal.profile.noFiles': 'Rien pour le moment',
|
|
370
405
|
'modal.profile.noDescription': 'Aucune description',
|
|
371
406
|
'modal.chatProfile.title': 'Profil de la discussion',
|
|
372
407
|
'modal.chatProfile.description': 'Description',
|
|
373
408
|
'modal.chatProfile.chatType': 'Type de discussion',
|
|
374
409
|
'modal.chatProfile.memberCountSingular': '{count} membre',
|
|
375
410
|
'modal.chatProfile.memberCountPlural': '{count} membres',
|
|
411
|
+
'modal.chatProfile.addMembers': 'Ajouter des membres',
|
|
412
|
+
'modal.chatProfile.removePhoto': 'Supprimer la photo',
|
|
413
|
+
'modal.chatProfile.membersLabel': 'Membres : {count}',
|
|
414
|
+
'modal.chatProfile.membersUnavailable': 'Liste des membres indisponible',
|
|
415
|
+
'modal.chatProfile.removeMember': 'Retirer de cette discussion ?',
|
|
376
416
|
'modal.deleteChat.title': 'Supprimer cette discussion ?',
|
|
377
417
|
'modal.addMembers.title': 'Ajouter un nouveau membre',
|
|
378
418
|
'modal.addMembers.userIdPlaceholder': "Entrez l'ID utilisateur",
|
|
@@ -429,6 +469,8 @@ const fr = {
|
|
|
429
469
|
};
|
|
430
470
|
const es = {
|
|
431
471
|
'search.placeholder': 'Buscar...',
|
|
472
|
+
'search.members': 'Buscar miembros',
|
|
473
|
+
'search.noResults': 'No se encontró a nadie',
|
|
432
474
|
'input.placeholder': 'Escribe un mensaje',
|
|
433
475
|
'room.created': 'Sala creada',
|
|
434
476
|
'room.empty': 'Este chat está vacío',
|
|
@@ -503,6 +545,10 @@ const es = {
|
|
|
503
545
|
'action.add': 'Añadir',
|
|
504
546
|
'action.backToCreation': 'Volver a la creación',
|
|
505
547
|
'action.report': 'Reportar',
|
|
548
|
+
'action.search': 'Buscar',
|
|
549
|
+
'action.edit': 'Editar',
|
|
550
|
+
'action.deleteAndLeave': 'Eliminar y salir',
|
|
551
|
+
'status.banned': 'bloqueado',
|
|
506
552
|
'status.connecting': 'Conectando…',
|
|
507
553
|
'status.noInternet': 'Sin conexión a internet',
|
|
508
554
|
'translation.translating': 'Traduciendo…',
|
|
@@ -515,6 +561,9 @@ const es = {
|
|
|
515
561
|
'language.select': 'Seleccionar idioma',
|
|
516
562
|
'modal.newChat.title': 'Crear nuevo chat',
|
|
517
563
|
'modal.newChat.roomNamePlaceholder': 'Nombre de la sala',
|
|
564
|
+
'modal.newChat.descriptionPlaceholder': 'Descripción (opcional)',
|
|
565
|
+
'modal.newChat.createButton': 'Crear chat',
|
|
566
|
+
'modal.newChat.nameTooShort': 'El nombre debe tener al menos 3 caracteres.',
|
|
518
567
|
'modal.newChat.chatTypePlaceholder': 'Selecciona el tipo de chat',
|
|
519
568
|
'modal.newChat.selectUsersTitle': 'Selecciona usuarios para añadir al chat',
|
|
520
569
|
'modal.selectUsers.title': 'Seleccionar usuarios (máx. 20)',
|
|
@@ -556,6 +605,8 @@ const es = {
|
|
|
556
605
|
'action.call': 'Llamar',
|
|
557
606
|
'action.audioCall': 'Llamada de audio',
|
|
558
607
|
'action.copyUserId': 'Copiar ID de usuario',
|
|
608
|
+
'action.account': 'Cuenta',
|
|
609
|
+
'action.share': 'Compartir',
|
|
559
610
|
'action.deleteChat': 'Eliminar chat',
|
|
560
611
|
'action.appointAsAdmin': 'Nombrar administrador',
|
|
561
612
|
'action.moreOptions': 'Más opciones',
|
|
@@ -574,12 +625,21 @@ const es = {
|
|
|
574
625
|
'auth.anonymousLoginMessage': '¡Has iniciado sesión de forma anónima!',
|
|
575
626
|
'modal.profile.title': 'Perfil',
|
|
576
627
|
'modal.profile.about': 'Acerca de',
|
|
628
|
+
'modal.profile.language': 'Idioma',
|
|
629
|
+
'modal.profile.media': 'Multimedia',
|
|
630
|
+
'modal.profile.documents': 'Documentos',
|
|
631
|
+
'modal.profile.noFiles': 'Todavía no hay nada',
|
|
577
632
|
'modal.profile.noDescription': 'Sin descripción',
|
|
578
633
|
'modal.chatProfile.title': 'Perfil del chat',
|
|
579
634
|
'modal.chatProfile.description': 'Descripción',
|
|
580
635
|
'modal.chatProfile.chatType': 'Tipo de chat',
|
|
581
636
|
'modal.chatProfile.memberCountSingular': '{count} miembro',
|
|
582
637
|
'modal.chatProfile.memberCountPlural': '{count} miembros',
|
|
638
|
+
'modal.chatProfile.addMembers': 'Añadir miembros',
|
|
639
|
+
'modal.chatProfile.removePhoto': 'Quitar la foto',
|
|
640
|
+
'modal.chatProfile.membersLabel': 'Miembros: {count}',
|
|
641
|
+
'modal.chatProfile.membersUnavailable': 'Lista de miembros no disponible',
|
|
642
|
+
'modal.chatProfile.removeMember': '¿Quitar de este chat?',
|
|
583
643
|
'modal.deleteChat.title': '¿Eliminar este chat?',
|
|
584
644
|
'modal.addMembers.title': 'Añadir nuevo miembro',
|
|
585
645
|
'modal.addMembers.userIdPlaceholder': 'Introduce el ID de usuario',
|
|
@@ -636,6 +696,8 @@ const es = {
|
|
|
636
696
|
};
|
|
637
697
|
const pt = {
|
|
638
698
|
'search.placeholder': 'Pesquisar...',
|
|
699
|
+
'search.members': 'Pesquisar membros',
|
|
700
|
+
'search.noResults': 'Ninguém encontrado',
|
|
639
701
|
'input.placeholder': 'Escreva uma mensagem',
|
|
640
702
|
'room.created': 'Sala criada',
|
|
641
703
|
'room.empty': 'Este chat está vazio',
|
|
@@ -710,6 +772,10 @@ const pt = {
|
|
|
710
772
|
'action.add': 'Adicionar',
|
|
711
773
|
'action.backToCreation': 'Voltar à criação',
|
|
712
774
|
'action.report': 'Denunciar',
|
|
775
|
+
'action.search': 'Pesquisar',
|
|
776
|
+
'action.edit': 'Editar',
|
|
777
|
+
'action.deleteAndLeave': 'Eliminar e sair',
|
|
778
|
+
'status.banned': 'banido',
|
|
713
779
|
'status.connecting': 'A ligar…',
|
|
714
780
|
'status.noInternet': 'Sem ligação à internet',
|
|
715
781
|
'translation.translating': 'A traduzir…',
|
|
@@ -722,6 +788,9 @@ const pt = {
|
|
|
722
788
|
'language.select': 'Selecionar idioma',
|
|
723
789
|
'modal.newChat.title': 'Criar novo chat',
|
|
724
790
|
'modal.newChat.roomNamePlaceholder': 'Nome da sala',
|
|
791
|
+
'modal.newChat.descriptionPlaceholder': 'Descrição (opcional)',
|
|
792
|
+
'modal.newChat.createButton': 'Criar conversa',
|
|
793
|
+
'modal.newChat.nameTooShort': 'O nome deve ter pelo menos 3 caracteres.',
|
|
725
794
|
'modal.newChat.chatTypePlaceholder': 'Selecione o tipo de chat',
|
|
726
795
|
'modal.newChat.selectUsersTitle': 'Selecione utilizadores para adicionar ao chat',
|
|
727
796
|
'modal.selectUsers.title': 'Selecionar utilizadores (máx. 20)',
|
|
@@ -763,6 +832,8 @@ const pt = {
|
|
|
763
832
|
'action.call': 'Ligar',
|
|
764
833
|
'action.audioCall': 'Chamada de áudio',
|
|
765
834
|
'action.copyUserId': 'Copiar ID do utilizador',
|
|
835
|
+
'action.account': 'Conta',
|
|
836
|
+
'action.share': 'Partilhar',
|
|
766
837
|
'action.deleteChat': 'Eliminar chat',
|
|
767
838
|
'action.appointAsAdmin': 'Nomear administrador',
|
|
768
839
|
'action.moreOptions': 'Mais opções',
|
|
@@ -781,12 +852,21 @@ const pt = {
|
|
|
781
852
|
'auth.anonymousLoginMessage': 'Iniciou sessão anonimamente!',
|
|
782
853
|
'modal.profile.title': 'Perfil',
|
|
783
854
|
'modal.profile.about': 'Sobre',
|
|
855
|
+
'modal.profile.language': 'Idioma',
|
|
856
|
+
'modal.profile.media': 'Multimédia',
|
|
857
|
+
'modal.profile.documents': 'Documentos',
|
|
858
|
+
'modal.profile.noFiles': 'Ainda não há nada aqui',
|
|
784
859
|
'modal.profile.noDescription': 'Sem descrição',
|
|
785
860
|
'modal.chatProfile.title': 'Perfil do chat',
|
|
786
861
|
'modal.chatProfile.description': 'Descrição',
|
|
787
862
|
'modal.chatProfile.chatType': 'Tipo de chat',
|
|
788
863
|
'modal.chatProfile.memberCountSingular': '{count} membro',
|
|
789
864
|
'modal.chatProfile.memberCountPlural': '{count} membros',
|
|
865
|
+
'modal.chatProfile.addMembers': 'Adicionar membros',
|
|
866
|
+
'modal.chatProfile.removePhoto': 'Remover foto',
|
|
867
|
+
'modal.chatProfile.membersLabel': 'Membros: {count}',
|
|
868
|
+
'modal.chatProfile.membersUnavailable': 'Lista de membros indisponível',
|
|
869
|
+
'modal.chatProfile.removeMember': 'Remover deste chat?',
|
|
790
870
|
'modal.deleteChat.title': 'Eliminar este chat?',
|
|
791
871
|
'modal.addMembers.title': 'Adicionar novo membro',
|
|
792
872
|
'modal.addMembers.userIdPlaceholder': 'Introduza o ID do utilizador',
|
|
@@ -843,6 +923,8 @@ const pt = {
|
|
|
843
923
|
};
|
|
844
924
|
const ht = {
|
|
845
925
|
'search.placeholder': 'Chèche...',
|
|
926
|
+
'search.members': 'Chèche manm',
|
|
927
|
+
'search.noResults': 'Pa jwenn pèsonn',
|
|
846
928
|
'input.placeholder': 'Ekri yon mesaj',
|
|
847
929
|
'room.created': 'Sal la kreye',
|
|
848
930
|
'room.empty': 'Chat sa a vid',
|
|
@@ -917,6 +999,10 @@ const ht = {
|
|
|
917
999
|
'action.add': 'Ajoute',
|
|
918
1000
|
'action.backToCreation': 'Retounen nan kreyasyon',
|
|
919
1001
|
'action.report': 'Rapòte',
|
|
1002
|
+
'action.search': 'Chèche',
|
|
1003
|
+
'action.edit': 'Modifye',
|
|
1004
|
+
'action.deleteAndLeave': 'Efase epi kite',
|
|
1005
|
+
'status.banned': 'bloke',
|
|
920
1006
|
'status.connecting': 'Koneksyon…',
|
|
921
1007
|
'status.noInternet': 'Pa gen koneksyon entènèt',
|
|
922
1008
|
'translation.translating': 'Ap tradui…',
|
|
@@ -929,6 +1015,9 @@ const ht = {
|
|
|
929
1015
|
'language.select': 'Chwazi lang',
|
|
930
1016
|
'modal.newChat.title': 'Kreye yon nouvo chat',
|
|
931
1017
|
'modal.newChat.roomNamePlaceholder': 'Antre non sal la',
|
|
1018
|
+
'modal.newChat.descriptionPlaceholder': 'Deskripsyon (opsyonèl)',
|
|
1019
|
+
'modal.newChat.createButton': 'Kreye chat la',
|
|
1020
|
+
'modal.newChat.nameTooShort': 'Non an dwe gen omwen 3 karaktè.',
|
|
932
1021
|
'modal.newChat.chatTypePlaceholder': 'Chwazi tip chat la',
|
|
933
1022
|
'modal.newChat.selectUsersTitle': 'Chwazi itilizatè pou ajoute nan chat la',
|
|
934
1023
|
'modal.selectUsers.title': 'Chwazi itilizatè (maksimòm 20)',
|
|
@@ -970,6 +1059,8 @@ const ht = {
|
|
|
970
1059
|
'action.call': 'Rele',
|
|
971
1060
|
'action.audioCall': 'Apèl odyo',
|
|
972
1061
|
'action.copyUserId': 'Kopye ID itilizatè a',
|
|
1062
|
+
'action.account': 'Kont',
|
|
1063
|
+
'action.share': 'Pataje',
|
|
973
1064
|
'action.deleteChat': 'Efase chat la',
|
|
974
1065
|
'action.appointAsAdmin': 'Nonmen kòm administratè',
|
|
975
1066
|
'action.moreOptions': 'Plis opsyon',
|
|
@@ -988,12 +1079,21 @@ const ht = {
|
|
|
988
1079
|
'auth.anonymousLoginMessage': 'Ou konekte anonim!',
|
|
989
1080
|
'modal.profile.title': 'Pwofil',
|
|
990
1081
|
'modal.profile.about': 'Konsènan',
|
|
1082
|
+
'modal.profile.language': 'Lang',
|
|
1083
|
+
'modal.profile.media': 'Medya',
|
|
1084
|
+
'modal.profile.documents': 'Dokiman',
|
|
1085
|
+
'modal.profile.noFiles': 'Poko gen anyen',
|
|
991
1086
|
'modal.profile.noDescription': 'Pa gen deskripsyon',
|
|
992
1087
|
'modal.chatProfile.title': 'Pwofil chat la',
|
|
993
1088
|
'modal.chatProfile.description': 'Deskripsyon',
|
|
994
1089
|
'modal.chatProfile.chatType': 'Tip chat',
|
|
995
1090
|
'modal.chatProfile.memberCountSingular': '{count} manm',
|
|
996
1091
|
'modal.chatProfile.memberCountPlural': '{count} manm',
|
|
1092
|
+
'modal.chatProfile.addMembers': 'Ajoute manm',
|
|
1093
|
+
'modal.chatProfile.removePhoto': 'Retire foto a',
|
|
1094
|
+
'modal.chatProfile.membersLabel': 'Manm: {count}',
|
|
1095
|
+
'modal.chatProfile.membersUnavailable': 'Lis manm yo pa disponib',
|
|
1096
|
+
'modal.chatProfile.removeMember': 'Retire nan chat sa a?',
|
|
997
1097
|
'modal.deleteChat.title': 'Efase chat sa a?',
|
|
998
1098
|
'modal.addMembers.title': 'Ajoute yon nouvo manm',
|
|
999
1099
|
'modal.addMembers.userIdPlaceholder': 'Antre ID itilizatè a',
|
|
@@ -1050,6 +1150,8 @@ const ht = {
|
|
|
1050
1150
|
};
|
|
1051
1151
|
const zh = {
|
|
1052
1152
|
'search.placeholder': '搜索...',
|
|
1153
|
+
'search.members': '搜索成员',
|
|
1154
|
+
'search.noResults': '未找到成员',
|
|
1053
1155
|
'input.placeholder': '输入消息',
|
|
1054
1156
|
'room.created': '聊天室已创建',
|
|
1055
1157
|
'room.empty': '此聊天为空',
|
|
@@ -1124,6 +1226,10 @@ const zh = {
|
|
|
1124
1226
|
'action.add': '添加',
|
|
1125
1227
|
'action.backToCreation': '返回创建',
|
|
1126
1228
|
'action.report': '举报',
|
|
1229
|
+
'action.search': '搜索',
|
|
1230
|
+
'action.edit': '编辑',
|
|
1231
|
+
'action.deleteAndLeave': '删除并退出',
|
|
1232
|
+
'status.banned': '已封禁',
|
|
1127
1233
|
'status.connecting': '连接中…',
|
|
1128
1234
|
'status.noInternet': '无网络连接',
|
|
1129
1235
|
'translation.translating': '翻译中…',
|
|
@@ -1136,6 +1242,9 @@ const zh = {
|
|
|
1136
1242
|
'language.select': '选择语言',
|
|
1137
1243
|
'modal.newChat.title': '创建新聊天',
|
|
1138
1244
|
'modal.newChat.roomNamePlaceholder': '输入聊天室名称',
|
|
1245
|
+
'modal.newChat.descriptionPlaceholder': '描述(可选)',
|
|
1246
|
+
'modal.newChat.createButton': '创建聊天',
|
|
1247
|
+
'modal.newChat.nameTooShort': '名称至少需要 3 个字符。',
|
|
1139
1248
|
'modal.newChat.chatTypePlaceholder': '选择聊天类型',
|
|
1140
1249
|
'modal.newChat.selectUsersTitle': '选择要添加到聊天的用户',
|
|
1141
1250
|
'modal.selectUsers.title': '选择用户(最多 20 个)',
|
|
@@ -1177,6 +1286,8 @@ const zh = {
|
|
|
1177
1286
|
'action.call': '通话',
|
|
1178
1287
|
'action.audioCall': '语音通话',
|
|
1179
1288
|
'action.copyUserId': '复制用户 ID',
|
|
1289
|
+
'action.account': '账户',
|
|
1290
|
+
'action.share': '分享',
|
|
1180
1291
|
'action.deleteChat': '删除聊天',
|
|
1181
1292
|
'action.appointAsAdmin': '设为管理员',
|
|
1182
1293
|
'action.moreOptions': '更多选项',
|
|
@@ -1195,12 +1306,21 @@ const zh = {
|
|
|
1195
1306
|
'auth.anonymousLoginMessage': '您已匿名登录!',
|
|
1196
1307
|
'modal.profile.title': '个人资料',
|
|
1197
1308
|
'modal.profile.about': '简介',
|
|
1309
|
+
'modal.profile.language': '语言',
|
|
1310
|
+
'modal.profile.media': '媒体',
|
|
1311
|
+
'modal.profile.documents': '文件',
|
|
1312
|
+
'modal.profile.noFiles': '这里还没有内容',
|
|
1198
1313
|
'modal.profile.noDescription': '暂无简介',
|
|
1199
1314
|
'modal.chatProfile.title': '聊天资料',
|
|
1200
1315
|
'modal.chatProfile.description': '描述',
|
|
1201
1316
|
'modal.chatProfile.chatType': '聊天类型',
|
|
1202
1317
|
'modal.chatProfile.memberCountSingular': '{count} 位成员',
|
|
1203
1318
|
'modal.chatProfile.memberCountPlural': '{count} 位成员',
|
|
1319
|
+
'modal.chatProfile.addMembers': '添加成员',
|
|
1320
|
+
'modal.chatProfile.removePhoto': '移除图片',
|
|
1321
|
+
'modal.chatProfile.membersLabel': '成员:{count}',
|
|
1322
|
+
'modal.chatProfile.membersUnavailable': '成员列表不可用',
|
|
1323
|
+
'modal.chatProfile.removeMember': '将其移出该聊天?',
|
|
1204
1324
|
'modal.deleteChat.title': '删除此聊天?',
|
|
1205
1325
|
'modal.addMembers.title': '添加新成员',
|
|
1206
1326
|
'modal.addMembers.userIdPlaceholder': '输入用户 ID',
|