@ethora/chat-component-rn 26.7.3 → 26.7.5

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 (143) hide show
  1. package/CHANGELOG.md +0 -9
  2. package/README.md +0 -22
  3. package/lib/commonjs/assets/icons.js +2 -2
  4. package/lib/commonjs/assets/icons.js.map +1 -1
  5. package/lib/commonjs/components/MainComponents/ChatRoom.js +10 -10
  6. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/MessageList.js +22 -5
  8. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js +8 -9
  10. package/lib/commonjs/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  11. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +37 -110
  12. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  13. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +14 -16
  14. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  15. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +1 -2
  16. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  17. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js +0 -8
  18. package/lib/commonjs/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  19. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +21 -7
  20. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  21. package/lib/commonjs/components/styled/SendInput.js +10 -0
  22. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  23. package/lib/commonjs/context/xmppProvider.js +35 -6
  24. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  25. package/lib/commonjs/helpers/updateMessagesTillLast.js +40 -12
  26. package/lib/commonjs/helpers/updateMessagesTillLast.js.map +1 -1
  27. package/lib/commonjs/hooks/useChatRoomFocus.js +9 -3
  28. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
  29. package/lib/commonjs/hooks/useLogout.js +5 -0
  30. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  31. package/lib/commonjs/hooks/useSendMessage.js +50 -23
  32. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  33. package/lib/commonjs/main.js +0 -6
  34. package/lib/commonjs/main.js.map +1 -1
  35. package/lib/commonjs/networking/outboundQueue.js +18 -0
  36. package/lib/commonjs/networking/outboundQueue.js.map +1 -1
  37. package/lib/commonjs/networking/stanzaHandlers.js +10 -1
  38. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  39. package/lib/commonjs/networking/xmppClient.js +107 -7
  40. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  41. package/lib/commonjs/roomStore/roomsSlice.js +22 -3
  42. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  43. package/lib/module/assets/icons.js +1 -1
  44. package/lib/module/assets/icons.js.map +1 -1
  45. package/lib/module/components/MainComponents/ChatRoom.js +10 -10
  46. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  47. package/lib/module/components/MainComponents/MessageList.js +23 -6
  48. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  49. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js +8 -9
  50. package/lib/module/components/MainComponents/ProfileImagePlaceholder.js.map +1 -1
  51. package/lib/module/components/Menu/HeaderRoomListMenu.js +38 -110
  52. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  53. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +14 -16
  54. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  55. package/lib/module/components/Modals/NewChatModal/ModalContent.js +1 -2
  56. package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  57. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js +0 -8
  58. package/lib/module/components/Modals/NewChatModal/UpdNewChatModal.js.map +1 -1
  59. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +23 -9
  60. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  61. package/lib/module/components/styled/SendInput.js +11 -1
  62. package/lib/module/components/styled/SendInput.js.map +1 -1
  63. package/lib/module/context/xmppProvider.js +35 -6
  64. package/lib/module/context/xmppProvider.js.map +1 -1
  65. package/lib/module/helpers/updateMessagesTillLast.js +41 -13
  66. package/lib/module/helpers/updateMessagesTillLast.js.map +1 -1
  67. package/lib/module/hooks/useChatRoomFocus.js +9 -3
  68. package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
  69. package/lib/module/hooks/useLogout.js +5 -0
  70. package/lib/module/hooks/useLogout.js.map +1 -1
  71. package/lib/module/hooks/useSendMessage.js +51 -24
  72. package/lib/module/hooks/useSendMessage.js.map +1 -1
  73. package/lib/module/main.js +1 -1
  74. package/lib/module/main.js.map +1 -1
  75. package/lib/module/networking/outboundQueue.js +17 -0
  76. package/lib/module/networking/outboundQueue.js.map +1 -1
  77. package/lib/module/networking/stanzaHandlers.js +10 -1
  78. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  79. package/lib/module/networking/xmppClient.js +107 -7
  80. package/lib/module/networking/xmppClient.js.map +1 -1
  81. package/lib/module/roomStore/roomsSlice.js +20 -2
  82. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  83. package/lib/typescript/assets/icons.d.ts +0 -4
  84. package/lib/typescript/assets/icons.d.ts.map +1 -1
  85. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  86. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  87. package/lib/typescript/components/MainComponents/ProfileImagePlaceholder.d.ts.map +1 -1
  88. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts +0 -3
  89. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  90. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  91. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts +2 -4
  92. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
  93. package/lib/typescript/components/Modals/NewChatModal/UpdNewChatModal.d.ts.map +1 -1
  94. package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
  95. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  96. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  97. package/lib/typescript/helpers/updateMessagesTillLast.d.ts.map +1 -1
  98. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
  99. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  100. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  101. package/lib/typescript/main.d.ts +1 -1
  102. package/lib/typescript/main.d.ts.map +1 -1
  103. package/lib/typescript/networking/outboundQueue.d.ts +16 -0
  104. package/lib/typescript/networking/outboundQueue.d.ts.map +1 -1
  105. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  106. package/lib/typescript/networking/xmppClient.d.ts +33 -1
  107. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  108. package/lib/typescript/roomStore/roomsSlice.d.ts +18 -1
  109. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  110. package/lib/typescript/types/models/room.model.d.ts +15 -0
  111. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  112. package/lib/typescript/types/types.d.ts +15 -12
  113. package/lib/typescript/types/types.d.ts.map +1 -1
  114. package/package.json +1 -1
  115. package/src/assets/icons.tsx +0 -19
  116. package/src/components/MainComponents/ChatRoom.tsx +13 -9
  117. package/src/components/MainComponents/MessageList.tsx +23 -6
  118. package/src/components/MainComponents/ProfileImagePlaceholder.tsx +9 -16
  119. package/src/components/Menu/HeaderRoomListMenu.tsx +11 -105
  120. package/src/components/Modals/AttachSheet/AttachSheet.tsx +14 -16
  121. package/src/components/Modals/NewChatModal/ModalContent.tsx +3 -6
  122. package/src/components/Modals/NewChatModal/UpdNewChatModal.tsx +1 -12
  123. package/src/components/Modals/UserProfileModal/EditUserModal.tsx +25 -9
  124. package/src/components/styled/SendInput.tsx +10 -0
  125. package/src/context/xmppProvider.tsx +41 -8
  126. package/src/helpers/updateMessagesTillLast.tsx +42 -17
  127. package/src/hooks/useChatRoomFocus.ts +11 -3
  128. package/src/hooks/useLogout.tsx +7 -0
  129. package/src/hooks/useSendMessage.tsx +60 -24
  130. package/src/main.ts +1 -1
  131. package/src/networking/outboundQueue.ts +29 -0
  132. package/src/networking/stanzaHandlers.ts +9 -1
  133. package/src/networking/xmppClient.ts +118 -7
  134. package/src/roomStore/roomsSlice.ts +20 -2
  135. package/src/types/models/room.model.ts +15 -0
  136. package/src/types/types.ts +15 -14
  137. package/lib/commonjs/helpers/pickImageAsset.js +0 -68
  138. package/lib/commonjs/helpers/pickImageAsset.js.map +0 -1
  139. package/lib/module/helpers/pickImageAsset.js +0 -63
  140. package/lib/module/helpers/pickImageAsset.js.map +0 -1
  141. package/lib/typescript/helpers/pickImageAsset.d.ts +0 -27
  142. package/lib/typescript/helpers/pickImageAsset.d.ts.map +0 -1
  143. package/src/helpers/pickImageAsset.ts +0 -68
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethora/chat-component-rn",
3
- "version": "26.7.3",
3
+ "version": "26.7.5",
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",
@@ -578,25 +578,6 @@ export const SettingIcon = ({ color = '#8C8C8C', ...props }) => (
578
578
  </Svg>
579
579
  );
580
580
 
581
- export const LogoutIcon = ({ color = '#8C8C8C', ...props }) => (
582
- <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" {...props}>
583
- <Path
584
- d="M15 4H18C19.1046 4 20 4.89543 20 6V18C20 19.1046 19.1046 20 18 20H15"
585
- stroke={color}
586
- strokeWidth="2"
587
- strokeLinecap="round"
588
- strokeLinejoin="round"
589
- />
590
- <Path
591
- d="M10 8L14 12L10 16M14 12H4"
592
- stroke={color}
593
- strokeWidth="2"
594
- strokeLinecap="round"
595
- strokeLinejoin="round"
596
- />
597
- </Svg>
598
- );
599
-
600
581
  export const FileIcon = ({ width = 46, height = 46, ...props }) => (
601
582
  <Svg width={width} height={height} viewBox="0 0 40 40" fill="none">
602
583
  <Rect width="40" height="40" rx="8" fill="#F2E6F6" />
@@ -215,25 +215,30 @@ const ChatRoom: React.FC<ChatRoomProps> = React.memo(
215
215
  // Tracks what the user actually saw: `null` while they're at the
216
216
  // bottom (safe to mark everything read), or the timestamp of the
217
217
  // newest message visible when they scrolled away from it. Reported
218
- // by MessageList via onReadBoundaryChange. Without this, leaving a
218
+ // published by MessageList into the store. Without this, leaving a
219
219
  // room (or backgrounding) while scrolled up stamped `now()` as read
220
220
  // and silently discarded genuinely-unread messages. Customer-
221
221
  // reported #33.
222
- const readBoundaryRef = useRef<number | null>(null);
223
- const handleReadBoundaryChange = useCallback((boundaryTs: number | null) => {
224
- readBoundaryRef.current = boundaryTs;
225
- }, []);
222
+ // MessageList publishes the boundary straight into the store, so the
223
+ // cleanup below reads it from there rather than keeping a second copy
224
+ // in a ref — the out-of-component paths (AppState background, the
225
+ // `isVisible` signal, useChatRoomFocus, logout) read the same field.
226
+ const getReadBoundary = useCallback(
227
+ (jid: string): number | null =>
228
+ store.getState().rooms?.rooms?.[jid]?.readBoundaryTs ?? null,
229
+ []
230
+ );
226
231
 
227
232
  useEffect(() => {
228
233
  if (!activeRoomJID) {
229
234
  return;
230
235
  }
231
236
 
232
- readBoundaryRef.current = null;
233
237
  dispatch(setVisibleRoom({ roomJID: activeRoomJID }));
234
238
  setIsLoadingMore(false);
235
239
  return () => {
236
- const timestamp = readBoundaryRef.current ?? new Date().getTime();
240
+ const boundaryTs = getReadBoundary(activeRoomJID);
241
+ const timestamp = boundaryTs ?? new Date().getTime();
237
242
  dispatch(
238
243
  setLastViewedTimestamp({
239
244
  chatJID: activeRoomJID,
@@ -251,7 +256,7 @@ const ChatRoom: React.FC<ChatRoomProps> = React.memo(
251
256
  // room, so messages the user never scrolled down to come
252
257
  // back as read on the next login — the local count was
253
258
  // right but the server overrode it.
254
- visibleRoomTs: readBoundaryRef.current,
259
+ visibleRoomTs: boundaryTs,
255
260
  })
256
261
  .catch(() => {});
257
262
  }
@@ -465,7 +470,6 @@ const ChatRoom: React.FC<ChatRoomProps> = React.memo(
465
470
  config={configWithEventHandlers}
466
471
  loading={isLoadingMore}
467
472
  isReply={false}
468
- onReadBoundaryChange={handleReadBoundaryChange}
469
473
  />
470
474
  )}
471
475
  </View>
@@ -18,8 +18,9 @@ import {
18
18
  TouchableOpacity,
19
19
  ImageSourcePropType,
20
20
  } from 'react-native';
21
+ import { useDispatch } from 'react-redux';
21
22
  import { IMessage, User, IConfig, IRoom } from '../../types/types';
22
- import { msgSortableMs } from '../../roomStore/roomsSlice';
23
+ import { msgSortableMs, setReadBoundary } from '../../roomStore/roomsSlice';
23
24
  import Composing from '../styled/StyledInputComponents/Composing';
24
25
  import TreadLabel from '../styled/TreadLabel';
25
26
  import { MessageContainer } from './MessageContainer';
@@ -77,6 +78,7 @@ const MessageList = <TMessage extends IMessage>({
77
78
  activeMessage,
78
79
  onReadBoundaryChange,
79
80
  }: MessageListProps<TMessage>) => {
81
+ const dispatch = useDispatch();
80
82
  const { composing, messages, composingList } = useRoomState(roomJID)
81
83
  .room! as IRoom;
82
84
  const [isUserAtBottom, setIsUserAtBottom] = useState(true);
@@ -102,6 +104,21 @@ const MessageList = <TMessage extends IMessage>({
102
104
 
103
105
  const flatListRef = useRef<FlatList<IMessage>>(null);
104
106
 
107
+ // Single writer for the read boundary. Publishes to the store (so the
108
+ // out-of-component paths that mark a room read — AppState background,
109
+ // the `isVisible` signal, the visible-room auto-advance, focus hooks,
110
+ // logout — can stamp what the user actually saw) AND to the optional
111
+ // host callback. Customer-reported #33.
112
+ const reportReadBoundary = useCallback(
113
+ (boundaryTs: number | null) => {
114
+ if (roomJID) {
115
+ dispatch(setReadBoundary({ chatJID: roomJID, boundaryTs }));
116
+ }
117
+ onReadBoundaryChange?.(boundaryTs);
118
+ },
119
+ [dispatch, roomJID, onReadBoundaryChange]
120
+ );
121
+
105
122
  const addReplyMessages = useMemo(() => {
106
123
  return messages.map((message: IMessage) => {
107
124
  const newMessage = {
@@ -342,7 +359,7 @@ const MessageList = <TMessage extends IMessage>({
342
359
  // counter so the badge disappears with the arrow.
343
360
  setUnreadWhileScrolledUp(0);
344
361
  newestSeenTsRef.current = null;
345
- onReadBoundaryChange?.(null);
362
+ reportReadBoundary(null);
346
363
  } else {
347
364
  isUserAtBottomRef.current = false;
348
365
  if (hasUserScrolledRef.current) {
@@ -360,12 +377,12 @@ const MessageList = <TMessage extends IMessage>({
360
377
  },
361
378
  0
362
379
  );
363
- onReadBoundaryChange?.(newestSeenTsRef.current);
380
+ reportReadBoundary(newestSeenTsRef.current);
364
381
  }
365
382
  setIsUserAtBottom(false);
366
383
  }
367
384
  },
368
- [memoizedMessages, onReadBoundaryChange]
385
+ [memoizedMessages, reportReadBoundary]
369
386
  );
370
387
 
371
388
  // Keep the badge in sync with messages that arrive while the user is
@@ -394,7 +411,7 @@ const MessageList = <TMessage extends IMessage>({
394
411
  setIsUserAtBottom(true);
395
412
  setUnreadWhileScrolledUp(0);
396
413
  newestSeenTsRef.current = null;
397
- onReadBoundaryChange?.(null);
414
+ reportReadBoundary(null);
398
415
  scrollToBottom();
399
416
  };
400
417
 
@@ -405,7 +422,7 @@ const MessageList = <TMessage extends IMessage>({
405
422
  setIsUserAtBottom(true);
406
423
  setUnreadWhileScrolledUp(0);
407
424
  newestSeenTsRef.current = null;
408
- onReadBoundaryChange?.(null);
425
+ reportReadBoundary(null);
409
426
  // eslint-disable-next-line react-hooks/exhaustive-deps
410
427
  }, [roomJID]);
411
428
 
@@ -97,26 +97,16 @@ export const ProfileImagePlaceholder: React.FC<
97
97
  return '';
98
98
  };
99
99
 
100
- const getInitials = () =>
101
- !imageSource && name ? getTwoUppercaseLetters(name) : '';
102
-
103
- const imageSource =
104
- typeof icon === 'string' && icon
105
- ? { uri: icon }
106
- : typeof icon === 'number'
107
- ? icon
108
- : icon && typeof (icon as any).uri === 'string' && (icon as any).uri
109
- ? (icon as any)
110
- : null;
100
+ const getInitials = () => (!icon && name ? getTwoUppercaseLetters(name) : '');
111
101
 
112
102
  return (
113
103
  <Wrapper
114
- bgColor={imageSource ? 'transparent' : backgroundColor?.backgroundColor}
104
+ bgColor={icon ? 'transparent' : backgroundColor?.backgroundColor}
115
105
  size={size}
116
106
  isClickable={active || !!upload?.active}
117
107
  >
118
108
  <AvatarCircle
119
- bgColor={imageSource ? 'transparent' : backgroundColor?.backgroundColor}
109
+ bgColor={icon ? 'transparent' : backgroundColor?.backgroundColor}
120
110
  size={size}
121
111
  isClickable={active || !!upload?.active}
122
112
  onPress={
@@ -127,8 +117,11 @@ export const ProfileImagePlaceholder: React.FC<
127
117
  : undefined
128
118
  }
129
119
  >
130
- {imageSource ? (
131
- <AvatarImage source={imageSource} size={size} />
120
+ {icon ? (
121
+ <AvatarImage
122
+ source={typeof icon === 'string' ? { uri: icon } : icon as any}
123
+ size={size}
124
+ />
132
125
  ) : placeholderIcon ? (
133
126
  placeholderIcon
134
127
  ) : (
@@ -147,7 +140,7 @@ export const ProfileImagePlaceholder: React.FC<
147
140
  </Overlay>
148
141
  )}
149
142
  </AvatarCircle>
150
- {remove?.enabled && imageSource && role !== 'participant' && (
143
+ {remove?.enabled && icon && role !== 'participant' && (
151
144
  <RemoveButton onPress={remove.onRemoveClick}>
152
145
  <RemoveButtonText>&times;</RemoveButtonText>
153
146
  </RemoveButton>
@@ -1,6 +1,5 @@
1
1
  import React, { FC, useMemo } from 'react';
2
2
  import {
3
- Alert,
4
3
  Animated,
5
4
  Text,
6
5
  TouchableOpacity,
@@ -9,81 +8,10 @@ import {
9
8
  Dimensions,
10
9
  View,
11
10
  } from 'react-native';
12
- import {
13
- AddNewIcon,
14
- LogoutIcon,
15
- ProfileIcon,
16
- SettingIcon,
17
- } from '../../assets/icons';
11
+ import { AddNewIcon, ProfileIcon, SettingIcon } from '../../assets/icons';
18
12
  import { useDispatch } from 'react-redux';
19
13
  import { setActiveModal } from '../../roomStore/chatSettingsSlice';
20
14
  import { MODAL_TYPES } from '../../helpers/constants/MODAL_TYPES';
21
- import { useChatSettingState } from '../../hooks/useChatSettingState';
22
- import { useLogout } from '../../hooks/useLogout';
23
- import type { IConfig } from '../../types/types';
24
-
25
- type LogoutConfig = NonNullable<IConfig['logout']>;
26
-
27
- const DEFAULT_LOGOUT_LABEL = 'Sign out';
28
-
29
- const confirmLogout = (
30
- confirm: LogoutConfig['confirm'],
31
- label: string
32
- ): Promise<boolean> => {
33
- if (confirm === false) {
34
- return Promise.resolve(true);
35
- }
36
- const copy = typeof confirm === 'object' && confirm ? confirm : {};
37
- return new Promise<boolean>((resolve) => {
38
- Alert.alert(
39
- copy.title ?? label,
40
- copy.message ?? 'Are you sure you want to sign out?',
41
- [
42
- {
43
- text: copy.cancelText ?? 'Cancel',
44
- style: 'cancel',
45
- onPress: () => resolve(false),
46
- },
47
- {
48
- text: copy.confirmText ?? label,
49
- style: 'destructive',
50
- onPress: () => resolve(true),
51
- },
52
- ],
53
- { cancelable: true, onDismiss: () => resolve(false) }
54
- );
55
- });
56
- };
57
-
58
- export const runLogoutFlow = async (
59
- logoutConfig: LogoutConfig,
60
- performLogout: () => Promise<void>
61
- ): Promise<void> => {
62
- const label = logoutConfig.label ?? DEFAULT_LOGOUT_LABEL;
63
- const confirmed = await confirmLogout(logoutConfig.confirm ?? true, label);
64
- if (!confirmed) {
65
- return;
66
- }
67
- if (logoutConfig.onBeforeLogout) {
68
- try {
69
- const proceed = await logoutConfig.onBeforeLogout();
70
- if (proceed === false) {
71
- return;
72
- }
73
- } catch (e) {
74
- console.warn('HeaderRoomListMenu: onBeforeLogout threw, logout cancelled', e);
75
- return;
76
- }
77
- }
78
- await performLogout(); // never rejects (see useLogout)
79
- if (logoutConfig.onAfterLogout) {
80
- try {
81
- await logoutConfig.onAfterLogout();
82
- } catch (e) {
83
- console.warn('HeaderRoomListMenu: onAfterLogout threw', e);
84
- }
85
- }
86
- };
87
15
 
88
16
  const { width } = Dimensions.get('window');
89
17
 
@@ -101,25 +29,14 @@ export const HeaderRoomListMenu: FC<HeaderRoomListMenuProps> = ({
101
29
  closeDrawer,
102
30
  }) => {
103
31
  const dispatch = useDispatch();
104
- const { config } = useChatSettingState();
105
- const performLogout = useLogout();
106
- const logoutConfig = config?.logout?.enabled ? config.logout : undefined;
107
- const primaryColor = config?.colors?.primary ?? '#0052CD';
108
32
 
109
33
  const drawerTranslateX = drawerAnimation.interpolate({
110
34
  inputRange: [0, 1],
111
35
  outputRange: [width, 0],
112
36
  });
113
37
 
114
- const menuOptions = useMemo(() => {
115
- const options: {
116
- label: string;
117
- icon: React.ReactElement;
118
- onClick: () => void;
119
- styles?: { color: string };
120
- /** When true the row closes the drawer itself before acting. */
121
- closesDrawer?: boolean;
122
- }[] = [
38
+ const menuOptions = useMemo(
39
+ () => [
123
40
  {
124
41
  label: 'New Chat',
125
42
  icon: <AddNewIcon color="#8C8C8C" />,
@@ -145,21 +62,13 @@ export const HeaderRoomListMenu: FC<HeaderRoomListMenuProps> = ({
145
62
  console.log('Settings clicked');
146
63
  },
147
64
  },
148
- ];
149
- if (logoutConfig) {
150
- options.push({
151
- label: logoutConfig.label ?? DEFAULT_LOGOUT_LABEL,
152
- icon: <LogoutIcon color={primaryColor} />,
153
- styles: { color: primaryColor },
154
- closesDrawer: true,
155
- onClick: () => {
156
- closeDrawer();
157
- runLogoutFlow(logoutConfig, performLogout).catch(() => {});
158
- },
159
- });
160
- }
161
- return options;
162
- }, [dispatch, logoutConfig, performLogout, primaryColor, closeDrawer]);
65
+ // {
66
+ // label: "Logout",
67
+ // onClick: handleLogout,
68
+ // },
69
+ ],
70
+ []
71
+ );
163
72
 
164
73
  return (
165
74
  <>
@@ -173,12 +82,9 @@ export const HeaderRoomListMenu: FC<HeaderRoomListMenuProps> = ({
173
82
  <View key={index} style={styles.menuItemWrapper}>
174
83
  <TouchableOpacity
175
84
  style={styles.menuItem}
176
- testID={`header-menu-${option.label}`}
177
85
  onPress={() => {
178
86
  option.onClick();
179
- if (!option.closesDrawer) {
180
- closeDrawer();
181
- }
87
+ closeDrawer();
182
88
  }}
183
89
  >
184
90
  <View
@@ -39,13 +39,12 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
39
39
  }) => {
40
40
  const { config } = useChatSettingState();
41
41
  const ts = config?.typography?.attachSheet;
42
+ // Pending handler captured on row tap — runs once the EXIT animation
43
+ // finishes so iOS doesn't try to present an image picker over a
44
+ // still-dismissing modal (was the original reason for the
45
+ // platform-split + Modal.onDismiss dance). The animation completion
46
+ // callback now drives this on both platforms.
42
47
  const pendingRef = useRef<(() => void) | null>(null);
43
- const runPending = () => {
44
- console.log('[timing] runPending', Date.now());
45
- const fn = pendingRef.current;
46
- pendingRef.current = null;
47
- fn?.();
48
- };
49
48
 
50
49
  // Local "modal stays mounted while animating out" state. The parent
51
50
  // controls `visible`; we mirror it but delay unmount until the exit
@@ -96,6 +95,8 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
96
95
  return () => cancelAnimationFrame(raf);
97
96
  }
98
97
  if (!mounted) {return;}
98
+ // Exit: fade the backdrop, slide the sheet down, then unmount and
99
+ // fire any pending picker handler.
99
100
  Animated.parallel([
100
101
  Animated.timing(backdropOpacity, {
101
102
  toValue: 0,
@@ -112,19 +113,19 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
112
113
  ]).start(({ finished }) => {
113
114
  if (!finished) {return;} // interrupted (rapid re-open) → leave state alone
114
115
  setMounted(false);
115
- if (Platform.OS !== 'ios') {
116
- runPending();
117
- }
116
+ const fn = pendingRef.current;
117
+ pendingRef.current = null;
118
+ fn?.();
118
119
  });
119
120
  return undefined;
120
121
  }, [visible]); // eslint-disable-line react-hooks/exhaustive-deps
121
122
 
122
123
  const trigger = (handler: () => void) => () => {
123
- console.log('[timing] row tap', Date.now());
124
+ // Capture the handler and ask parent to close. The exit-animation
125
+ // completion above fires `handler` AFTER the sheet has slid away,
126
+ // so iOS no longer tries to present a picker over a dismissing
127
+ // modal — and Android no longer needs the ad-hoc 150ms setTimeout.
124
128
  pendingRef.current = handler;
125
- if (Platform.OS === 'ios') {
126
- setMounted(false);
127
- }
128
129
  onClose();
129
130
  };
130
131
 
@@ -165,13 +166,11 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
165
166
  onRequestClose={onClose}
166
167
  // Hardware-back / iOS gesture also routes through onClose, which
167
168
  // flips `visible` and triggers our exit animation above.
168
- onDismiss={Platform.OS === 'ios' ? runPending : undefined}
169
169
  >
170
170
  <Animated.View
171
171
  style={[styles.backdrop, { opacity: backdropOpacity }]}
172
172
  >
173
173
  <TouchableOpacity
174
- testID="attach-backdrop"
175
174
  style={StyleSheet.absoluteFill}
176
175
  activeOpacity={1}
177
176
  onPress={onClose}
@@ -188,7 +187,6 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
188
187
  {rows.map(({ label, hint, Icon, handler }, idx) => (
189
188
  <TouchableOpacity
190
189
  key={label}
191
- testID={`attach-row-${label}`}
192
190
  activeOpacity={0.6}
193
191
  style={[
194
192
  styles.row,
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import { PickedImage } from '../../../helpers/pickImageAsset';
3
2
  import {
4
3
  ModalContainer,
5
4
  CloseButton,
@@ -20,13 +19,12 @@ type ModalContentProps = {
20
19
  roomName: string;
21
20
  roomDescription: string;
22
21
  chatType: ChatAccessOption;
23
- profileImage: string | PickedImage | null;
22
+ profileImage: string | File | null;
24
23
  setActiveTab: (tab: '0' | '1' | null) => void;
25
24
  handleRoomNameChange: (e: string) => void;
26
25
  setRoomDescription: (description: string) => void;
27
26
  setChatType: (type: ChatAccessOption) => void;
28
- setProfileImage: (image: string | PickedImage | null) => void;
29
- onUploadImage: () => void;
27
+ setProfileImage: (image: string | File | null) => void;
30
28
  selectedUsers: any[];
31
29
  setSelectedUsers: (users: any[]) => void;
32
30
  handleCreateRoom: () => void;
@@ -42,7 +40,6 @@ const ModalContent: React.FC<ModalContentProps> = ({
42
40
  roomDescription,
43
41
  chatType,
44
42
  profileImage,
45
- onUploadImage,
46
43
  setActiveTab,
47
44
  handleRoomNameChange,
48
45
  setChatType,
@@ -65,7 +62,7 @@ const ModalContent: React.FC<ModalContentProps> = ({
65
62
  <ModalTitle>Create New Chat</ModalTitle>
66
63
  <ProfileImagePlaceholder
67
64
  size={120}
68
- upload={{ active: true, onUpload: onUploadImage }}
65
+ upload={{ active: true, onUpload: setProfileImage }}
69
66
  remove={{
70
67
  enabled: true,
71
68
  onRemoveClick: () => setProfileImage(null),
@@ -1,5 +1,4 @@
1
1
  import React, { useState, useMemo } from 'react';
2
- import { pickImageAsset, PickedImage } from '../../../helpers/pickImageAsset';
3
2
  import Button from '../../styled/Button';
4
3
  import { AddNewIcon } from '../../../assets/icons';
5
4
  import { useDispatch, useSelector } from 'react-redux';
@@ -30,16 +29,7 @@ const NewChatModal: React.FC = () => {
30
29
  name: 'Public',
31
30
  id: 'public',
32
31
  });
33
- const [profileImage, setProfileImage] = useState<
34
- string | PickedImage | null
35
- >(null);
36
-
37
- const handleUploadImage = async () => {
38
- const picked = await pickImageAsset();
39
- if (picked) {
40
- setProfileImage(picked);
41
- }
42
- };
32
+ const [profileImage, setProfileImage] = useState<string | File | null>(null);
43
33
  const [errors, setErrors] = useState({ name: '', description: '' });
44
34
  const [selectedUsers, setSelectedUsers] = useState<RoomMember[]>([]);
45
35
 
@@ -129,7 +119,6 @@ const NewChatModal: React.FC = () => {
129
119
  setRoomDescription={setRoomDescription}
130
120
  setChatType={setChatType}
131
121
  setProfileImage={setProfileImage}
132
- onUploadImage={handleUploadImage}
133
122
  selectedUsers={selectedUsers}
134
123
  setSelectedUsers={setSelectedUsers}
135
124
  handleCreateRoom={handleCreateRoom}