@droppii-org/chat-mobile 0.2.54 → 0.2.56

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 (40) hide show
  1. package/lib/module/components/messages/imageMessage/index.js +31 -14
  2. package/lib/module/components/messages/imageMessage/index.js.map +1 -1
  3. package/lib/module/components/messages/stickerMessage/index.js +1 -1
  4. package/lib/module/components/messages/stickerMessage/index.js.map +1 -1
  5. package/lib/module/screens/ChatInfo/ChatInfo.js +2 -14
  6. package/lib/module/screens/ChatInfo/ChatInfo.js.map +1 -1
  7. package/lib/module/screens/ChatInfo/ChatInfoProfile.js +14 -19
  8. package/lib/module/screens/ChatInfo/ChatInfoProfile.js.map +1 -1
  9. package/lib/module/screens/MediaView/index.js +7 -3
  10. package/lib/module/screens/MediaView/index.js.map +1 -1
  11. package/lib/module/screens/chat-detail/ChatDetail.js +5 -3
  12. package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
  13. package/lib/module/screens/chat-detail/ChatListLegend.js +91 -36
  14. package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
  15. package/lib/typescript/src/components/messages/imageMessage/index.d.ts +12 -0
  16. package/lib/typescript/src/components/messages/imageMessage/index.d.ts.map +1 -1
  17. package/lib/typescript/src/components/messages/stickerMessage/index.d.ts +1 -0
  18. package/lib/typescript/src/components/messages/stickerMessage/index.d.ts.map +1 -1
  19. package/lib/typescript/src/screens/ChatInfo/ChatInfo.d.ts +1 -1
  20. package/lib/typescript/src/screens/ChatInfo/ChatInfo.d.ts.map +1 -1
  21. package/lib/typescript/src/screens/ChatInfo/ChatInfoProfile.d.ts +1 -2
  22. package/lib/typescript/src/screens/ChatInfo/ChatInfoProfile.d.ts.map +1 -1
  23. package/lib/typescript/src/screens/ChatInfo/types.d.ts +1 -4
  24. package/lib/typescript/src/screens/ChatInfo/types.d.ts.map +1 -1
  25. package/lib/typescript/src/screens/MediaView/index.d.ts.map +1 -1
  26. package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts +1 -1
  27. package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts.map +1 -1
  28. package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -1
  29. package/lib/typescript/src/screens/chat-detail/types.d.ts +1 -1
  30. package/lib/typescript/src/screens/chat-detail/types.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/src/components/messages/imageMessage/index.tsx +48 -19
  33. package/src/components/messages/stickerMessage/index.tsx +1 -1
  34. package/src/screens/ChatInfo/ChatInfo.tsx +2 -16
  35. package/src/screens/ChatInfo/ChatInfoProfile.tsx +37 -39
  36. package/src/screens/ChatInfo/types.ts +1 -4
  37. package/src/screens/MediaView/index.tsx +5 -1
  38. package/src/screens/chat-detail/ChatDetail.tsx +6 -3
  39. package/src/screens/chat-detail/ChatListLegend.tsx +125 -51
  40. package/src/screens/chat-detail/types.ts +1 -1
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { memo, useCallback, useMemo, useEffect, useRef, useState } from 'react';
4
- import { DeviceEventEmitter, StyleSheet } from 'react-native';
4
+ import { DeviceEventEmitter, StyleSheet, useWindowDimensions } from 'react-native';
5
5
  import Animated, { useSharedValue, useAnimatedStyle, withSpring } from 'react-native-reanimated';
6
6
  import { KeyboardAwareLegendList } from '@legendapp/list/keyboard';
7
7
  import { KContainer, KColors, KSpacingValue, KLabel } from '@droppii/libs';
@@ -18,9 +18,18 @@ import { ChatEvent } from "../../types/events.js";
18
18
  import { useMessageStore } from "../../store/message.js";
19
19
  import { useChatContext } from "../../context/index.js";
20
20
  import { messageStyles } from "./legend/messageTypes.js";
21
+ import { MessageType } from '@droppii/openim-rn-client-sdk';
21
22
  import { useUserStore } from "../../store/index.js";
22
23
  import { ChatMessageAPI } from "../../services/index.js";
24
+ import { resolveImageDisplayDims } from "../../components/messages/imageMessage/index.js";
25
+ import { STICKER_SIZE } from "../../components/messages/stickerMessage/index.js";
26
+ import ChatImageDimens, { CHAT_IMAGE_VIEW_SOURCE } from "../../utils/chatImageDimens.js";
27
+
28
+ // Row wrapper (`messageRowLeft`/`messageRowRight` in `components/messages/styles.ts`)
29
+ // adds only a bottom margin — no vertical padding — so a fixed-size item's true
30
+ // rendered height is `content height + this margin`.
23
31
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
32
+ const ROW_MARGIN_BOTTOM = KSpacingValue['0.25rem'];
24
33
  export const ChatListLegend = /*#__PURE__*/memo(({
25
34
  messages = [],
26
35
  conversationId,
@@ -40,6 +49,7 @@ export const ChatListLegend = /*#__PURE__*/memo(({
40
49
  keyboardOffset
41
50
  }) => {
42
51
  const currentUserId = useUserStore(s => s.user?.userID);
52
+ const windowWidth = useWindowDimensions().width;
43
53
  // Precompute all message data in single pass (O(n))
44
54
  const messageDataMap = useMemo(() => precomputeLegendListData(messages), [messages]);
45
55
  const {
@@ -62,29 +72,12 @@ export const ChatListLegend = /*#__PURE__*/memo(({
62
72
  const buttonOpacity = useSharedValue(0);
63
73
  const isAtBottomRef = useRef(true);
64
74
  const scrollDebounceRef = useRef(undefined);
65
- const itemHeightsRef = useRef(new Map());
66
- const avgItemHeightRef = useRef(120);
67
- const heightDebounceRef = useRef(undefined);
68
75
  const rowRefsMap = useRef(new Map());
69
76
  const [showBadge, setShowBadge] = useState(false);
70
77
  const {
71
78
  applicationType
72
79
  } = useChatContext();
73
80
  const searchMessages = useMessageStore(s => s.searchMessages);
74
- const handleItemLayout = useCallback((messageId, height) => {
75
- itemHeightsRef.current.set(messageId, height);
76
-
77
- // Debounce average height calculation (batch updates)
78
- if (heightDebounceRef.current) {
79
- clearTimeout(heightDebounceRef.current);
80
- }
81
- heightDebounceRef.current = setTimeout(() => {
82
- if (itemHeightsRef.current.size > 0) {
83
- const total = Array.from(itemHeightsRef.current.values()).reduce((a, b) => a + b, 0);
84
- avgItemHeightRef.current = Math.round(total / itemHeightsRef.current.size);
85
- }
86
- }, 100); // Batch updates every 100ms during load
87
- }, []);
88
81
  const handleMessageLongPress = useCallback((messageId, message) => {
89
82
  const node = rowRefsMap.current.get(messageId);
90
83
  node?.measureInWindow((x, y, width, height) => {
@@ -132,7 +125,6 @@ export const ChatListLegend = /*#__PURE__*/memo(({
132
125
  if (node) rowRefsMap.current.set(messageId, node);else rowRefsMap.current.delete(messageId);
133
126
  },
134
127
  style: isOutgoing ? messageStyles.messageRowRight : messageStyles.messageRowLeft,
135
- onLayout: e => handleItemLayout(messageId, e.nativeEvent.layout.height),
136
128
  children: [/*#__PURE__*/_jsx(LegendChatMessage, {
137
129
  message: message,
138
130
  isOutgoing: isOutgoing,
@@ -159,17 +151,21 @@ export const ChatListLegend = /*#__PURE__*/memo(({
159
151
  })
160
152
  });
161
153
  }
162
- }, [currentUserId, lastMessageId, messageDataMap, isBotConversation, onMediaPress, onPressUrl, onLongPress, handleMessageLongPress, customMessageItemFactory, onResetFlow, onRunFlow, conversationFlow?.flowCurrentStep, handleItemLayout, retryMessage]);
163
- const maintainScrollConfig = useMemo(() => ({
164
- animated: false,
165
- on: {
166
- dataChange: !moreOldLoading,
167
- layout: !moreOldLoading,
168
- // Must be disabled while prepending older history; otherwise re-measuring
169
- // the freshly prepended items snaps the list back to the bottom.
170
- itemLayout: !moreOldLoading
171
- }
172
- }), [moreOldLoading]);
154
+ }, [currentUserId, lastMessageId, messageDataMap, isBotConversation, onMediaPress, onPressUrl, onLongPress, handleMessageLongPress, customMessageItemFactory, onResetFlow, onRunFlow, conversationFlow?.flowCurrentStep, retryMessage]);
155
+
156
+ // const maintainScrollConfig = useMemo(
157
+ // () => ({
158
+ // animated: false,
159
+ // on: {
160
+ // dataChange: !moreOldLoading,
161
+ // layout: !moreOldLoading,
162
+ // // Must be disabled while prepending older history; otherwise re-measuring
163
+ // // the freshly prepended items snaps the list back to the bottom.
164
+ // itemLayout: !moreOldLoading,
165
+ // },
166
+ // }),
167
+ // [moreOldLoading]
168
+ // );
173
169
 
174
170
  // Stable config so the native maintainVisibleContentPosition prop isn't toggled
175
171
  // mid-prepend (toggling forces an extra layout recompute). `data` anchoring keeps
@@ -177,6 +173,66 @@ export const ChatListLegend = /*#__PURE__*/memo(({
177
173
  const maintainVisiblePositionConfig = useMemo(() => ({
178
174
  data: true
179
175
  }), []);
176
+
177
+ // Buckets averaging (`averageSizes[itemType]`, internal to LegendList) per
178
+ // content type, so a batch of images landing early doesn't pollute the
179
+ // estimate used for still-unmeasured text rows and vice versa. Items
180
+ // rendered via `customMessageItemFactory` (host apps can override ANY
181
+ // content type with an arbitrary custom node — see `LegendChatMessage`'s
182
+ // `customNode` short-circuit, checked before its own contentType switch)
183
+ // get their own bucket per content type, so a custom node's real measured
184
+ // height never pollutes the native component's average for that same type.
185
+ const getItemType = useCallback(item => {
186
+ const isCustom = !!customMessageItemFactory?.(item);
187
+ return `${item?.contentType ?? 'default'}${isCustom ? '-custom' : ''}`;
188
+ }, [customMessageItemFactory]);
189
+
190
+ // Exact size for content types that are knowable ahead of render — see
191
+ // `plans/260728-1400-chatlist-legend-fixed-item-size/plan.md`. Returns
192
+ // `undefined` (defer to dynamic measurement) for anything whose size can't
193
+ // be predicted, AND for any item carrying extra chrome this function
194
+ // doesn't account for (day-divider above it, trailing flow-input-buttons
195
+ // row) — `getFixedItemSize` describes the ENTIRE item LegendList renders,
196
+ // and once it resolves a number that item is never measured again, so
197
+ // guessing wrong here is a permanent regression, not just an approximation.
198
+ const getFixedItemSize = useCallback((item, index) => {
199
+ const message = item;
200
+ const messageId = message.clientMsgID || message.serverMsgID || `temp-${message.sendTime || message.createTime}-${index}`;
201
+ if (messageDataMap.get(messageId)?.dayStart) return undefined;
202
+
203
+ // Resolve the content-type candidate FIRST — for every type other
204
+ // than these three the result is `undefined` regardless of anything
205
+ // else, so bail before paying for a `customMessageItemFactory` call
206
+ // (text/quote/link/file/merge/revoke are the overwhelming majority of
207
+ // messages in a real chat — skip the extra call for all of them).
208
+ let candidateSize;
209
+ switch (message.contentType) {
210
+ case MessageType.PictureMessage:
211
+ candidateSize = resolveImageDisplayDims(message, windowWidth).height + ROW_MARGIN_BOTTOM;
212
+ break;
213
+ case MessageType.VideoMessage:
214
+ candidateSize = ChatImageDimens.getDimensions(CHAT_IMAGE_VIEW_SOURCE.MessageListThumbnail).height + ROW_MARGIN_BOTTOM;
215
+ break;
216
+ case MessageType.StickerMessage:
217
+ candidateSize = STICKER_SIZE + ROW_MARGIN_BOTTOM;
218
+ break;
219
+ default:
220
+ return undefined;
221
+ }
222
+
223
+ // `customMessageItemFactory` can override rendering for ANY content
224
+ // type with an arbitrary node (`LegendChatMessage` checks it first,
225
+ // before its own contentType switch) — its real height is unknowable
226
+ // here, so defer to dynamic measurement when it intercepts. Only
227
+ // checked once we know this item would otherwise be fixed-sizeable.
228
+ if (customMessageItemFactory?.(message)) return undefined;
229
+ const isOutgoing = message.sendID === currentUserId;
230
+ const isLastIncoming = !isOutgoing && messageId === lastMessageId;
231
+ if (isLastIncoming && isBotConversation && getFlowInputButtonsNode(conversationFlow?.flowCurrentStep)) {
232
+ return undefined;
233
+ }
234
+ return candidateSize;
235
+ }, [messageDataMap, customMessageItemFactory, currentUserId, lastMessageId, isBotConversation, conversationFlow?.flowCurrentStep, windowWidth]);
180
236
  const handleStartReached = useCallback(() => {
181
237
  if (__DEV__) {
182
238
  console.log('[LegendList] onStartReached triggered', {
@@ -238,15 +294,12 @@ export const ChatListLegend = /*#__PURE__*/memo(({
238
294
  pointerEvents: buttonOpacity.value === 0 ? 'none' : 'auto'
239
295
  }));
240
296
 
241
- // Cleanup debounce timeouts on unmount
297
+ // Cleanup debounce timeout on unmount
242
298
  useEffect(() => {
243
299
  return () => {
244
300
  if (scrollDebounceRef.current) {
245
301
  clearTimeout(scrollDebounceRef.current);
246
302
  }
247
- if (heightDebounceRef.current) {
248
- clearTimeout(heightDebounceRef.current);
249
- }
250
303
  };
251
304
  }, []);
252
305
  useEffect(() => {
@@ -303,13 +356,15 @@ export const ChatListLegend = /*#__PURE__*/memo(({
303
356
  ref: listRef,
304
357
  data: messages,
305
358
  renderItem: renderItem,
306
- estimatedItemSize: avgItemHeightRef.current,
359
+ estimatedItemSize: 100,
360
+ getItemType: getItemType,
361
+ getFixedItemSize: getFixedItemSize,
307
362
  keyExtractor: item => String(item.clientMsgID || item.serverMsgID),
308
363
  recycleItems: false,
309
364
  extraData: `${conversationFlow?.flowCurrentStep?.id ?? ''}-${lastMessageId ?? ''}`,
310
365
  alignItemsAtEnd: true,
311
366
  maintainVisibleContentPosition: maintainVisiblePositionConfig,
312
- maintainScrollAtEnd: maintainScrollConfig,
367
+ maintainScrollAtEnd: true,
313
368
  freeze: freeze,
314
369
  keyboardOffset: keyboardOffset,
315
370
  scrollEventThrottle: 16,
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useCallback","useMemo","useEffect","useRef","useState","DeviceEventEmitter","StyleSheet","Animated","useSharedValue","useAnimatedStyle","withSpring","KeyboardAwareLegendList","KContainer","KColors","KSpacingValue","KLabel","precomputeLegendListData","LegendChatMessage","LegendChatDay","LegendChatLoadEarlier","useChatDetailContext","getFlowInputButtonsNode","InputButtonFlow","useResetFlow","useRunFlow","useSendMessage","ChatEvent","useMessageStore","useChatContext","messageStyles","useUserStore","ChatMessageAPI","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ChatListLegend","messages","conversationId","customMessageItemFactory","onLoadMoreOld","moreOldLoading","hasMoreOld","onLoadMoreNew","moreNewLoading","hasMoreNew","onMediaPress","onPressUrl","onLongPress","listRef","freeze","scrollMessageToEnd","keyboardOffset","currentUserId","s","user","userID","messageDataMap","isBotConversation","conversationFlow","retryMessage","lastMessageId","last","length","clientMsgID","serverMsgID","mutate","runFlow","resetFlow","buttonOpacity","isAtBottomRef","scrollDebounceRef","undefined","itemHeightsRef","Map","avgItemHeightRef","heightDebounceRef","rowRefsMap","showBadge","setShowBadge","applicationType","searchMessages","handleItemLayout","messageId","height","current","set","clearTimeout","setTimeout","size","total","Array","from","values","reduce","a","b","Math","round","handleMessageLongPress","message","node","get","measureInWindow","x","y","width","onRunFlow","payload","onResetFlow","renderItem","item","index","isOutgoing","sendID","isLastIncoming","sendTime","createTime","messageData","dayStart","createdAt","flowInputButtonsNode","flowCurrentStep","children","View","ref","delete","style","messageRowRight","messageRowLeft","onLayout","e","nativeEvent","layout","createdAtTime","onRetry","nodeData","error","__DEV__","console","styles","errorRow","Text","typo","maintainScrollConfig","animated","on","dataChange","itemLayout","maintainVisiblePositionConfig","data","handleStartReached","log","willLoad","handleEndReached","handleScroll","contentOffset","contentSize","layoutMeasurement","isAtBottom","value","duration","markConversationAsRead","handleScrollToBottom","closeKeyboard","animatedButtonStyle","opacity","pointerEvents","bottomSubscription","addListener","ScrollToBottom","subscription","ScrollToMessage","clientMessageId","findIndex","m","scrollToIndex","viewPosition","startClientMsgId","remove","flex","background","white","container","estimatedItemSize","keyExtractor","String","recycleItems","extraData","id","alignItemsAtEnd","maintainVisibleContentPosition","maintainScrollAtEnd","scrollEventThrottle","onScroll","contentContainerStyle","content","scrollIndicatorInsets","right","ListHeaderComponent","isLoading","onStartReached","onStartReachedThreshold","onEndReached","onEndReachedThreshold","showsVerticalScrollIndicator","initialScrollAtEnd","scrollToBottomButton","Touchable","onPress","activeOpacity","buttonInner","accessible","accessibilityLabel","accessibilityRole","scrollToBottomText","badge","displayName","create","position","paddingVertical","flexGrow","bottom","zIndex","borderRadius","backgroundColor","justifyContent","alignItems","shadowColor","black","shadowOffset","shadowOpacity","shadowRadius","elevation","fontSize","fontWeight","color","palette","primary","w400","padding","top","borderWidth","borderColor"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatListLegend.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useCallback","useMemo","useEffect","useRef","useState","DeviceEventEmitter","StyleSheet","useWindowDimensions","Animated","useSharedValue","useAnimatedStyle","withSpring","KeyboardAwareLegendList","KContainer","KColors","KSpacingValue","KLabel","precomputeLegendListData","LegendChatMessage","LegendChatDay","LegendChatLoadEarlier","useChatDetailContext","getFlowInputButtonsNode","InputButtonFlow","useResetFlow","useRunFlow","useSendMessage","ChatEvent","useMessageStore","useChatContext","messageStyles","MessageType","useUserStore","ChatMessageAPI","resolveImageDisplayDims","STICKER_SIZE","ChatImageDimens","CHAT_IMAGE_VIEW_SOURCE","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ROW_MARGIN_BOTTOM","ChatListLegend","messages","conversationId","customMessageItemFactory","onLoadMoreOld","moreOldLoading","hasMoreOld","onLoadMoreNew","moreNewLoading","hasMoreNew","onMediaPress","onPressUrl","onLongPress","listRef","freeze","scrollMessageToEnd","keyboardOffset","currentUserId","s","user","userID","windowWidth","width","messageDataMap","isBotConversation","conversationFlow","retryMessage","lastMessageId","last","length","clientMsgID","serverMsgID","mutate","runFlow","resetFlow","buttonOpacity","isAtBottomRef","scrollDebounceRef","undefined","rowRefsMap","Map","showBadge","setShowBadge","applicationType","searchMessages","handleMessageLongPress","messageId","message","node","current","get","measureInWindow","x","y","height","onRunFlow","payload","onResetFlow","renderItem","item","index","isOutgoing","sendID","isLastIncoming","sendTime","createTime","messageData","dayStart","createdAt","flowInputButtonsNode","flowCurrentStep","children","View","ref","set","delete","style","messageRowRight","messageRowLeft","createdAtTime","onRetry","nodeData","error","__DEV__","console","styles","errorRow","Text","typo","maintainVisiblePositionConfig","data","getItemType","isCustom","contentType","getFixedItemSize","candidateSize","PictureMessage","VideoMessage","getDimensions","MessageListThumbnail","StickerMessage","handleStartReached","log","willLoad","handleEndReached","handleScroll","e","contentOffset","contentSize","layoutMeasurement","nativeEvent","isAtBottom","clearTimeout","setTimeout","value","duration","markConversationAsRead","handleScrollToBottom","animated","closeKeyboard","animatedButtonStyle","opacity","pointerEvents","bottomSubscription","addListener","ScrollToBottom","subscription","ScrollToMessage","clientMessageId","findIndex","m","scrollToIndex","viewPosition","startClientMsgId","remove","flex","background","white","container","estimatedItemSize","keyExtractor","String","recycleItems","extraData","id","alignItemsAtEnd","maintainVisibleContentPosition","maintainScrollAtEnd","scrollEventThrottle","onScroll","contentContainerStyle","content","scrollIndicatorInsets","right","ListHeaderComponent","isLoading","onStartReached","onStartReachedThreshold","onEndReached","onEndReachedThreshold","showsVerticalScrollIndicator","initialScrollAtEnd","scrollToBottomButton","Touchable","onPress","activeOpacity","buttonInner","accessible","accessibilityLabel","accessibilityRole","scrollToBottomText","badge","displayName","create","position","paddingVertical","flexGrow","bottom","zIndex","borderRadius","backgroundColor","justifyContent","alignItems","shadowColor","black","shadowOffset","shadowOpacity","shadowRadius","elevation","fontSize","fontWeight","color","palette","primary","w400","padding","top","borderWidth","borderColor"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatListLegend.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,15 @@
1
1
  import type { BaseLegendMessageProps } from '../types';
2
+ /**
3
+ * Single source of truth for "what size will `ImageMessage` render this
4
+ * message at" — used both by the component itself and by
5
+ * `ChatListLegend`'s `getFixedItemSize` (must predict the exact same size the
6
+ * component ends up rendering, or the list permanently reserves the wrong
7
+ * height for it). Mirrors the component's own metaWidth/metaHeight → cache →
8
+ * `DEFAULT_DIMS` fallback chain exactly.
9
+ */
10
+ export declare const resolveImageDisplayDims: (message: unknown, windowWidth: number) => {
11
+ width: number;
12
+ height: number;
13
+ };
2
14
  export declare const ImageMessage: import("react").MemoExoticComponent<({ message, onMediaPress }: BaseLegendMessageProps) => import("react").JSX.Element>;
3
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/imageMessage/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAgCvD,eAAO,MAAM,YAAY,kEACK,sBAAsB,iCAyFnD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/imageMessage/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAgCvD;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,OAAO,EAChB,aAAa,MAAM,KAClB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAuBjC,CAAC;AAEF,eAAO,MAAM,YAAY,kEACK,sBAAsB,iCAkFnD,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import type { BaseLegendMessageProps } from '../types';
2
+ export declare const STICKER_SIZE = 120;
2
3
  export declare const StickerMessage: import("react").MemoExoticComponent<({ message }: BaseLegendMessageProps) => import("react").JSX.Element>;
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/stickerMessage/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAKvD,eAAO,MAAM,cAAc,oDAAsB,sBAAsB,iCAUrE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/stickerMessage/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAIvD,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,cAAc,oDAAsB,sBAAsB,iCAUrE,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { ChatInfoProps } from './types';
2
- declare const ChatInfo: import("react").MemoExoticComponent<({ targetConversationId, targetUserId, targetGroupId, targetBotId, onBack, onPressSearch, onPressMedia, onPressOrders, onPressCreateGroup, onPressAddToGroup, }: ChatInfoProps) => import("react").JSX.Element>;
2
+ declare const ChatInfo: import("react").MemoExoticComponent<({ conversationId, onBack, onPressSearch, onPressMedia, onPressOrders, onPressCreateGroup, onPressAddToGroup, }: ChatInfoProps) => import("react").JSX.Element>;
3
3
  export default ChatInfo;
4
4
  //# sourceMappingURL=ChatInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInfo.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfo.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,QAAA,MAAM,QAAQ,uMAYT,aAAa,iCA8CjB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"ChatInfo.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfo.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,QAAA,MAAM,QAAQ,uJAST,aAAa,iCAsCjB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import { type ConversationItem } from '@droppii/openim-rn-client-sdk';
2
2
  interface ChatInfoProfileProps {
3
3
  conversation?: ConversationItem;
4
- targetUserId?: string;
5
4
  onPressSearch?: () => void;
6
5
  }
7
- declare const ChatInfoProfile: import("react").MemoExoticComponent<({ conversation, targetUserId, onPressSearch }: ChatInfoProfileProps) => import("react").JSX.Element>;
6
+ declare const ChatInfoProfile: import("react").MemoExoticComponent<({ conversation, onPressSearch }: ChatInfoProfileProps) => import("react").JSX.Element>;
8
7
  export default ChatInfoProfile;
9
8
  //# sourceMappingURL=ChatInfoProfile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInfoProfile.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfoProfile.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,+BAA+B,CAAC;AAqCvC,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,QAAA,MAAM,eAAe,sFAC6B,oBAAoB,iCAwFrE,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"ChatInfoProfile.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfoProfile.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,+BAA+B,CAAC;AAwCvC,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,QAAA,MAAM,eAAe,wEACe,oBAAoB,iCAoFvD,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,9 +1,6 @@
1
1
  import type { DThreadResourceContentType } from '../../types/chat';
2
2
  export interface ChatInfoProps {
3
- targetConversationId?: string;
4
- targetUserId?: string;
5
- targetGroupId?: string;
6
- targetBotId?: string;
3
+ conversationId?: string;
7
4
  onBack?: () => void;
8
5
  onPressSearch?: () => void;
9
6
  onPressMedia?: (tab: DThreadResourceContentType) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACzD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACzD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/screens/MediaView/index.tsx"],"names":[],"mappings":"AA0CA,UAAU,iBAAiB;IACzB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,QAAA,MAAM,iBAAiB,GAAI,OAAO,iBAAiB,gCA+OlD,CAAC;AAIF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/screens/MediaView/index.tsx"],"names":[],"mappings":"AA2CA,UAAU,iBAAiB;IACzB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,QAAA,MAAM,iBAAiB,GAAI,OAAO,iBAAiB,gCAkPlD,CAAC;AAIF,eAAe,iBAAiB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { ChatDetailProps } from './types';
2
- declare const ChatDetail: import("react").MemoExoticComponent<({ targetConversationId, targetUserId, targetGroupId, targetBotId, showAddMember, onBack, onPressSearch, onPressAddMember, onPressMenu, onPressAvatar, onPressUrl, customMessageItemFactory, pannelActions, }: ChatDetailProps) => import("react").JSX.Element>;
2
+ declare const ChatDetail: import("react").MemoExoticComponent<({ targetConversationId, targetUserId, targetGroupId, targetBotId, showAddMember, onBack, onPressSearch, onPressAddMember, onPressMenu, onPressUrl, customMessageItemFactory, pannelActions, }: ChatDetailProps) => import("react").JSX.Element>;
3
3
  export default ChatDetail;
4
4
  //# sourceMappingURL=ChatDetail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatDetail.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetail.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAa/C,QAAA,MAAM,UAAU,qPAeX,eAAe,iCA2JnB,CAAC;AAIF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ChatDetail.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetail.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAa/C,QAAA,MAAM,UAAU,sOAcX,eAAe,iCA+JnB,CAAC;AAIF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatListLegend.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatListLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAiB,EAIf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAkB7C,UAAU,2BAA4B,SAAQ,aAAa;IACzD,OAAO,EAAE,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACzC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,kBAAkB,EAAE,CAAC,IAAI,EAAE;QACzB,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,OAAO,CAAC;KACxB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,cAAc,kRAkBtB,2BAA2B,iCAgY/B,CAAC"}
1
+ {"version":3,"file":"ChatListLegend.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatListLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAOf,OAAiB,EAIf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA6B7C,UAAU,2BAA4B,SAAQ,aAAa;IACzD,OAAO,EAAE,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACzC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,kBAAkB,EAAE,CAAC,IAAI,EAAE;QACzB,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,OAAO,CAAC;KACxB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,cAAc,kRAkBtB,2BAA2B,iCA0b/B,CAAC"}
@@ -36,7 +36,7 @@ export interface ChatDetailHeaderProps {
36
36
  onBack?: () => void;
37
37
  onPressSearch?: () => void;
38
38
  onPressAddMember?: () => void;
39
- onPressMenu?: () => void;
39
+ onPressMenu?: (conversationId?: string) => void;
40
40
  onPressAvatar?: () => void;
41
41
  conversationId: string;
42
42
  targetUserId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,GAAG,YAAY,CAAC;AAE9E,oBAAY,yBAAyB;IACnC,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,wBAAwB;IAClC,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,wBAAwB,GAAG,yBAAyB,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,EAAE,EAAE,wBAAwB,CAAC;CAC9B;AACD,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,EAAE,EAAE,yBAAyB,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,aAAa,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACnD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC;IAC5E,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,SAAS,CAAC;CAC1E;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC;IAC5D,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;CAClE;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,qBAAqB,EACrB,eAAe,GAAG,gBAAgB,CACnC;IACC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC;IAC5D,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACrC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@droppii-org/chat-mobile",
3
- "version": "0.2.54",
3
+ "version": "0.2.56",
4
4
  "description": "Droppii chat mobile",
5
5
  "keywords": [
6
6
  "react-native",
@@ -35,6 +35,42 @@ const calcDisplayDims = (
35
35
  return { width: Math.round(finalWidth), height: Math.round(finalHeight) };
36
36
  };
37
37
 
38
+ /**
39
+ * Single source of truth for "what size will `ImageMessage` render this
40
+ * message at" — used both by the component itself and by
41
+ * `ChatListLegend`'s `getFixedItemSize` (must predict the exact same size the
42
+ * component ends up rendering, or the list permanently reserves the wrong
43
+ * height for it). Mirrors the component's own metaWidth/metaHeight → cache →
44
+ * `DEFAULT_DIMS` fallback chain exactly.
45
+ */
46
+ export const resolveImageDisplayDims = (
47
+ message: unknown,
48
+ windowWidth: number
49
+ ): { width: number; height: number } => {
50
+ const pictureElem = (message as any)?.pictureElem;
51
+ const rawImageUrl =
52
+ pictureElem?.snapshotPicture?.url ||
53
+ pictureElem?.bigPicture?.url ||
54
+ pictureElem?.sourcePicture?.url;
55
+ if (!rawImageUrl) return DEFAULT_DIMS;
56
+
57
+ const metaWidth =
58
+ pictureElem?.bigPicture?.width ||
59
+ pictureElem?.snapshotPicture?.width ||
60
+ pictureElem?.width;
61
+ const metaHeight =
62
+ pictureElem?.bigPicture?.height ||
63
+ pictureElem?.snapshotPicture?.height ||
64
+ pictureElem?.height;
65
+
66
+ const cachedDims = dimsCache.get(rawImageUrl);
67
+ const srcWidth = metaWidth || cachedDims?.width;
68
+ const srcHeight = metaHeight || cachedDims?.height;
69
+ if (!srcWidth || !srcHeight) return DEFAULT_DIMS;
70
+
71
+ return calcDisplayDims(srcWidth, srcHeight, windowWidth);
72
+ };
73
+
38
74
  export const ImageMessage = memo(
39
75
  ({ message, onMediaPress }: BaseLegendMessageProps) => {
40
76
  const windowWidth = useWindowDimensions().width;
@@ -54,22 +90,16 @@ export const ImageMessage = memo(
54
90
  pictureElem?.snapshotPicture?.height ||
55
91
  pictureElem?.height;
56
92
 
57
- // Fallback dims from onLoad when metadata is missing (zero extra request)
58
- const cachedDims = rawImageUrl
59
- ? (dimsCache.get(rawImageUrl) ?? null)
60
- : null;
61
- const [loadedDims, setLoadedDims] = useState<{
62
- width: number;
63
- height: number;
64
- } | null>(cachedDims);
65
-
66
- const imageDimensions = useMemo(() => {
67
- if (!rawImageUrl) return DEFAULT_DIMS;
68
- const srcWidth = metaWidth || loadedDims?.width;
69
- const srcHeight = metaHeight || loadedDims?.height;
70
- if (!srcWidth || !srcHeight) return DEFAULT_DIMS;
71
- return calcDisplayDims(srcWidth, srcHeight, windowWidth);
72
- }, [metaWidth, metaHeight, loadedDims, rawImageUrl, windowWidth]);
93
+ // Bumped after `onLoad` caches real dims `resolveImageDisplayDims` reads
94
+ // the shared module-level cache fresh each call, so this state's only job
95
+ // is to force `imageDimensions` to recompute once that cache is populated.
96
+ const [loadDimsVersion, setLoadDimsVersion] = useState(0);
97
+
98
+ const imageDimensions = useMemo(
99
+ () => resolveImageDisplayDims(message, windowWidth),
100
+ // eslint-disable-next-line react-hooks/exhaustive-deps
101
+ [message, windowWidth, loadDimsVersion]
102
+ );
73
103
 
74
104
  const handleLoad = useCallback(
75
105
  (e: any) => {
@@ -77,9 +107,8 @@ export const ImageMessage = memo(
77
107
  if (!metaWidth || !metaHeight) {
78
108
  const { width, height } = e?.nativeEvent ?? {};
79
109
  if (width && height) {
80
- const dims = { width, height };
81
- if (rawImageUrl) cacheDims(rawImageUrl, dims);
82
- setLoadedDims(dims);
110
+ if (rawImageUrl) cacheDims(rawImageUrl, { width, height });
111
+ setLoadDimsVersion((v) => v + 1);
83
112
  }
84
113
  }
85
114
  },
@@ -3,7 +3,7 @@ import type { BaseLegendMessageProps } from '../types';
3
3
  import { KContainer, KImage } from '@droppii/libs';
4
4
  import { StyleSheet } from 'react-native';
5
5
 
6
- const STICKER_SIZE = 120;
6
+ export const STICKER_SIZE = 120;
7
7
  export const StickerMessage = memo(({ message }: BaseLegendMessageProps) => {
8
8
  return (
9
9
  <KContainer.View style={styles.message}>
@@ -1,10 +1,7 @@
1
1
  import { memo } from 'react';
2
2
  import { KContainer, KNavigation } from '@droppii/libs';
3
3
  import { useNavigation } from '@react-navigation/native';
4
- import {
5
- useGetConversationDetail,
6
- useGetConversationTarget,
7
- } from '../../hooks/conversation/useGetConversationDetail';
4
+ import { useGetConversationTarget } from '../../hooks/conversation/useGetConversationDetail';
8
5
  import { useConversation } from '../../store';
9
6
  import ChatInfoProfile from './ChatInfoProfile';
10
7
  import ChatInfoMediaRow from './ChatInfoMediaRow';
@@ -14,10 +11,7 @@ import { trans } from '../../translation';
14
11
 
15
12
  const ChatInfo = memo(
16
13
  ({
17
- targetConversationId = '',
18
- targetUserId = '',
19
- targetGroupId = '',
20
- targetBotId = '',
14
+ conversationId = '',
21
15
  onBack,
22
16
  onPressSearch,
23
17
  onPressMedia,
@@ -27,13 +21,6 @@ const ChatInfo = memo(
27
21
  }: ChatInfoProps) => {
28
22
  const navigation = useNavigation();
29
23
 
30
- const { conversationId } = useGetConversationDetail({
31
- targetConversationId,
32
- targetUserId,
33
- targetGroupId,
34
- targetBotId,
35
- });
36
-
37
24
  const conversation = useConversation(conversationId);
38
25
  const { data: target } = useGetConversationTarget(conversationId);
39
26
  const isTargetActive = target ? target.isActive : true;
@@ -55,7 +42,6 @@ const ChatInfo = memo(
55
42
  <KContainer.ScrollView showsVerticalScrollIndicator={false}>
56
43
  <ChatInfoProfile
57
44
  conversation={conversation}
58
- targetUserId={targetUserId}
59
45
  onPressSearch={onPressSearch}
60
46
  />
61
47
  <ChatInfoMediaRow onPressMedia={onPressMedia} />