@ethora/chat-component-rn 26.5.10 → 26.5.11

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 (111) hide show
  1. package/CHANGELOG.md +59 -1
  2. package/README.md +29 -1
  3. package/lib/commonjs/components/MainComponents/ChatHeader.js +31 -16
  4. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  5. package/lib/commonjs/components/MainComponents/ChatRoom.js +17 -3
  6. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/ChatWrapper.js +17 -14
  8. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/MediaMessage.js +12 -9
  10. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  11. package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js +119 -0
  12. package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js.map +1 -0
  13. package/lib/commonjs/components/MessageBubble/Message.js +39 -3
  14. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  15. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +64 -36
  16. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  17. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +153 -62
  18. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  19. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
  20. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  21. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +5 -1
  22. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  23. package/lib/commonjs/components/Modals/ModalHeaderComponent.js +10 -0
  24. package/lib/commonjs/components/Modals/ModalHeaderComponent.js.map +1 -1
  25. package/lib/commonjs/components/Modals/styledModalComponents.js +13 -4
  26. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  27. package/lib/commonjs/components/styled/StyledComponents.js +6 -3
  28. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  29. package/lib/commonjs/components/styled/VideoMessage.js +44 -25
  30. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  31. package/lib/commonjs/helpers/mimeToExtension.js +56 -0
  32. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  33. package/lib/commonjs/hooks/useLogout.js +33 -8
  34. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  35. package/lib/commonjs/networking/api-requests/rooms.api.js +29 -4
  36. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  37. package/lib/module/components/MainComponents/ChatHeader.js +31 -16
  38. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  39. package/lib/module/components/MainComponents/ChatRoom.js +18 -4
  40. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  41. package/lib/module/components/MainComponents/ChatWrapper.js +17 -14
  42. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  43. package/lib/module/components/MainComponents/MediaMessage.js +13 -10
  44. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  45. package/lib/module/components/MessageBubble/InteractionsOverlay.js +112 -0
  46. package/lib/module/components/MessageBubble/InteractionsOverlay.js.map +1 -0
  47. package/lib/module/components/MessageBubble/Message.js +40 -4
  48. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  49. package/lib/module/components/MessageBubble/MessageInteractions.js +66 -38
  50. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  51. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +155 -64
  52. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  53. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
  54. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  55. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +6 -2
  56. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  57. package/lib/module/components/Modals/ModalHeaderComponent.js +10 -0
  58. package/lib/module/components/Modals/ModalHeaderComponent.js.map +1 -1
  59. package/lib/module/components/Modals/styledModalComponents.js +13 -4
  60. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  61. package/lib/module/components/styled/StyledComponents.js +6 -3
  62. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  63. package/lib/module/components/styled/VideoMessage.js +45 -26
  64. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  65. package/lib/module/helpers/mimeToExtension.js +55 -0
  66. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  67. package/lib/module/hooks/useLogout.js +33 -8
  68. package/lib/module/hooks/useLogout.js.map +1 -1
  69. package/lib/module/networking/api-requests/rooms.api.js +29 -4
  70. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  71. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  72. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  73. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  74. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  75. package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts +13 -0
  76. package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts.map +1 -0
  77. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  78. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  79. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  80. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  81. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  82. package/lib/typescript/components/Modals/ModalHeaderComponent.d.ts.map +1 -1
  83. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  84. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  85. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  86. package/lib/typescript/helpers/mimeToExtension.d.ts +8 -0
  87. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  88. package/lib/typescript/hooks/useLogout.d.ts +23 -1
  89. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  90. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  91. package/lib/typescript/types/types.d.ts +16 -0
  92. package/lib/typescript/types/types.d.ts.map +1 -1
  93. package/package.json +7 -4
  94. package/src/components/MainComponents/ChatHeader.tsx +46 -15
  95. package/src/components/MainComponents/ChatRoom.tsx +17 -3
  96. package/src/components/MainComponents/ChatWrapper.tsx +28 -21
  97. package/src/components/MainComponents/MediaMessage.tsx +11 -8
  98. package/src/components/MessageBubble/InteractionsOverlay.tsx +121 -0
  99. package/src/components/MessageBubble/Message.tsx +44 -3
  100. package/src/components/MessageBubble/MessageInteractions.tsx +67 -48
  101. package/src/components/Modals/AttachSheet/AttachSheet.tsx +144 -51
  102. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +25 -3
  103. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +10 -2
  104. package/src/components/Modals/ModalHeaderComponent.tsx +8 -1
  105. package/src/components/Modals/styledModalComponents.tsx +13 -4
  106. package/src/components/styled/StyledComponents.ts +6 -3
  107. package/src/components/styled/VideoMessage.tsx +21 -5
  108. package/src/helpers/mimeToExtension.ts +64 -0
  109. package/src/hooks/useLogout.tsx +33 -10
  110. package/src/networking/api-requests/rooms.api.ts +31 -7
  111. package/src/types/types.ts +16 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_native","_interopRequireDefault","require","_reactNative","e","__esModule","default","width","height","Dimensions","get","ChatContainer","exports","styled","View","ThreadContainer","ChatContainerHeader","CenterContainer","rightSpace","leftSpace","ChatContainerHeaderBoxInfo","TouchableOpacity","ChatContainerHeaderInfo","ChatContainerHeaderLabel","Text","NonRoomChat","MessagesScroll","ScrollView","MessagesList","MessageTimestamp","Message","props","isUser","MessageText","UserName","InputContainer","MessageInput","TextInput","IconButton","SendButton","SendButtonText","AvatarCircle","size","bgColor","AvatarImage","Image","RemoveButton","RemoveButtonText","InitialsText","color","Overlay","CustomMessageText","colorUser","FileInput","StyledLoaderWrapper","OrDelimiter","OrDelimiterText","Line","AlsoCheckbox","accentColor","AlsoContainer","Wrapper","CustomSystemMessage","MessageFooter"],"sourceRoot":"../../../../src","sources":["components/styled/StyledComponents.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_native","_interopRequireDefault","require","_reactNative","e","__esModule","default","width","height","Dimensions","get","ChatContainer","exports","styled","View","ThreadContainer","ChatContainerHeader","CenterContainer","rightSpace","leftSpace","ChatContainerHeaderBoxInfo","TouchableOpacity","ChatContainerHeaderInfo","ChatContainerHeaderLabel","Text","NonRoomChat","MessagesScroll","ScrollView","MessagesList","MessageTimestamp","Message","props","isUser","MessageText","UserName","InputContainer","MessageInput","TextInput","IconButton","SendButton","SendButtonText","AvatarCircle","size","bgColor","AvatarImage","Image","RemoveButton","RemoveButtonText","InitialsText","color","Overlay","CustomMessageText","colorUser","FileInput","StyledLoaderWrapper","OrDelimiter","OrDelimiterText","Line","AlsoCheckbox","accentColor","AlsoContainer","Wrapper","CustomSystemMessage","MessageFooter"],"sourceRoot":"../../../../src","sources":["components/styled/StyledComponents.ts"],"mappings":"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","ignoreList":[]}
@@ -41,32 +41,51 @@ const CustomMessageVideo = ({
41
41
  }));
42
42
  dispatch((0, _chatSettingsSlice.setActiveModal)(_MODAL_TYPES.MODAL_TYPES.FILE_PREVIEW));
43
43
  };
44
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
45
- onPress: handleOpen,
46
- activeOpacity: 0.9,
47
- style: [styles.wrapper, {
48
- width: dims.width,
49
- height: dims.height
50
- }],
51
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_expoVideo.VideoView, {
52
- player: player,
53
- style: styles.video,
54
- contentFit: "cover",
55
- nativeControls: false,
56
- surfaceType: "textureView",
57
- pointerEvents: "none"
58
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
59
- style: styles.overlay,
60
- pointerEvents: "none",
61
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
62
- style: styles.playButton,
63
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.PlayIcon, {
64
- width: 28,
65
- height: 28
44
+ return (
45
+ /*#__PURE__*/
46
+ // Capture-overlay pattern: VideoView sits underneath without ANY
47
+ // touch participation; a transparent absolute-fill <Pressable> on
48
+ // top owns the tap. Previously we wrapped VideoView in a
49
+ // TouchableOpacity and set `pointerEvents="none"` on the inner
50
+ // VideoView — but on some expo-video versions / iOS the native
51
+ // VideoView still intercepted gestures despite that hint, so
52
+ // tapping the poster did nothing. Customer-reported #9 (video
53
+ // preview unresponsive). The Pressable now guarantees the tap
54
+ // reaches `handleOpen`.
55
+ (0, _jsxRuntime.jsxs)(_reactNative.View, {
56
+ style: [styles.wrapper, {
57
+ width: dims.width,
58
+ height: dims.height
59
+ }],
60
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_expoVideo.VideoView, {
61
+ player: player,
62
+ style: styles.video,
63
+ contentFit: "cover",
64
+ nativeControls: false,
65
+ surfaceType: "textureView",
66
+ pointerEvents: "none"
67
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
68
+ style: styles.overlay,
69
+ pointerEvents: "none",
70
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
71
+ style: styles.playButton,
72
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.PlayIcon, {
73
+ width: 28,
74
+ height: 28
75
+ })
66
76
  })
67
- })
68
- })]
69
- });
77
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
78
+ onPress: handleOpen
79
+ // Sits ON TOP of VideoView + the play-button overlay; transparent
80
+ // so the poster + play icon show through. Captures the tap and
81
+ // routes to handleOpen → setActiveModal(FILE_PREVIEW).
82
+ ,
83
+ style: _reactNative.StyleSheet.absoluteFill,
84
+ accessibilityRole: "button",
85
+ accessibilityLabel: "Play video"
86
+ })]
87
+ })
88
+ );
70
89
  };
71
90
  var _default = exports.default = CustomMessageVideo;
72
91
  const styles = _reactNative.StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_expoVideo","_reactRedux","_chatSettingsSlice","_MODAL_TYPES","_icons","_mediaDimensions","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CustomMessageVideo","fileName","fileURL","mimetype","dispatch","useDispatch","dims","setDims","useState","defaultMediaDims","player","useVideoPlayer","p","muted","useEffect","sub","addListener","size","videoTrack","width","height","fitMediaDimensions","remove","handleOpen","setActiveFile","setActiveModal","MODAL_TYPES","FILE_PREVIEW","jsxs","TouchableOpacity","onPress","activeOpacity","style","styles","wrapper","children","jsx","VideoView","video","contentFit","nativeControls","surfaceType","pointerEvents","View","overlay","playButton","PlayIcon","_default","exports","StyleSheet","create","borderRadius","overflow","backgroundColor","absoluteFillObject","justifyContent","alignItems"],"sourceRoot":"../../../../src","sources":["components/styled/VideoMessage.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_expoVideo","_reactRedux","_chatSettingsSlice","_MODAL_TYPES","_icons","_mediaDimensions","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CustomMessageVideo","fileName","fileURL","mimetype","dispatch","useDispatch","dims","setDims","useState","defaultMediaDims","player","useVideoPlayer","p","muted","useEffect","sub","addListener","size","videoTrack","width","height","fitMediaDimensions","remove","handleOpen","setActiveFile","setActiveModal","MODAL_TYPES","FILE_PREVIEW","jsxs","View","style","styles","wrapper","children","jsx","VideoView","video","contentFit","nativeControls","surfaceType","pointerEvents","overlay","playButton","PlayIcon","Pressable","onPress","StyleSheet","absoluteFill","accessibilityRole","accessibilityLabel","_default","exports","create","borderRadius","overflow","backgroundColor","absoluteFillObject","justifyContent","alignItems"],"sourceRoot":"../../../../src","sources":["components/styled/VideoMessage.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.deriveDisplayFilename = deriveDisplayFilename;
7
7
  exports.ensureFilenameHasExtension = ensureFilenameHasExtension;
8
8
  exports.filenameFromUrl = filenameFromUrl;
9
9
  exports.getExtensionForMime = getExtensionForMime;
10
+ exports.isLikelyAudio = isLikelyAudio;
10
11
  // MIME → file extension table for download/preview filename fallbacks.
11
12
  // Centralized so FilePreviewModal, MediaMessage, and any future media
12
13
  // surface share one source of truth. Keep additions sorted by category.
@@ -66,6 +67,61 @@ const MIME_TO_EXT = {
66
67
  };
67
68
  const VALID_EXT_RE = /\.[a-z0-9]{1,8}$/i;
68
69
 
70
+ // Audio file extensions we recognise across the SDK. Used for the
71
+ // "looks like audio even when the mimetype is application/octet-stream"
72
+ // heuristic in MediaMessage / FilePreviewModal. Voice-message senders
73
+ // (web app, push voice memos) sometimes ship audio as octet-stream with
74
+ // no audio mime — sniffing the extension lets us still play it.
75
+ // `.bin` is intentionally NOT here: it's our own fallback extension for
76
+ // truly unknown payloads (see getExtensionForMime), not a real format.
77
+ const AUDIO_EXTENSIONS = ['.mp3', '.m4a', '.wav', '.aac', '.ogg', '.flac', '.weba', '.webm', '.opus', '.amr', '.3gp', '.3gpp'];
78
+ const AUDIO_EXT_RE = new RegExp(`(${AUDIO_EXTENSIONS.map(e => e.replace('.', '\\.')).join('|')})$`, 'i');
79
+ // Filename / URL substrings that strongly indicate a voice / audio
80
+ // payload even without an explicit audio extension — e.g. a web-app
81
+ // voicemail uploaded as application/octet-stream named "voicemail-…".
82
+ const AUDIO_NAME_HINT_RE = /(?:^|[_\-./])(voice|voicemail|audio|audio-message|audiomessage|recording|voice-?note)(?:[_\-./]|$)/i;
83
+
84
+ /**
85
+ * Returns true when the (mime, fileName, url) triple looks like an
86
+ * audio payload — either by mime, by recognised extension on the
87
+ * filename or URL path, or by a voice-message naming hint. The hint
88
+ * branch is what catches voicemails sent as `application/octet-stream`
89
+ * with a generic `.bin` filename (customer-reported #9 voicemail).
90
+ */
91
+ function isLikelyAudio(mime, fileName, url) {
92
+ const m = (mime || '').toLowerCase();
93
+ if (m.startsWith('audio/')) {
94
+ return true;
95
+ }
96
+ // For octet-stream (and any other non-audio mime) fall through to the
97
+ // filename / URL heuristics. We don't restrict to octet-stream — some
98
+ // backends send no mime at all, or send text/plain by accident.
99
+ const name = (fileName || '').toLowerCase();
100
+ const urlLast = filenameFromUrl(url).toLowerCase();
101
+ if (AUDIO_EXT_RE.test(name) || AUDIO_EXT_RE.test(urlLast)) {
102
+ return true;
103
+ }
104
+ // Last resort: voice-message naming hint anywhere in the filename, the
105
+ // URL's last segment, OR the URL's full path. Voicemails are commonly
106
+ // hosted under `/voice/abc-123` or `/voicemail/abc-123` where the last
107
+ // segment is an opaque id with no hint by itself.
108
+ const urlPath = (() => {
109
+ if (!url) {
110
+ return '';
111
+ }
112
+ try {
113
+ const noQuery = url.split('?')[0].split('#')[0];
114
+ return decodeURIComponent(noQuery).toLowerCase();
115
+ } catch {
116
+ return '';
117
+ }
118
+ })();
119
+ if (AUDIO_NAME_HINT_RE.test(name) || AUDIO_NAME_HINT_RE.test(urlLast) || AUDIO_NAME_HINT_RE.test(urlPath)) {
120
+ return true;
121
+ }
122
+ return false;
123
+ }
124
+
69
125
  /**
70
126
  * Returns the conventional extension (including the leading dot) for a
71
127
  * MIME type, or `.bin` as a last-resort fallback so callers never end up
@@ -1 +1 @@
1
- {"version":3,"names":["MIME_TO_EXT","VALID_EXT_RE","getExtensionForMime","mime","normalized","toLowerCase","split","trim","filenameFromUrl","url","noQuery","last","pop","decodeURIComponent","ensureFilenameHasExtension","fileName","base","Date","now","test","deriveDisplayFilename","opts","candidate","originalName"],"sourceRoot":"../../../src","sources":["helpers/mimeToExtension.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MIME_TO_EXT","VALID_EXT_RE","AUDIO_EXTENSIONS","AUDIO_EXT_RE","RegExp","map","e","replace","join","AUDIO_NAME_HINT_RE","isLikelyAudio","mime","fileName","url","m","toLowerCase","startsWith","name","urlLast","filenameFromUrl","test","urlPath","noQuery","split","decodeURIComponent","getExtensionForMime","normalized","trim","last","pop","ensureFilenameHasExtension","base","Date","now","deriveDisplayFilename","opts","candidate","originalName"],"sourceRoot":"../../../src","sources":["helpers/mimeToExtension.ts"],"mappings":"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","ignoreList":[]}
@@ -132,16 +132,41 @@ const logoutService = exports.logoutService = {
132
132
  }
133
133
  }
134
134
  };
135
+
136
+ /**
137
+ * Hook that returns an awaitable logout function.
138
+ *
139
+ * ```tsx
140
+ * const logout = useLogout();
141
+ * await logout();
142
+ * navigation.replace('SignIn'); // disk is provably clean here
143
+ * ```
144
+ *
145
+ * The returned function resolves AFTER all teardown work has landed:
146
+ * XMPP disconnect, redux reset, persisted slices wiped, stray
147
+ * AsyncStorage keys removed, REST cache cleared. It never rejects —
148
+ * any internal failure is logged via console.warn so a fire-and-forget
149
+ * `logout()` call (no `await`) still won't crash the host.
150
+ *
151
+ * Why awaitable: the persistence middleware debounces writes by 200ms,
152
+ * and the chat-slice `logout` reducer removes ETHORA_USER fire-and-
153
+ * forget. If the host navigated / re-mounted `<Chat>` immediately
154
+ * after a non-awaited call, the next bootstrap could occasionally
155
+ * read stale persisted state ("old chats reappear"). Awaiting the
156
+ * returned promise eliminates that race entirely.
157
+ */
135
158
  const useLogout = () => {
136
- const dispatch = (0, _reactRedux.useDispatch)();
137
- const handleLogout = (0, _react.useCallback)(() => {
138
- // The hook fires-and-forgets — consumers that need to await the
139
- // teardown should call `logoutService.performLogout()` directly.
140
- logoutService.performLogout().catch(err => {
141
- console.warn('useLogout: performLogout rejected', err);
142
- });
159
+ // dispatch is kept for backward-compat with consumers who treat the
160
+ // hook's presence as a redux-context requirement; not used directly
161
+ // here because the work happens through the module-level service.
162
+ (0, _reactRedux.useDispatch)();
163
+ return (0, _react.useCallback)(async () => {
164
+ try {
165
+ await logoutService.performLogout();
166
+ } catch (err) {
167
+ console.warn('useLogout: performLogout failed', err);
168
+ }
143
169
  }, []);
144
- return handleLogout;
145
170
  };
146
171
  exports.useLogout = useLogout;
147
172
  //# sourceMappingURL=useLogout.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactRedux","require","_reactNative","_asyncStorage","_interopRequireDefault","_roomStore","_chatSettingsSlice","_roomsSlice","_react","_roomHeapSlice","_pushSubscriptionService","_rooms","_persistence","_LOCAL_STORAGE","e","__esModule","default","LIBRARY_STRAY_KEYS","logoutService","exports","performLogout","state","store","getState","client","chatSettingStore","rooms","visibleRoomJID","flushLastViewedToPrivateStoreStanza","Promise","race","onlyIfNoUnread","res","setTimeout","console","warn","DeviceEventEmitter","emit","pushSubscriptionService","reset","clearRoomsRestCache","dispatch","setLogoutState","clearHeap","logout","clearPersistedState","AsyncStorage","multiRemove","localStorageConstants","ETHORA_USER","useLogout","useDispatch","handleLogout","useCallback","catch","err"],"sourceRoot":"../../../src","sources":["hooks/useLogout.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactRedux","require","_reactNative","_asyncStorage","_interopRequireDefault","_roomStore","_chatSettingsSlice","_roomsSlice","_react","_roomHeapSlice","_pushSubscriptionService","_rooms","_persistence","_LOCAL_STORAGE","e","__esModule","default","LIBRARY_STRAY_KEYS","logoutService","exports","performLogout","state","store","getState","client","chatSettingStore","rooms","visibleRoomJID","flushLastViewedToPrivateStoreStanza","Promise","race","onlyIfNoUnread","res","setTimeout","console","warn","DeviceEventEmitter","emit","pushSubscriptionService","reset","clearRoomsRestCache","dispatch","setLogoutState","clearHeap","logout","clearPersistedState","AsyncStorage","multiRemove","localStorageConstants","ETHORA_USER","useLogout","useDispatch","useCallback","err"],"sourceRoot":"../../../src","sources":["hooks/useLogout.tsx"],"mappings":"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","ignoreList":[]}
@@ -27,16 +27,41 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
27
27
  * 1. explicit `room.jid` from the server (if present)
28
28
  * 2. `<name>@conference.<xmppHost>` where xmppHost comes from the
29
29
  * provider's `xmppSettings.host` saved to `chatSettingStore.config`
30
- * 3. fallback: `<name>@conference.xmpp.chat.ethora.com`
30
+ * 3. derive host from `config.baseUrl` (api.<host> → xmpp.<host>)
31
+ * as a last-resort heuristic for misconfigured deployments
32
+ * 4. otherwise: skip the room with a warn log (NEVER fall back to a
33
+ * hardcoded vendor host — previously `xmpp.chat.ethora.com`, which
34
+ * manifested as a phantom "ethora" room stub on third-party servers,
35
+ * customer-reported #23)
31
36
  */
32
37
  function dispatchRoomsFromRestItems(items) {
33
38
  if (!items?.length) return;
34
39
  const config = _roomStore.store.getState().chatSettingStore?.config;
35
- const host = config?.xmppSettings?.host || config?.xmppSettings?.conference?.replace(/^conference\./, '') || 'xmpp.chat.ethora.com';
36
- const conference = config?.xmppSettings?.conference || `conference.${host}`;
40
+ // Best: explicit xmpp settings.
41
+ let host = config?.xmppSettings?.host || config?.xmppSettings?.conference?.replace(/^conference\./, '');
42
+ // Heuristic fallback: derive xmpp host from the REST baseUrl.
43
+ // `https://api.foo.com/v1` → `xmpp.foo.com`. Better than a hardcoded
44
+ // vendor host and right in 99% of single-domain deployments.
45
+ if (!host && typeof config?.baseUrl === 'string') {
46
+ const m = /^https?:\/\/(?:api\.)?([^/]+)/i.exec(config.baseUrl);
47
+ if (m && m[1]) {
48
+ host = `xmpp.${m[1].replace(/^api\./, '')}`;
49
+ }
50
+ }
51
+ const conference = config?.xmppSettings?.conference || (host ? `conference.${host}` : undefined);
37
52
  for (const item of items) {
38
53
  if (!item) continue;
39
- const jid = item.jid || `${item.name}@${conference}`;
54
+ let jid = item.jid;
55
+ if (!jid) {
56
+ if (!conference) {
57
+ // No server-supplied JID and no way to synthesize one safely —
58
+ // skip rather than create a phantom room on a wrong host.
59
+ // Consumers who hit this should set config.xmppSettings.host.
60
+ console.warn(`[ethora-rn] rooms.api: skipping room "${item.name}" — no item.jid and no xmppSettings.host / baseUrl to derive host from`);
61
+ continue;
62
+ }
63
+ jid = `${item.name}@${conference}`;
64
+ }
40
65
  if (!jid.includes('@')) continue;
41
66
  const room = {
42
67
  id: item._id || jid,
@@ -1 +1 @@
1
- {"version":3,"names":["_roomStore","require","_roomsSlice","_apiClient","_interopRequireDefault","e","__esModule","default","dispatchRoomsFromRestItems","items","length","config","store","getState","chatSettingStore","host","xmppSettings","conference","replace","item","jid","name","includes","room","id","_id","title","usersCnt","participants","members","messages","isLoading","roomBg","icon","picture","createdAt","updatedAt","description","type","roomMembers","map","m","firstName","lastName","xmppUsername","role","ban_status","last_active","dispatch","addRoom","roomData","GET_ROOMS_CACHE_MS","getRoomsInFlight","getRoomsInFlightToken","lastGetRoomsResponse","lastGetRoomsResponseAt","lastGetRoomsResponseToken","getRooms","token","user","now","Date","response","http","get","headers","Authorization","data","error","console","log","getRoomByName","chatName","Error","postRoom","post","result","postPrivateRoom","username","postReportRoom","category","text","postAddRoomMember","results","deleteRoomMember","roomId","delete","deleteRoom","clearRoomsRestCache"],"sourceRoot":"../../../../src","sources":["networking/api-requests/rooms.api.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_roomStore","require","_roomsSlice","_apiClient","_interopRequireDefault","e","__esModule","default","dispatchRoomsFromRestItems","items","length","config","store","getState","chatSettingStore","host","xmppSettings","conference","replace","baseUrl","m","exec","undefined","item","jid","console","warn","name","includes","room","id","_id","title","usersCnt","participants","members","messages","isLoading","roomBg","icon","picture","createdAt","updatedAt","description","type","roomMembers","map","firstName","lastName","xmppUsername","role","ban_status","last_active","dispatch","addRoom","roomData","GET_ROOMS_CACHE_MS","getRoomsInFlight","getRoomsInFlightToken","lastGetRoomsResponse","lastGetRoomsResponseAt","lastGetRoomsResponseToken","getRooms","token","user","now","Date","response","http","get","headers","Authorization","data","error","log","getRoomByName","chatName","Error","postRoom","post","result","postPrivateRoom","username","postReportRoom","category","text","postAddRoomMember","results","deleteRoomMember","roomId","delete","deleteRoom","clearRoomsRestCache"],"sourceRoot":"../../../../src","sources":["networking/api-requests/rooms.api.ts"],"mappings":"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","ignoreList":[]}
@@ -61,6 +61,11 @@ const ChatHeader = ({
61
61
  Keyboard.dismiss();
62
62
  config?.headerChatMenu && config?.headerChatMenu();
63
63
  };
64
+
65
+ // Shared open-chat-info handler used by BOTH the outer touchable row
66
+ // and the avatar's own press (the avatar otherwise absorbs taps without
67
+ // bubbling — see the comment on ProfileImagePlaceholder below).
68
+ const openChatInfo = useCallback(() => dispatch(setActiveModal(MODAL_TYPES.CHAT_PROFILE)), [dispatch]);
64
69
  return /*#__PURE__*/_jsxs(_Fragment, {
65
70
  children: [/*#__PURE__*/_jsxs(ChatContainerHeader, {
66
71
  children: [handleBackClick && !config?.headerChatMenu ? /*#__PURE__*/_jsx(View, {
@@ -80,13 +85,13 @@ const ChatHeader = ({
80
85
  }),
81
86
  onPress: handleHeaderChatMenu
82
87
  })
83
- }) :
84
- /*#__PURE__*/
85
- // Reserve the slot so the title stays centered relative to
86
- // the right-hand actions even when the icon is hidden.
87
- _jsx(View, {
88
- style: styles.leftContainer
89
- }), /*#__PURE__*/_jsxs(CenterContainer, {
88
+ }) : null
89
+ /* Don't reserve the 15%-wide leftContainer when both the back
90
+ * button is absent AND the burger icon is hidden — the empty
91
+ * slot used to steal width from the title row, clipping the chat
92
+ * name. Customer-reported #15. The right action area still fills
93
+ * its own slot, so the title now starts at the left edge as
94
+ * intended by `disableChatHeaderBurgerMenuIcon`. */, /*#__PURE__*/_jsxs(CenterContainer, {
90
95
  rightSpace: config?.disableRoomConfig,
91
96
  leftSpace: !!config?.headerChatMenu,
92
97
  children: [config?.chatHeaderBurgerMenu && roomsList && /*#__PURE__*/_jsx(RoomList, {
@@ -94,15 +99,25 @@ const ChatHeader = ({
94
99
  burgerMenu: true,
95
100
  onRoomClick: handleChangeChat
96
101
  }), /*#__PURE__*/_jsxs(ChatContainerHeaderBoxInfo, {
97
- onPress: () => dispatch(setActiveModal(MODAL_TYPES.CHAT_PROFILE)),
98
- disabled: config?.disableProfilesInteractions,
99
- children: [/*#__PURE__*/_jsx(View, {
100
- children: /*#__PURE__*/_jsx(ProfileImagePlaceholder, {
101
- name: currentRoom?.title || currentRoom?.name,
102
- size: 40,
103
- icon: currentRoom?.icon,
104
- active: !config?.disableProfilesInteractions || true
105
- })
102
+ onPress: openChatInfo
103
+ // Gates the entry to the CHAT-INFO modal (room name, members,
104
+ // settings) via the dedicated `disableChatInfo.disableChatHeaderMenu`
105
+ // flag. Previously wired to `disableProfilesInteractions`, which
106
+ // is for USER-profile popups (the in-bubble avatar tap, see
107
+ // Message.tsx) — wrong semantic gate, and it meant a consumer
108
+ // who wanted to hide user profiles also lost their entry to
109
+ // the chat info screen.
110
+ ,
111
+ disabled: config?.disableChatInfo?.disableChatHeaderMenu,
112
+ children: [/*#__PURE__*/_jsx(ProfileImagePlaceholder, {
113
+ name: currentRoom?.title || currentRoom?.name,
114
+ size: 40,
115
+ icon: currentRoom?.icon,
116
+ active: !config?.disableChatInfo?.disableChatHeaderMenu,
117
+ click: config?.disableChatInfo?.disableChatHeaderMenu ? undefined : {
118
+ isClick: true,
119
+ onPress: openChatInfo
120
+ }
106
121
  }), /*#__PURE__*/_jsxs(ChatContainerHeaderInfo, {
107
122
  children: [/*#__PURE__*/_jsx(ChatContainerHeaderLabel, {
108
123
  numberOfLines: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","CenterContainer","ChatContainerHeader","ChatContainerHeaderBoxInfo","ChatContainerHeaderInfo","ChatContainerHeaderLabel","RoomList","ProfileImagePlaceholder","Button","BackIcon","BurgerMenuIcon","useDispatch","Composing","deleteRoom","setCurrentRoom","setIsLoading","useXmppClient","setActiveModal","MODAL_TYPES","RoomMenu","useRoomState","useChatSettingState","View","StyleSheet","Text","Keyboard","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ChatHeader","currentRoom","handleBackClick","dispatch","client","roomsList","activeRoomJID","jid","roomState","room","composing","config","handleChangeChat","chat","roomJID","chatJID","loading","handleLeaveClick","leaveTheRoomStanza","nextRoomJID","Object","keys","handleHeaderChatMenu","dismiss","headerChatMenu","children","style","styles","leftContainer","EndIcon","onPress","disableChatHeaderBurgerMenuIcon","menuButton","color","unstyled","colors","primary","rightSpace","disableRoomConfig","leftSpace","chatHeaderBurgerMenu","chats","values","burgerMenu","onRoomClick","CHAT_PROFILE","disabled","disableProfilesInteractions","name","title","size","icon","active","numberOfLines","ellipsizeMode","usersTyping","composingList","disableUserCount","undefined","subLabel","usersCnt","rightContainer","chatHeaderAdditional","enabled","element","create","fontSize","padding","borderRadius","backgroundColor","alignItems","width"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ChatHeader.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","CenterContainer","ChatContainerHeader","ChatContainerHeaderBoxInfo","ChatContainerHeaderInfo","ChatContainerHeaderLabel","RoomList","ProfileImagePlaceholder","Button","BackIcon","BurgerMenuIcon","useDispatch","Composing","deleteRoom","setCurrentRoom","setIsLoading","useXmppClient","setActiveModal","MODAL_TYPES","RoomMenu","useRoomState","useChatSettingState","View","StyleSheet","Text","Keyboard","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ChatHeader","currentRoom","handleBackClick","dispatch","client","roomsList","activeRoomJID","jid","roomState","room","composing","config","handleChangeChat","chat","roomJID","chatJID","loading","handleLeaveClick","leaveTheRoomStanza","nextRoomJID","Object","keys","handleHeaderChatMenu","dismiss","headerChatMenu","openChatInfo","CHAT_PROFILE","children","style","styles","leftContainer","EndIcon","onPress","disableChatHeaderBurgerMenuIcon","menuButton","color","unstyled","colors","primary","rightSpace","disableRoomConfig","leftSpace","chatHeaderBurgerMenu","chats","values","burgerMenu","onRoomClick","disabled","disableChatInfo","disableChatHeaderMenu","name","title","size","icon","active","click","undefined","isClick","numberOfLines","ellipsizeMode","usersTyping","composingList","disableUserCount","subLabel","usersCnt","rightContainer","chatHeaderAdditional","enabled","element","create","fontSize","padding","borderRadius","backgroundColor","alignItems","width"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ChatHeader.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  /** @format */
4
4
 
5
- import React, { useState, useEffect, useCallback } from 'react';
5
+ import React, { useState, useEffect, useCallback, useRef } from 'react';
6
6
  import { ChatContainer, NonRoomChat } from '../styled/StyledComponents';
7
7
  import { useDispatch } from 'react-redux';
8
8
  import MessageList from './MessageList';
@@ -115,6 +115,19 @@ const ChatRoom = /*#__PURE__*/React.memo(({
115
115
  isEdit: false
116
116
  }));
117
117
  };
118
+
119
+ // Read the latest client through a ref so this effect's setup phase
120
+ // does NOT re-run on every `client` identity change. With `client` in
121
+ // the deps array, a reconnect or any provider re-render would re-fire
122
+ // setup → `dispatch(setVisibleRoom(...))` ~one tick after the host
123
+ // cleared visibility via the `isVisible` prop (XmppProvider) — racing
124
+ // and clobbering it, so `useUnread()` reported 0 in tab-mounted hosts.
125
+ // Customer-reported #19. The cleanup still needs the live client for
126
+ // flushLastViewedToPrivateStoreStanza, which is what the ref provides.
127
+ const clientRef = useRef(client);
128
+ useEffect(() => {
129
+ clientRef.current = client;
130
+ }, [client]);
118
131
  useEffect(() => {
119
132
  if (!activeRoomJID) {
120
133
  return;
@@ -130,8 +143,9 @@ const ChatRoom = /*#__PURE__*/React.memo(({
130
143
  timestamp
131
144
  }));
132
145
  dispatch(clearVisibleRoom());
133
- if (client) {
134
- client.flushLastViewedToPrivateStoreStanza(store.getState().rooms?.rooms, {
146
+ const liveClient = clientRef.current;
147
+ if (liveClient) {
148
+ liveClient.flushLastViewedToPrivateStoreStanza(store.getState().rooms?.rooms, {
135
149
  visibleRoomJID: activeRoomJID
136
150
  }).catch(() => {});
137
151
  }
@@ -141,7 +155,7 @@ const ChatRoom = /*#__PURE__*/React.memo(({
141
155
  }));
142
156
  setIsLoadingMore(false);
143
157
  };
144
- }, [activeRoomJID, client, dispatch]);
158
+ }, [activeRoomJID, dispatch]);
145
159
 
146
160
  // hooks useEffects
147
161
  // useRoomUrl(activeRoomJID || "", roomsList, config);