@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.
Files changed (263) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +9 -8
  3. package/lib/commonjs/assets/icons.js +7 -2
  4. package/lib/commonjs/assets/icons.js.map +1 -1
  5. package/lib/commonjs/components/Header/HeaderRoomList.js +20 -6
  6. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/ChatRoom.js +86 -7
  8. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/ChatWrapper.js +18 -0
  10. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  11. package/lib/commonjs/components/MainComponents/MessageList.js +11 -4
  12. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  13. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +5 -5
  14. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  15. package/lib/commonjs/components/MainComponents/RoomList.js +62 -32
  16. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  17. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +208 -70
  18. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  19. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +307 -99
  20. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  21. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +544 -200
  22. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  23. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +226 -0
  24. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  25. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
  26. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  27. package/lib/commonjs/components/Modals/Modal/Modal.js +8 -0
  28. package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
  29. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +202 -104
  30. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  31. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js +556 -0
  32. package/lib/commonjs/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  33. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +210 -0
  34. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  35. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
  36. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  37. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +507 -244
  38. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  39. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +74 -46
  40. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  41. package/lib/commonjs/components/Modals/styledModalComponents.js +9 -2
  42. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  43. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +17 -7
  44. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  45. package/lib/commonjs/components/styled/SendInput.js +80 -1
  46. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  47. package/lib/commonjs/components/styled/StyledComponents.js +9 -3
  48. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  49. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
  50. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  51. package/lib/commonjs/context/xmppProvider.js +12 -0
  52. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  53. package/lib/commonjs/helpers/getChatBackground.js +23 -0
  54. package/lib/commonjs/helpers/getChatBackground.js.map +1 -0
  55. package/lib/commonjs/helpers/historyPreloadScheduler.js +65 -2
  56. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  57. package/lib/commonjs/helpers/mediaLibraryRuntime.js +31 -0
  58. package/lib/commonjs/helpers/mediaLibraryRuntime.js.map +1 -0
  59. package/lib/commonjs/helpers/shallowEqual.js +36 -0
  60. package/lib/commonjs/helpers/shallowEqual.js.map +1 -0
  61. package/lib/commonjs/helpers/sheetGestures.js +32 -0
  62. package/lib/commonjs/helpers/sheetGestures.js.map +1 -0
  63. package/lib/commonjs/hooks/useChatWrapperInit.js +15 -0
  64. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  65. package/lib/commonjs/hooks/useComposing.js +27 -0
  66. package/lib/commonjs/hooks/useComposing.js.map +1 -1
  67. package/lib/commonjs/hooks/useSendMessage.js +27 -1
  68. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  69. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +6 -1
  70. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  71. package/lib/commonjs/i18n/strings.js +121 -1
  72. package/lib/commonjs/i18n/strings.js.map +1 -1
  73. package/lib/commonjs/networking/api-requests/user.api.js +59 -0
  74. package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
  75. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +6 -2
  76. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  77. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  78. package/lib/commonjs/roomStore/chatSettingsSlice.js +3 -1
  79. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  80. package/lib/commonjs/roomStore/roomsSlice.js +2 -2
  81. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  82. package/lib/module/assets/icons.js +6 -1
  83. package/lib/module/assets/icons.js.map +1 -1
  84. package/lib/module/components/Header/HeaderRoomList.js +20 -6
  85. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  86. package/lib/module/components/MainComponents/ChatRoom.js +87 -8
  87. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  88. package/lib/module/components/MainComponents/ChatWrapper.js +19 -1
  89. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  90. package/lib/module/components/MainComponents/MessageList.js +11 -4
  91. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  92. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +5 -5
  93. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  94. package/lib/module/components/MainComponents/RoomList.js +62 -32
  95. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  96. package/lib/module/components/Menu/HeaderRoomListMenu.js +211 -73
  97. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  98. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +298 -102
  99. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  100. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +547 -204
  101. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  102. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +223 -0
  103. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -0
  104. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
  105. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  106. package/lib/module/components/Modals/Modal/Modal.js +9 -1
  107. package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
  108. package/lib/module/components/Modals/NewChatModal/NewChatModal.js +205 -106
  109. package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  110. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js +548 -0
  111. package/lib/module/components/Modals/ProfileHeader/ProfileHeader.js.map +1 -0
  112. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +205 -0
  113. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -0
  114. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -2
  115. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  116. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +509 -248
  117. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  118. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +76 -48
  119. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  120. package/lib/module/components/Modals/styledModalComponents.js +9 -2
  121. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  122. package/lib/module/components/RoomComponents/ChatRoomItem.js +17 -7
  123. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  124. package/lib/module/components/styled/SendInput.js +80 -1
  125. package/lib/module/components/styled/SendInput.js.map +1 -1
  126. package/lib/module/components/styled/StyledComponents.js +9 -3
  127. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  128. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +11 -4
  129. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  130. package/lib/module/context/xmppProvider.js +12 -0
  131. package/lib/module/context/xmppProvider.js.map +1 -1
  132. package/lib/module/helpers/getChatBackground.js +18 -0
  133. package/lib/module/helpers/getChatBackground.js.map +1 -0
  134. package/lib/module/helpers/historyPreloadScheduler.js +66 -3
  135. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  136. package/lib/module/helpers/mediaLibraryRuntime.js +25 -0
  137. package/lib/module/helpers/mediaLibraryRuntime.js.map +1 -0
  138. package/lib/module/helpers/shallowEqual.js +31 -0
  139. package/lib/module/helpers/shallowEqual.js.map +1 -0
  140. package/lib/module/helpers/sheetGestures.js +26 -0
  141. package/lib/module/helpers/sheetGestures.js.map +1 -0
  142. package/lib/module/hooks/useChatWrapperInit.js +15 -0
  143. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  144. package/lib/module/hooks/useComposing.js +28 -1
  145. package/lib/module/hooks/useComposing.js.map +1 -1
  146. package/lib/module/hooks/useSendMessage.js +28 -2
  147. package/lib/module/hooks/useSendMessage.js.map +1 -1
  148. package/lib/module/hooks/useUnreadMessagesCounter.js +6 -1
  149. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  150. package/lib/module/i18n/strings.js +121 -1
  151. package/lib/module/i18n/strings.js.map +1 -1
  152. package/lib/module/networking/api-requests/user.api.js +56 -0
  153. package/lib/module/networking/api-requests/user.api.js.map +1 -1
  154. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +6 -2
  155. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  156. package/lib/module/networking/xmppClient.js.map +1 -1
  157. package/lib/module/roomStore/chatSettingsSlice.js +3 -1
  158. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  159. package/lib/module/roomStore/roomsSlice.js +1 -1
  160. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  161. package/lib/typescript/assets/icons.d.ts +12 -0
  162. package/lib/typescript/assets/icons.d.ts.map +1 -1
  163. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  164. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  165. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  166. package/lib/typescript/components/MainComponents/MessageList.d.ts +10 -1
  167. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  168. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  169. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  170. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts +9 -0
  171. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  172. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts +10 -0
  173. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  174. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts +9 -0
  175. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -0
  176. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  177. package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
  178. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts +1 -1
  179. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
  180. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts +75 -0
  181. package/lib/typescript/components/Modals/ProfileHeader/ProfileHeader.d.ts.map +1 -0
  182. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts +25 -0
  183. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +1 -0
  184. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts +6 -1
  185. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
  186. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts +16 -0
  187. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  188. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts +1 -0
  189. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  190. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  191. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  192. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  193. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  194. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  195. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  196. package/lib/typescript/helpers/getChatBackground.d.ts +15 -0
  197. package/lib/typescript/helpers/getChatBackground.d.ts.map +1 -0
  198. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  199. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts +3 -0
  200. package/lib/typescript/helpers/mediaLibraryRuntime.d.ts.map +1 -0
  201. package/lib/typescript/helpers/shallowEqual.d.ts +11 -0
  202. package/lib/typescript/helpers/shallowEqual.d.ts.map +1 -0
  203. package/lib/typescript/helpers/sheetGestures.d.ts +20 -0
  204. package/lib/typescript/helpers/sheetGestures.d.ts.map +1 -0
  205. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  206. package/lib/typescript/hooks/useComposing.d.ts.map +1 -1
  207. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  208. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +1 -0
  209. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  210. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  211. package/lib/typescript/networking/api-requests/user.api.d.ts +27 -0
  212. package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
  213. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -0
  214. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  215. package/lib/typescript/networking/xmppClient.d.ts +1 -0
  216. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  217. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  218. package/lib/typescript/roomStore/roomsSlice.d.ts +1 -0
  219. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  220. package/lib/typescript/types/types.d.ts +9 -5
  221. package/lib/typescript/types/types.d.ts.map +1 -1
  222. package/package.json +6 -1
  223. package/src/assets/icons.tsx +29 -9
  224. package/src/components/Header/HeaderRoomList.tsx +20 -5
  225. package/src/components/MainComponents/ChatRoom.tsx +92 -8
  226. package/src/components/MainComponents/ChatWrapper.tsx +19 -1
  227. package/src/components/MainComponents/MessageList.tsx +21 -3
  228. package/src/components/MainComponents/ProfileImagePlaceholder.tsx +5 -5
  229. package/src/components/MainComponents/RoomList.tsx +65 -34
  230. package/src/components/Menu/HeaderRoomListMenu.tsx +209 -64
  231. package/src/components/Modals/AttachSheet/AttachSheet.tsx +318 -86
  232. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +599 -278
  233. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +244 -0
  234. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +4 -2
  235. package/src/components/Modals/Modal/Modal.tsx +7 -0
  236. package/src/components/Modals/NewChatModal/NewChatModal.tsx +219 -117
  237. package/src/components/Modals/ProfileHeader/ProfileHeader.tsx +615 -0
  238. package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +217 -0
  239. package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +14 -4
  240. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +617 -307
  241. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +75 -58
  242. package/src/components/Modals/styledModalComponents.tsx +9 -2
  243. package/src/components/RoomComponents/ChatRoomItem.tsx +14 -7
  244. package/src/components/styled/SendInput.tsx +83 -2
  245. package/src/components/styled/StyledComponents.ts +9 -3
  246. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +11 -4
  247. package/src/context/xmppProvider.tsx +14 -0
  248. package/src/helpers/getChatBackground.ts +18 -0
  249. package/src/helpers/historyPreloadScheduler.ts +80 -3
  250. package/src/helpers/mediaLibraryRuntime.ts +25 -0
  251. package/src/helpers/shallowEqual.ts +33 -0
  252. package/src/helpers/sheetGestures.ts +25 -0
  253. package/src/hooks/useChatWrapperInit.ts +15 -0
  254. package/src/hooks/useComposing.tsx +37 -1
  255. package/src/hooks/useSendMessage.tsx +32 -2
  256. package/src/hooks/useUnreadMessagesCounter.ts +11 -0
  257. package/src/i18n/strings.ts +121 -1
  258. package/src/networking/api-requests/user.api.ts +71 -0
  259. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +17 -3
  260. package/src/networking/xmppClient.ts +5 -1
  261. package/src/roomStore/chatSettingsSlice.ts +3 -1
  262. package/src/roomStore/roomsSlice.ts +1 -1
  263. 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,QAAkB,OAAO;AACxD,SAASC,aAAa,QAAQ,yBAAyB;AACvD,SAASC,WAAW,QAAQ,aAAa;AAEzC,SAASC,mBAAmB,QAAQ,uBAAuB;AAG3D,MAAMC,YAAY,GAAIC,MAAgB,IAAK;EACzC,MAAM;IAAEC;EAAO,CAAC,GAAGL,aAAa,CAAC,CAAC;EAClC,MAAM;IAAEM;EAAc,CAAC,GAAGL,WAAW,CAAEM,KAAgB,IAAKA,KAAK,CAACC,KAAK,CAAC;EACxE,MAAM;IAAEC;EAAK,CAAC,GAAGP,mBAAmB,CAAC,CAAC;EAEtC,MAAMQ,kBAAkB,GAAGZ,WAAW,CAAC,MAAM;IAC3C,IAAIM,MAAM,EAAEO,sBAAsB,EAAE;MAClC;IACF;IACA,IAAIN,MAAM,EAAE;MACVA,MAAM,CAACO,uBAAuB,CAC5BN,aAAa,IAAI,EAAE,EACnB,GAAGG,IAAI,CAACI,SAAS,IAAIJ,IAAI,CAACK,QAAQ,EAAE,EACpC,IACF,CAAC;IACH;EACF,CAAC,EAAE,CAACR,aAAa,EAAED,MAAM,EAAED,MAAM,EAAEO,sBAAsB,EAAEF,IAAI,CAACI,SAAS,EAAEJ,IAAI,CAACK,QAAQ,CAAC,CAAC;EAE1F,MAAMC,gBAAgB,GAAGjB,WAAW,CAAC,MAAM;IACzC,IAAIM,MAAM,EAAEO,sBAAsB,EAAE;MAClC;IACF;IACA,IAAIN,MAAM,EAAE;MACVA,MAAM,CAACO,uBAAuB,CAC5BN,aAAa,IAAI,EAAE,EACnB,GAAGG,IAAI,CAACI,SAAS,IAAIJ,IAAI,CAACK,QAAQ,EAAE,EACpC,KACF,CAAC;IACH;EACF,CAAC,EAAE,CAACR,aAAa,EAAED,MAAM,EAAED,MAAM,EAAEO,sBAAsB,EAAEF,IAAI,CAACI,SAAS,EAAEJ,IAAI,CAACK,QAAQ,CAAC,CAAC;EAE1Ff,SAAS,CAAC,MAAM;IACd,MAAMiB,OAAO,GAAGC,UAAU,CAAC,MAAM;MAC/BF,gBAAgB,CAAC,CAAC;IACpB,CAAC,EAAE,GAAG,CAAC;IAEP,OAAO,MAAMG,YAAY,CAACF,OAAO,CAAC;EACpC,CAAC,EAAE,CAACD,gBAAgB,CAAC,CAAC;EAEtB,OAAO;IAAEL,kBAAkB;IAAEK;EAAiB,CAAC;AACjD,CAAC;AAED,eAAeZ,YAAY","ignoreList":[]}
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;AAapC,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;EAElBC,MAAM,CAACC,OAAO,CAACJ,KAAK,CAAC,CAACK,OAAO,CAAC,CAAC,CAACC,OAAO,EAAEC,IAAI,CAAkB,KAAK;IAClE,MAAMC,WAAW,GAAGD,IAAI,CAACE,cAAc,IAAI,CAAC;IAC5C,IAAID,WAAW,GAAG,CAAC,EAAE;MACnBP,YAAY,CAACK,OAAO,CAAC,GAAGE,WAAW;MACnCN,UAAU,IAAIM,WAAW;IAC3B;EACF,CAAC,CAAC;EAEF,OAAO;IACLE,SAAS,EAAER,UAAU,GAAG,CAAC;IACzBA,UAAU;IACVD,YAAY;IACZU,SAAS,EAAE,CAAC,CAACb,UAAU,CAACc,eAAe,IAAI,CAAC,CAACd,UAAU,CAACa;EAC1D,CAAC;AACH,CAAC;AAED,SAAShB,wBAAwB,IAAIkB,SAAS","ignoreList":[]}
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': 'Enter Room Name',
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',