@ethora/chat-component-rn 26.10.2 → 26.10.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 (166) hide show
  1. package/lib/commonjs/components/Header/HeaderRoomList.js +72 -69
  2. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  3. package/lib/commonjs/components/MainComponents/ChatHeader.js +13 -11
  4. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  5. package/lib/commonjs/components/MainComponents/MessageContainer.js +10 -2
  6. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/RoomList.js +8 -18
  8. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  9. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +17 -14
  10. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  11. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +131 -17
  12. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  13. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +6 -1
  14. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  15. package/lib/commonjs/components/VideoCalls/ActiveCallBar.js +203 -0
  16. package/lib/commonjs/components/VideoCalls/ActiveCallBar.js.map +1 -0
  17. package/lib/commonjs/components/VideoCalls/CallButtons.js +3 -1
  18. package/lib/commonjs/components/VideoCalls/CallButtons.js.map +1 -1
  19. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js +123 -129
  20. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  21. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +212 -414
  22. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
  23. package/lib/commonjs/components/VideoCalls/callActions.js +61 -0
  24. package/lib/commonjs/components/VideoCalls/callActions.js.map +1 -0
  25. package/lib/commonjs/components/VideoCalls/callSessionController.js +461 -0
  26. package/lib/commonjs/components/VideoCalls/callSessionController.js.map +1 -0
  27. package/lib/commonjs/components/VideoCalls/callUiStore.js +91 -0
  28. package/lib/commonjs/components/VideoCalls/callUiStore.js.map +1 -0
  29. package/lib/commonjs/components/VideoCalls/livekitRuntime.js +1 -0
  30. package/lib/commonjs/components/VideoCalls/livekitRuntime.js.map +1 -1
  31. package/lib/commonjs/components/VideoCalls/useDraggable.js +59 -0
  32. package/lib/commonjs/components/VideoCalls/useDraggable.js.map +1 -0
  33. package/lib/commonjs/helpers/createRoomFromApi.js +4 -0
  34. package/lib/commonjs/helpers/createRoomFromApi.js.map +1 -1
  35. package/lib/commonjs/helpers/incomingCallFromPush.js +1 -1
  36. package/lib/commonjs/helpers/incomingCallFromPush.js.map +1 -1
  37. package/lib/commonjs/helpers/roomUserCount.js +7 -1
  38. package/lib/commonjs/helpers/roomUserCount.js.map +1 -1
  39. package/lib/commonjs/helpers/uniqueMembers.js +36 -0
  40. package/lib/commonjs/helpers/uniqueMembers.js.map +1 -0
  41. package/lib/commonjs/hooks/useLeaveRoom.js +52 -0
  42. package/lib/commonjs/hooks/useLeaveRoom.js.map +1 -0
  43. package/lib/commonjs/i18n/strings.js +24 -0
  44. package/lib/commonjs/i18n/strings.js.map +1 -1
  45. package/lib/commonjs/networking/api-requests/rooms.api.js +36 -1
  46. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  47. package/lib/commonjs/networking/callTokenStanza.js +47 -3
  48. package/lib/commonjs/networking/callTokenStanza.js.map +1 -1
  49. package/lib/commonjs/networking/xmppClient.js +9 -2
  50. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  51. package/lib/commonjs/version.js +1 -1
  52. package/lib/module/components/Header/HeaderRoomList.js +73 -70
  53. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  54. package/lib/module/components/MainComponents/ChatHeader.js +15 -13
  55. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  56. package/lib/module/components/MainComponents/MessageContainer.js +10 -2
  57. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  58. package/lib/module/components/MainComponents/RoomList.js +8 -18
  59. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  60. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +18 -15
  61. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  62. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +132 -18
  63. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  64. package/lib/module/components/RoomComponents/ChatRoomItem.js +6 -1
  65. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  66. package/lib/module/components/VideoCalls/ActiveCallBar.js +195 -0
  67. package/lib/module/components/VideoCalls/ActiveCallBar.js.map +1 -0
  68. package/lib/module/components/VideoCalls/CallButtons.js +3 -1
  69. package/lib/module/components/VideoCalls/CallButtons.js.map +1 -1
  70. package/lib/module/components/VideoCalls/VideoCallOverlay.js +125 -131
  71. package/lib/module/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  72. package/lib/module/components/VideoCalls/VideoCallSession.js +213 -417
  73. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
  74. package/lib/module/components/VideoCalls/callActions.js +55 -0
  75. package/lib/module/components/VideoCalls/callActions.js.map +1 -0
  76. package/lib/module/components/VideoCalls/callSessionController.js +450 -0
  77. package/lib/module/components/VideoCalls/callSessionController.js.map +1 -0
  78. package/lib/module/components/VideoCalls/callUiStore.js +84 -0
  79. package/lib/module/components/VideoCalls/callUiStore.js.map +1 -0
  80. package/lib/module/components/VideoCalls/livekitRuntime.js +1 -0
  81. package/lib/module/components/VideoCalls/livekitRuntime.js.map +1 -1
  82. package/lib/module/components/VideoCalls/useDraggable.js +55 -0
  83. package/lib/module/components/VideoCalls/useDraggable.js.map +1 -0
  84. package/lib/module/helpers/createRoomFromApi.js +4 -0
  85. package/lib/module/helpers/createRoomFromApi.js.map +1 -1
  86. package/lib/module/helpers/incomingCallFromPush.js +1 -1
  87. package/lib/module/helpers/incomingCallFromPush.js.map +1 -1
  88. package/lib/module/helpers/roomUserCount.js +7 -1
  89. package/lib/module/helpers/roomUserCount.js.map +1 -1
  90. package/lib/module/helpers/uniqueMembers.js +31 -0
  91. package/lib/module/helpers/uniqueMembers.js.map +1 -0
  92. package/lib/module/hooks/useLeaveRoom.js +48 -0
  93. package/lib/module/hooks/useLeaveRoom.js.map +1 -0
  94. package/lib/module/i18n/strings.js +24 -0
  95. package/lib/module/i18n/strings.js.map +1 -1
  96. package/lib/module/networking/api-requests/rooms.api.js +35 -1
  97. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  98. package/lib/module/networking/callTokenStanza.js +47 -3
  99. package/lib/module/networking/callTokenStanza.js.map +1 -1
  100. package/lib/module/networking/xmppClient.js +8 -1
  101. package/lib/module/networking/xmppClient.js.map +1 -1
  102. package/lib/module/version.js +1 -1
  103. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  104. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  105. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  106. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  107. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  108. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  109. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  110. package/lib/typescript/components/VideoCalls/ActiveCallBar.d.ts +21 -0
  111. package/lib/typescript/components/VideoCalls/ActiveCallBar.d.ts.map +1 -0
  112. package/lib/typescript/components/VideoCalls/CallButtons.d.ts.map +1 -1
  113. package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts +0 -6
  114. package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts.map +1 -1
  115. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts +15 -22
  116. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
  117. package/lib/typescript/components/VideoCalls/callActions.d.ts +15 -0
  118. package/lib/typescript/components/VideoCalls/callActions.d.ts.map +1 -0
  119. package/lib/typescript/components/VideoCalls/callSessionController.d.ts +63 -0
  120. package/lib/typescript/components/VideoCalls/callSessionController.d.ts.map +1 -0
  121. package/lib/typescript/components/VideoCalls/callUiStore.d.ts +24 -0
  122. package/lib/typescript/components/VideoCalls/callUiStore.d.ts.map +1 -0
  123. package/lib/typescript/components/VideoCalls/livekitRuntime.d.ts +2 -0
  124. package/lib/typescript/components/VideoCalls/livekitRuntime.d.ts.map +1 -1
  125. package/lib/typescript/components/VideoCalls/useDraggable.d.ts +19 -0
  126. package/lib/typescript/components/VideoCalls/useDraggable.d.ts.map +1 -0
  127. package/lib/typescript/helpers/createRoomFromApi.d.ts.map +1 -1
  128. package/lib/typescript/helpers/roomUserCount.d.ts +1 -0
  129. package/lib/typescript/helpers/roomUserCount.d.ts.map +1 -1
  130. package/lib/typescript/helpers/uniqueMembers.d.ts +11 -0
  131. package/lib/typescript/helpers/uniqueMembers.d.ts.map +1 -0
  132. package/lib/typescript/hooks/useLeaveRoom.d.ts +9 -0
  133. package/lib/typescript/hooks/useLeaveRoom.d.ts.map +1 -0
  134. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  135. package/lib/typescript/networking/api-requests/rooms.api.d.ts +8 -0
  136. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  137. package/lib/typescript/networking/callTokenStanza.d.ts.map +1 -1
  138. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  139. package/lib/typescript/version.d.ts +1 -1
  140. package/package.json +1 -1
  141. package/src/components/Header/HeaderRoomList.tsx +66 -61
  142. package/src/components/MainComponents/ChatHeader.tsx +13 -8
  143. package/src/components/MainComponents/MessageContainer.tsx +14 -1
  144. package/src/components/MainComponents/RoomList.tsx +8 -14
  145. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +16 -13
  146. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +167 -36
  147. package/src/components/RoomComponents/ChatRoomItem.tsx +8 -1
  148. package/src/components/VideoCalls/ActiveCallBar.tsx +176 -0
  149. package/src/components/VideoCalls/CallButtons.tsx +5 -1
  150. package/src/components/VideoCalls/VideoCallOverlay.tsx +153 -183
  151. package/src/components/VideoCalls/VideoCallSession.tsx +227 -439
  152. package/src/components/VideoCalls/callActions.ts +63 -0
  153. package/src/components/VideoCalls/callSessionController.ts +439 -0
  154. package/src/components/VideoCalls/callUiStore.ts +76 -0
  155. package/src/components/VideoCalls/livekitRuntime.ts +3 -0
  156. package/src/components/VideoCalls/useDraggable.ts +46 -0
  157. package/src/helpers/createRoomFromApi.tsx +2 -0
  158. package/src/helpers/incomingCallFromPush.ts +2 -2
  159. package/src/helpers/roomUserCount.ts +6 -2
  160. package/src/helpers/uniqueMembers.ts +26 -0
  161. package/src/hooks/useLeaveRoom.ts +42 -0
  162. package/src/i18n/strings.ts +24 -0
  163. package/src/networking/api-requests/rooms.api.ts +28 -1
  164. package/src/networking/callTokenStanza.ts +46 -6
  165. package/src/networking/xmppClient.ts +10 -1
  166. package/src/version.ts +1 -1
@@ -0,0 +1,24 @@
1
+ /**
2
+ * UI state of the call shared between the overlay and the header bar:
3
+ * whether the call is minimized, and which header (if any) currently hosts
4
+ * the minimized bar.
5
+ *
6
+ * Minimized, the call is a strip under the visible header (ChatHeader or
7
+ * HeaderRoomList), Telegram-style, instead of a floating panel. Each header
8
+ * registers itself while mounted; the most recently mounted one shows the
9
+ * strip (on an iPad split view both are mounted, and only one strip should
10
+ * appear). With no header mounted (the user is on a host-app screen) the
11
+ * overlay docks the same strip to the top of the screen.
12
+ */
13
+ interface CallUiState {
14
+ minimized: boolean;
15
+ /** Id of the header that shows the strip, or null when none is mounted. */
16
+ barHost: number | null;
17
+ }
18
+ /** Current state, for non-React code and tests. */
19
+ export declare const getCallUiState: () => CallUiState;
20
+ export declare const useCallUi: () => CallUiState;
21
+ export declare const setCallMinimized: (minimized: boolean) => void;
22
+ export declare const registerCallBarHost: (onId?: (id: number) => void) => (() => void);
23
+ export {};
24
+ //# sourceMappingURL=callUiStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callUiStore.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/callUiStore.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,UAAU,WAAW;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAiCD,mDAAmD;AACnD,eAAO,MAAM,cAAc,QAAO,WAAoB,CAAC;AAEvD,eAAO,MAAM,SAAS,QAAO,WAC8B,CAAC;AAE5D,eAAO,MAAM,gBAAgB,GAAI,WAAW,OAAO,KAAG,IAErD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,OAAO,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,KAC1B,CAAC,MAAM,IAAI,CAUb,CAAC"}
@@ -25,6 +25,8 @@ export interface LiveKitRuntime {
25
25
  Track: any;
26
26
  /** livekit-client `ConnectionState` enum. */
27
27
  ConnectionState: any;
28
+ /** livekit-client `VideoPresets` (h540, h216...). */
29
+ VideoPresets: any;
28
30
  /** RN `<VideoTrack trackRef={...} />` renderer. */
29
31
  VideoTrack: any;
30
32
  /** Native audio session control (routing, speaker, focus). */
@@ -1 +1 @@
1
- {"version":3,"file":"livekitRuntime.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/livekitRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,IAAI,EAAE,GAAG,CAAC;IACV,uCAAuC;IACvC,SAAS,EAAE,GAAG,CAAC;IACf,6DAA6D;IAC7D,KAAK,EAAE,GAAG,CAAC;IACX,6CAA6C;IAC7C,eAAe,EAAE,GAAG,CAAC;IACrB,mDAAmD;IACnD,UAAU,EAAE,GAAG,CAAC;IAChB,8DAA8D;IAC9D,YAAY,EAAE,GAAG,CAAC;IAClB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAID,eAAO,MAAM,kBAAkB,QAAO,OAAiC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,WAAW,QAAO,cAAc,GAAG,IA6B/C,CAAC;AAIF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,cAAc,KAAG,IAQ9D,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,6BAA6B,QAAO,IAGhD,CAAC"}
1
+ {"version":3,"file":"livekitRuntime.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/livekitRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,IAAI,EAAE,GAAG,CAAC;IACV,uCAAuC;IACvC,SAAS,EAAE,GAAG,CAAC;IACf,6DAA6D;IAC7D,KAAK,EAAE,GAAG,CAAC;IACX,6CAA6C;IAC7C,eAAe,EAAE,GAAG,CAAC;IACrB,qDAAqD;IACrD,YAAY,EAAE,GAAG,CAAC;IAClB,mDAAmD;IACnD,UAAU,EAAE,GAAG,CAAC;IAChB,8DAA8D;IAC9D,YAAY,EAAE,GAAG,CAAC;IAClB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAID,eAAO,MAAM,kBAAkB,QAAO,OAAiC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,WAAW,QAAO,cAAc,GAAG,IA8B/C,CAAC;AAIF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,cAAc,KAAG,IAQ9D,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,6BAA6B,QAAO,IAGhD,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { Animated } from 'react-native';
2
+ /**
3
+ * Drag a floating element around (web's useDraggable, for the self-view
4
+ * tile and the minimized call panel). The offset is kept between drags.
5
+ *
6
+ * The responder only claims the gesture once the finger actually moves a
7
+ * few points, so taps still reach the buttons inside the dragged element.
8
+ */
9
+ export declare const useDraggable: () => {
10
+ panHandlers: import("react-native").GestureResponderHandlers;
11
+ style: {
12
+ transform: [{
13
+ translateX: Animated.AnimatedValue;
14
+ }, {
15
+ translateY: Animated.AnimatedValue;
16
+ }];
17
+ };
18
+ };
19
+ //# sourceMappingURL=useDraggable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDraggable.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/useDraggable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAgB,MAAM,cAAc,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;;;;;;;;CAmCxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createRoomFromApi.d.ts","sourceRoot":"","sources":["../../../src/helpers/createRoomFromApi.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,gBAAgB,OAAO,CAAC,aAAa,CAAC,EACtC,SAAS,MAAM,KACd,WAAW,GAAG,SAkBhB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,KAAG,MAAM,GAAG,SAKZ,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,UAAU,CAAC,GAAG;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,EACxE,WAAU,MAAU,KACnB,MAOF,CAAC;AAUF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,OAAO,EACb,UAAS,MAA4C,EACrD,mBAAkB,MAAU,KAC3B,KAAK,GAAG,IA4BV,CAAC"}
1
+ {"version":3,"file":"createRoomFromApi.d.ts","sourceRoot":"","sources":["../../../src/helpers/createRoomFromApi.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,gBAAgB,OAAO,CAAC,aAAa,CAAC,EACtC,SAAS,MAAM,KACd,WAAW,GAAG,SAkBhB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,KAAG,MAAM,GAAG,SAKZ,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,UAAU,CAAC,GAAG;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,EACxE,WAAU,MAAU,KACnB,MAOF,CAAC;AAUF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,OAAO,EACb,UAAS,MAA4C,EACrD,mBAAkB,MAAU,KAC3B,KAAK,GAAG,IA6BV,CAAC"}
@@ -2,6 +2,7 @@ import { IRoom } from '../types/types';
2
2
  type CountSource = Pick<IRoom, 'members' | 'usersCnt'> | {
3
3
  members?: unknown;
4
4
  usersCnt?: unknown;
5
+ type?: unknown;
5
6
  } | null | undefined;
6
7
  /**
7
8
  * User count to DISPLAY for a room. /chats/my returns `usersCnt` (the true
@@ -1 +1 @@
1
- {"version":3,"file":"roomUserCount.d.ts","sourceRoot":"","sources":["../../../src/helpers/roomUserCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,KAAK,WAAW,GACZ,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC,GACnC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACzC,IAAI,GACJ,SAAS,CAAC;AAEd;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,WAAW,KAAG,MAOpD,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB,GAAI,MAAM,WAAW,KAAG,OAO1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,WAAW,EACjB,OAAO,CAAC,GAAG,CAAC,CAAC,EACb,mBAAmB,MAAM,KACxB,MAGF,CAAC"}
1
+ {"version":3,"file":"roomUserCount.d.ts","sourceRoot":"","sources":["../../../src/helpers/roomUserCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,KAAK,WAAW,GACZ,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC,GACnC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GACzD,IAAI,GACJ,SAAS,CAAC;AAEd;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,WAAW,KAAG,MAUpD,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB,GAAI,MAAM,WAAW,KAAG,OAQ1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,WAAW,EACjB,OAAO,CAAC,GAAG,CAAC,CAAC,EACb,mBAAmB,MAAM,KACxB,MAGF,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Drop repeated entries from a room's member list, keeping the first.
3
+ *
4
+ * The same person could appear twice in a 1:1 chat ("Members: 3", four
5
+ * rows): the list came back from the server with repeats after the private
6
+ * chat was requested again for an existing room. Members are keyed by
7
+ * whatever identity the entry carries: xmppUsername, then _id, then the
8
+ * JID's localpart.
9
+ */
10
+ export declare const uniqueMembers: <T>(members: T[] | undefined | null) => T[];
11
+ //# sourceMappingURL=uniqueMembers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniqueMembers.d.ts","sourceRoot":"","sources":["../../../src/helpers/uniqueMembers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAG,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI,KAAG,CAAC,EAgBpE,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Leave a chat, shared by the room-list swipe, the chat header and the chat
3
+ * profile. The server goes first: if it refuses, the chat stays where it is
4
+ * (dropping it locally would only have it come back on the next /chats/my).
5
+ * Then the unavailable presence to the MUC and the room out of the store.
6
+ * Resolves false on failure, so the caller can say so in its own way.
7
+ */
8
+ export declare const useLeaveRoom: () => (jid: string) => Promise<boolean>;
9
+ //# sourceMappingURL=useLeaveRoom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLeaveRoom.d.ts","sourceRoot":"","sources":["../../../src/hooks/useLeaveRoom.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,cAIT,MAAM,KAAG,OAAO,CAAC,OAAO,CAqBvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../../src/i18n/strings.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA0tEnD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAOzD,CAAC;AAEF,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,gFAAgF;AAChF,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,GAAG,IAAI,KAAG,MAIf,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,GAAG,IAAI,EACtB,YAAY,aAAa,GAAG,IAAI,KAC/B,aAQF,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,WAAW,GACtB,UAAU,MAAM,EAChB,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KACrC,MAKF,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,YAAY,GACvB,KAAK,MAAM,EACX,SAAS,MAAM,GAAG,IAAI,EACtB,YAAY,aAAa,GAAG,IAAI,EAChC,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KACrC,MAGF,CAAC"}
1
+ {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../../src/i18n/strings.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAkvEnD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAOzD,CAAC;AAEF,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,gFAAgF;AAChF,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,GAAG,IAAI,KAAG,MAIf,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,GAAG,IAAI,EACtB,YAAY,aAAa,GAAG,IAAI,KAC/B,aAQF,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,WAAW,GACtB,UAAU,MAAM,EAChB,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KACrC,MAKF,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,YAAY,GACvB,KAAK,MAAM,EACX,SAAS,MAAM,GAAG,IAAI,EACtB,YAAY,aAAa,GAAG,IAAI,EAChC,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KACrC,MAGF,CAAC"}
@@ -45,6 +45,14 @@ export declare function setRoomMuted(chatName: string, muted: boolean): Promise<
45
45
  export declare function postReportRoom(data: PostReportRoom): Promise<any>;
46
46
  export declare function postAddRoomMember(data: PostAddRoomMember): Promise<RoomMember[]>;
47
47
  export declare function deleteRoomMember(data: DeleteRoomMember): Promise<any>;
48
+ /**
49
+ * Take the signed-in user out of a chat on the server (self-removal via the
50
+ * same endpoint that removes other members). The unavailable presence alone
51
+ * only leaves the MUC for this session: the backend keeps the user in
52
+ * `members` and the next /chats/my brings the chat back. A 404 means the
53
+ * server already has us out, which is what we wanted.
54
+ */
55
+ export declare function leaveRoom(chatName: string): Promise<void>;
48
56
  export declare function deleteRoom(name: string): Promise<any>;
49
57
  export declare function createChatCall(chatName: string, options?: {
50
58
  kind?: 'audio' | 'video';
@@ -1 +1 @@
1
- {"version":3,"file":"rooms.api.d.ts","sourceRoot":"","sources":["../../../../src/networking/api-requests/rooms.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAuFnI;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAKjC;AAqHD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAAC,OAAO,CAAC,CAuDlB;AAmBD;;;;GAIG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CA2C9D;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAatE;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,QAAQ,gBAa5C;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,OAAe,GACpB,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAarF;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,gBAkBxD;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,UAAU,EAAE,CAAC,CAkBvB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,gBAkB5D;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,gBAc5C;AAqBD,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CAAE,GACrC,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED,wBAAgB,mBAAmB,SAGlC;AAED,YAAY,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"rooms.api.d.ts","sourceRoot":"","sources":["../../../../src/networking/api-requests/rooms.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAwFnI;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAKjC;AAqHD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAAC,OAAO,CAAC,CAuDlB;AAmBD;;;;GAIG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CA2C9D;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAatE;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,QAAQ,gBAa5C;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,OAAe,GACpB,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAarF;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,gBAkBxD;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,UAAU,EAAE,CAAC,CAkBvB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,gBAkB5D;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB/D;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,gBAc5C;AAqBD,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CAAE,GACrC,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED,wBAAgB,mBAAmB,SAGlC;AAED,YAAY,EAAE,OAAO,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"callTokenStanza.d.ts","sourceRoot":"","sources":["../../../src/networking/callTokenStanza.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAgU9B,eAAO,MAAM,kBAAkB,GAAI,QAAQ,OAAO,KAAG,OA8MpD,CAAC;AAYF,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAE9E,eAAO,MAAM,mBAAmB,GAC9B,OAAO,eAAe,EACtB,UAAU;IACR,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,KACA,IA0CF,CAAC;AAUF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,OAAO,GAAG,OAAO,EACvB,SAAS;IACP,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,KACA,IA6BF,CAAC"}
1
+ {"version":3,"file":"callTokenStanza.d.ts","sourceRoot":"","sources":["../../../src/networking/callTokenStanza.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAyU9B,eAAO,MAAM,kBAAkB,GAAI,QAAQ,OAAO,KAAG,OA6OpD,CAAC;AAYF,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAE9E,eAAO,MAAM,mBAAmB,GAC9B,OAAO,eAAe,EACtB,UAAU;IACR,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,KACA,IA0CF,CAAC;AAUF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,OAAO,GAAG,OAAO,EACvB,SAAS;IACP,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,KACA,IA6BF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"xmppClient.d.ts","sourceRoot":"","sources":["../../../src/networking/xmppClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xmppClient.d.ts","sourceRoot":"","sources":["../../../src/networking/xmppClient.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const ETHORA_CHAT_COMPONENT_VERSION = "26.10.2";
1
+ export declare const ETHORA_CHAT_COMPONENT_VERSION = "26.10.4";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethora/chat-component-rn",
3
- "version": "26.10.2",
3
+ "version": "26.10.4",
4
4
  "description": "Drop-in XMPP chat component for React Native / Expo. <Chat config={...}/> and you're done.",
5
5
  "main": "index.js",
6
6
  "module": "lib/module/main.js",
@@ -15,6 +15,7 @@ import { MODAL_TYPES } from '../../helpers/constants/MODAL_TYPES';
15
15
  import { showsStandaloneDiscoverButton } from '../../helpers/publicChatsEntry';
16
16
  import { useConnectionLabel } from '../../hooks/useConnectionLabel';
17
17
  import { resolveHeaderHeight } from '../../helpers/headerLayout';
18
+ import { HeaderCallBar } from '../VideoCalls/ActiveCallBar';
18
19
 
19
20
  export const ROOM_LIST_HEADER_TRIM = 5;
20
21
  const ROOM_LIST_HEADER_LIFT = 6;
@@ -56,76 +57,80 @@ export const HeaderRoomList: FC<HeaderRoomListProps> = ({ setDrawerOpen }) => {
56
57
  }, [config?.backgroundChat?.image]);
57
58
 
58
59
  return (
59
- <View
60
- style={[
61
- styles.headerContainer,
62
- { backgroundColor: theme.surface, shadowColor: theme.shadow },
63
- { height: headerHeight, paddingTop: topInset, paddingBottom: ROOM_LIST_HEADER_LIFT },
64
- ]}
65
- >
66
- {!config?.disableRoomMenu && config?.headerMenu ? (
67
- <View style={styles.leftContainer}>
68
- <Button
69
- testID="room-list-burger"
70
- style={styles.menuButton}
71
- color="black"
72
- unstyled
73
- EndIcon={<BurgerMenuIcon color={theme.icon} />}
74
- onPress={() =>
75
- typeof config?.headerMenu === 'function'
76
- ? config.headerMenu()
77
- : setDrawerOpen()
78
- }
79
- />
80
- </View>
81
- ) : (
82
- <View style={styles.leftContainer} />
83
- )}
60
+ <>
84
61
  <View
85
62
  style={[
86
- styles.centerContainer,
87
- { top: topInset, bottom: ROOM_LIST_HEADER_LIFT },
63
+ styles.headerContainer,
64
+ { backgroundColor: theme.surface, shadowColor: theme.shadow },
65
+ { height: headerHeight, paddingTop: topInset, paddingBottom: ROOM_LIST_HEADER_LIFT },
88
66
  ]}
89
67
  >
90
- {connectionLabel ? (
91
- // The title gives way to the session's state: the list is not
92
- // live until the stream is up and the rooms re-joined.
93
- <View style={styles.connection} testID="room-list-connection">
94
- <ActivityIndicator size="small" color={theme.textSecondary} />
95
- <Text style={{ fontWeight: 500, fontSize: 16, color: theme.textSecondary }}>
96
- {connectionLabel}
97
- </Text>
68
+ {!config?.disableRoomMenu && config?.headerMenu ? (
69
+ <View style={styles.leftContainer}>
70
+ <Button
71
+ testID="room-list-burger"
72
+ style={styles.menuButton}
73
+ color="black"
74
+ unstyled
75
+ EndIcon={<BurgerMenuIcon color={theme.icon} />}
76
+ onPress={() =>
77
+ typeof config?.headerMenu === 'function'
78
+ ? config.headerMenu()
79
+ : setDrawerOpen()
80
+ }
81
+ />
98
82
  </View>
99
- ) : config?.headerLogo ? (
100
- HeaderLogo
101
83
  ) : (
102
- <Text style={{ fontWeight: 500, fontSize: 18, color: theme.text }}>
103
- {t('roomList.title')}
104
- </Text>
84
+ <View style={styles.leftContainer} />
105
85
  )}
106
- </View>
107
- <View style={styles.rightContainer}>
108
- {showsStandaloneDiscoverButton(config) && (
109
- <Button
110
- testID="room-list-discover"
111
- style={styles.menuButton}
112
- unstyled
113
- EndIcon={<DiscoverIcon color={theme.icon} />}
114
- onPress={() => dispatch(setActiveModal(MODAL_TYPES.PUBLIC_CHATS))}
115
- accessibilityLabel={t('publicChats.title')}
86
+ <View
87
+ style={[
88
+ styles.centerContainer,
89
+ { top: topInset, bottom: ROOM_LIST_HEADER_LIFT },
90
+ ]}
91
+ >
92
+ {connectionLabel ? (
93
+ // The title gives way to the session's state: the list is not
94
+ // live until the stream is up and the rooms re-joined.
95
+ <View style={styles.connection} testID="room-list-connection">
96
+ <ActivityIndicator size="small" color={theme.textSecondary} />
97
+ <Text style={{ fontWeight: 500, fontSize: 16, color: theme.textSecondary }}>
98
+ {connectionLabel}
99
+ </Text>
100
+ </View>
101
+ ) : config?.headerLogo ? (
102
+ HeaderLogo
103
+ ) : (
104
+ <Text style={{ fontWeight: 500, fontSize: 18, color: theme.text }}>
105
+ {t('roomList.title')}
106
+ </Text>
107
+ )}
108
+ </View>
109
+ <View style={styles.rightContainer}>
110
+ {showsStandaloneDiscoverButton(config) && (
111
+ <Button
112
+ testID="room-list-discover"
113
+ style={styles.menuButton}
114
+ unstyled
115
+ EndIcon={<DiscoverIcon color={theme.icon} />}
116
+ onPress={() => dispatch(setActiveModal(MODAL_TYPES.PUBLIC_CHATS))}
117
+ accessibilityLabel={t('publicChats.title')}
118
+ />
119
+ )}
120
+ <ProfileImagePlaceholder
121
+ icon={modalUser?.profileImage ?? null}
122
+ name={modalUser?.name ?? modalUser?.firstName}
123
+ size={36}
124
+ click={{
125
+ isClick: true,
126
+ onPress: setDrawerOpen,
127
+ }}
116
128
  />
117
- )}
118
- <ProfileImagePlaceholder
119
- icon={modalUser?.profileImage ?? null}
120
- name={modalUser?.name ?? modalUser?.firstName}
121
- size={36}
122
- click={{
123
- isClick: true,
124
- onPress: setDrawerOpen,
125
- }}
126
- />
129
+ </View>
127
130
  </View>
128
- </View>
131
+ {/* Minimized call strip, Telegram-style; nothing without a call. */}
132
+ <HeaderCallBar />
133
+ </>
129
134
  );
130
135
  };
131
136
 
@@ -15,24 +15,24 @@ import { ProfileImagePlaceholder } from './ProfileImagePlaceholder';
15
15
  import Button from '../styled/Button';
16
16
  import { BackIcon, BurgerMenuIcon, LockIcon } from '../../assets/icons';
17
17
  import { CallButtons } from '../VideoCalls/CallButtons';
18
+ import { HeaderCallBar } from '../VideoCalls/ActiveCallBar';
18
19
  import { LanguageSelectorButton } from './LanguageSelectorButton';
19
20
  import { MessageSearchButton } from './MessageSearchButton';
20
21
  import { useDispatch, useSelector, useStore } from 'react-redux';
21
22
  import type { RootState } from '../../roomStore';
22
23
  import Composing from '../styled/StyledInputComponents/Composing';
23
24
  import {
24
- deleteRoom,
25
25
  setCurrentRoom,
26
26
  setIsLoading,
27
27
  } from '../../roomStore/roomsSlice';
28
- import { useXmppClient } from '../../context/xmppProvider';
28
+ import { useLeaveRoom } from '../../hooks/useLeaveRoom';
29
29
  import { setActiveModal } from '../../roomStore/chatSettingsSlice';
30
30
  import { MODAL_TYPES } from '../../helpers/constants/MODAL_TYPES';
31
31
  import { RoomMenu } from '../MenuRoom/MenuRoom';
32
32
  import { useChatSettingState } from '../../hooks/useChatSettingState';
33
33
  import { useFileToken } from '../../hooks/useFileToken';
34
34
  import { appendFileToken } from '../../helpers/secureFileUrl';
35
- import { View, StyleSheet, Text, Keyboard } from 'react-native';
35
+ import { Alert, View, StyleSheet, Text, Keyboard } from 'react-native';
36
36
  import { getIconColor } from '../../helpers/getIconColor';
37
37
  import { useTheme } from '../../hooks/useTheme';
38
38
  import { resolveHeaderHeight } from '../../helpers/headerLayout';
@@ -52,7 +52,7 @@ const ChatHeader: React.FC<ChatHeaderProps> = ({
52
52
  }) => {
53
53
  const fileToken = useFileToken();
54
54
  const dispatch = useDispatch();
55
- const { client } = useXmppClient();
55
+ const leaveRoom = useLeaveRoom();
56
56
 
57
57
  const reduxStore = useStore<RootState>();
58
58
  const activeRoomJID = useSelector(
@@ -79,16 +79,19 @@ const ChatHeader: React.FC<ChatHeaderProps> = ({
79
79
  dispatch(setIsLoading({ chatJID: chat.jid, loading: true }));
80
80
  };
81
81
 
82
- const handleLeaveClick = useCallback(() => {
83
- client?.leaveTheRoomStanza(activeRoomJID!);
84
- dispatch(deleteRoom({ jid: activeRoomJID! }));
82
+ const handleLeaveClick = useCallback(async () => {
83
+ if (!activeRoomJID) {return;}
84
+ if (!(await leaveRoom(activeRoomJID))) {
85
+ Alert.alert(t('toast.error'), t('toast.leaveFailed'));
86
+ return;
87
+ }
85
88
 
86
89
  const nextRoomJID =
87
90
  Object.keys(reduxStore.getState().rooms.rooms || {})[0] || null;
88
91
  if (nextRoomJID) {
89
92
  dispatch(setCurrentRoom({ roomJID: nextRoomJID }));
90
93
  }
91
- }, [activeRoomJID, reduxStore, dispatch, client]);
94
+ }, [activeRoomJID, reduxStore, dispatch, leaveRoom, t]);
92
95
 
93
96
  const handleHeaderChatMenu = () => {
94
97
  Keyboard.dismiss();
@@ -261,6 +264,8 @@ const ChatHeader: React.FC<ChatHeaderProps> = ({
261
264
  )}
262
265
  </View>
263
266
  </ChatContainerHeader>
267
+ {/* Minimized call strip, Telegram-style; nothing without a call. */}
268
+ <HeaderCallBar />
264
269
  {config?.chatHeaderAdditional?.enabled &&
265
270
  config.chatHeaderAdditional.element()}
266
271
  </>
@@ -8,6 +8,8 @@ import {
8
8
  Message,
9
9
  } from '../styled/StyledComponents';
10
10
  import { View } from 'react-native';
11
+ import { useT } from '../../i18n/useT';
12
+ import { formatCallLogLabel } from '../../helpers/callLogMessage';
11
13
 
12
14
  interface MessageContainerProps {
13
15
  CustomMessage?: React.ComponentType<{
@@ -48,6 +50,7 @@ const MessageContainerImpl: FC<MessageContainerProps> = ({
48
50
  // empty/undefined ids as a match, briefly rendering catch-up messages
49
51
  // from other users as our own. isOwnMessage() never does that.
50
52
  const isUser = isOwnMessage(message, walletAddress);
53
+ const t = useT();
51
54
 
52
55
  const messageDate = new Date(message.date);
53
56
 
@@ -68,7 +71,17 @@ const MessageContainerImpl: FC<MessageContainerProps> = ({
68
71
  {SystemMessageComponent ? (
69
72
  <SystemMessageComponent message={message} isUser={false} isReply={false} />
70
73
  ) : (
71
- <SystemMessage messageText={message.body} colors={config?.colors} />
74
+ // A call-log entry is labelled from its callLog meta at render
75
+ // time so it follows the current language instead of being
76
+ // frozen in whatever was active when the stanza landed.
77
+ <SystemMessage
78
+ messageText={
79
+ message.callLog
80
+ ? formatCallLogLabel(message.callLog, t, message.body)
81
+ : message.body
82
+ }
83
+ colors={config?.colors}
84
+ />
72
85
  )}
73
86
  </Fragment>
74
87
  );
@@ -18,9 +18,6 @@ import {
18
18
  NativeScrollEvent,
19
19
  NativeSyntheticEvent,
20
20
  } from 'react-native';
21
- import { useDispatch } from 'react-redux';
22
- import { deleteRoom } from '../../roomStore/roomsSlice';
23
- import { useXmppClient } from '../../context/xmppProvider';
24
21
  import SwipeableRoomRow, { closeOpenRoomRow } from '../RoomComponents/SwipeableRoomRow';
25
22
  import ReportChatModal from '../Modals/ChatProfileModal/ReportChatModal';
26
23
  import { IRoom } from '../../types/types';
@@ -35,6 +32,7 @@ import { getIconColor } from '../../helpers/getIconColor';
35
32
  import { useT } from '../../i18n/useT';
36
33
  import { useTheme } from '../../hooks/useTheme';
37
34
  import { useRoomMute } from '../../hooks/useRoomMute';
35
+ import { useLeaveRoom } from '../../hooks/useLeaveRoom';
38
36
  import { isMessageSearchEnabled } from '../../helpers/isMessageSearchEnabled';
39
37
  import { useMessageSearch } from '../Modals/MessageSearchModal/useMessageSearch';
40
38
  import type { MessageSearchHit } from '../../networking/api-requests/messageSearch.api';
@@ -95,8 +93,6 @@ const RoomList: React.FC<RoomListProps> = ({
95
93
  const { config } = useChatSettingState();
96
94
  const t = useT();
97
95
  const theme = useTheme();
98
- const dispatch = useDispatch();
99
- const { client } = useXmppClient();
100
96
 
101
97
  const [open, setOpen] = useState(false);
102
98
  // The room a swiped row's Report opened the form for.
@@ -141,9 +137,10 @@ const RoomList: React.FC<RoomListProps> = ({
141
137
  setSearchTerm(text);
142
138
  }, []);
143
139
 
144
- // Behind a row swiped left. Leaving is the chat profile's flow: an
145
- // unavailable presence to the MUC, then the room dropped from the store.
140
+ // Behind a row swiped left. Leaving is the chat profile's flow: the
141
+ // server takes us out of the members, then the MUC and the store.
146
142
  const swipeActions = !config?.disableRoomSwipeActions;
143
+ const leaveRoom = useLeaveRoom();
147
144
  const handleLeaveRoom = useCallback(
148
145
  (jid: string) => {
149
146
  Alert.alert(t('modal.leaveChat.title'), t('modal.leaveChat.description'), [
@@ -151,18 +148,15 @@ const RoomList: React.FC<RoomListProps> = ({
151
148
  {
152
149
  text: t('action.leave'),
153
150
  style: 'destructive',
154
- onPress: () => {
155
- try {
156
- client?.leaveTheRoomStanza?.(jid);
157
- } catch (error) {
158
- console.error('Failed to leave the room:', error);
151
+ onPress: async () => {
152
+ if (!(await leaveRoom(jid))) {
153
+ Alert.alert(t('toast.error'), t('toast.leaveFailed'));
159
154
  }
160
- dispatch(deleteRoom({ jid }));
161
155
  },
162
156
  },
163
157
  ]);
164
158
  },
165
- [client, dispatch, t]
159
+ [leaveRoom, t]
166
160
  );
167
161
  const handleReportRoom = useCallback((jid: string) => setReportJid(jid), []);
168
162
  const toggleRoomMuted = useRoomMute();
@@ -1,6 +1,7 @@
1
1
  /** @format */
2
2
 
3
3
  import { composeName } from '../../../helpers/displayName';
4
+ import { uniqueMembers } from '../../../helpers/uniqueMembers';
4
5
  import React, { useEffect, useMemo, useRef, useState } from 'react';
5
6
  import {
6
7
  Alert,
@@ -23,7 +24,7 @@ import { ProfileImagePlaceholder } from '../../MainComponents/ProfileImagePlaceh
23
24
  import { RootState, getActiveRoom } from '../../../roomStore';
24
25
  import { uploadFile } from '../../../networking/api-requests/auth.api';
25
26
  import { useXmppClient } from '../../../context/xmppProvider';
26
- import { deleteRoom, updateRoom } from '../../../roomStore/roomsSlice';
27
+ import { updateRoom } from '../../../roomStore/roomsSlice';
27
28
  import Loader from '../../styled/Loader';
28
29
  import {
29
30
  AddNewIcon,
@@ -48,6 +49,7 @@ import { MODAL_TYPES } from '../../../helpers/constants/MODAL_TYPES';
48
49
  import SelectUsersModal from '../SelectUsersModal/SelectUsersModal';
49
50
  import { useToast } from '../../../context/ToastContext';
50
51
  import { useRoomMute } from '../../../hooks/useRoomMute';
52
+ import { useLeaveRoom } from '../../../hooks/useLeaveRoom';
51
53
  import { useT } from '../../../i18n/useT';
52
54
  import DeleteChatModal from './DeleteChatModal';
53
55
  import { isMessageSearchEnabled } from '../../../helpers/isMessageSearchEnabled';
@@ -111,6 +113,7 @@ const ChatProfileModal: React.FC<ChatProfileModalProps> = ({
111
113
  const { showToast } = useToast();
112
114
  const dispatch = useDispatch();
113
115
  const { client } = useXmppClient();
116
+ const leaveRoom = useLeaveRoom();
114
117
  const { user: stateUser, config } = useChatSettingState();
115
118
  const theme = useTheme();
116
119
  const styles = useMemo(() => createStyles(theme), [theme]);
@@ -155,12 +158,14 @@ const ChatProfileModal: React.FC<ChatProfileModalProps> = ({
155
158
  // true total). Opening the profile loads the whole room directory (once per
156
159
  // room, deduplicated, paged) and lists it after the known members.
157
160
  const knownMembers = useMemo<RoomMember[]>(
158
- () => activeRoom?.roomMembers ?? activeRoom?.members ?? [],
161
+ // Deduped at display too: a list already cached with repeats (a 1:1
162
+ // chat showing four rows) cleans up without waiting for a refetch.
163
+ () => uniqueMembers(activeRoom?.roomMembers ?? activeRoom?.members ?? []),
159
164
  [activeRoom?.roomMembers, activeRoom?.members]
160
165
  );
161
166
  const countSource = useMemo(
162
- () => ({ members: knownMembers, usersCnt: activeRoom?.usersCnt }),
163
- [knownMembers, activeRoom?.usersCnt]
167
+ () => ({ members: knownMembers, usersCnt: activeRoom?.usersCnt, type: activeRoom?.type }),
168
+ [knownMembers, activeRoom?.usersCnt, activeRoom?.type]
164
169
  );
165
170
  const membersTruncated = isRoomMembersTruncated(countSource);
166
171
  const { members: directoryMembers, state: directoryState } =
@@ -335,22 +340,20 @@ const ChatProfileModal: React.FC<ChatProfileModalProps> = ({
335
340
  );
336
341
  };
337
342
 
338
- // Leaving is XMPP-side (an unavailable presence to the MUC); dropping the
339
- // room from the store is what actually takes the user out of the chat in
340
- // the UI, and the `!activeRoom` effect above then closes this modal.
343
+ // Leaving takes us out of the members on the server, then out of the MUC;
344
+ // dropping the room from the store is what takes the user out of the chat
345
+ // in the UI, and the `!activeRoom` effect above then closes this modal.
341
346
  const handleLeave = () => {
342
347
  Alert.alert(t('modal.leaveChat.title'), t('modal.leaveChat.description'), [
343
348
  { text: t('action.cancel'), style: 'cancel' },
344
349
  {
345
350
  text: t('action.leave'),
346
351
  style: 'destructive',
347
- onPress: () => {
348
- try {
349
- client?.leaveTheRoomStanza?.(activeRoom?.jid || '');
350
- } catch (error) {
351
- console.error('Failed to leave the room:', error);
352
+ onPress: async () => {
353
+ if (!(await leaveRoom(activeRoom?.jid || ''))) {
354
+ Alert.alert(t('toast.error'), t('toast.leaveFailed'));
355
+ return;
352
356
  }
353
- dispatch(deleteRoom({ jid: activeRoom?.jid || '' }));
354
357
  handleCloseModal?.();
355
358
  },
356
359
  },