@droppii-org/chat-mobile 0.2.89 → 0.2.90
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.
- package/lib/module/screens/chat-detail/ChatListLegend.js +93 -123
- package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
- package/lib/module/screens/chat-detail/PinnedMessagesSheet.js +4 -1
- package/lib/module/screens/chat-detail/PinnedMessagesSheet.js.map +1 -1
- package/lib/module/screens/chat-detail/PinnedMessagesSheetBackup.js +3 -1
- package/lib/module/screens/chat-detail/PinnedMessagesSheetBackup.js.map +1 -1
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +5 -4
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -1
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxOverlay.js +1 -0
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxOverlay.js.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/PinnedMessagesSheet.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/PinnedMessagesSheetBackup.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts +5 -3
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxOverlay.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/screens/chat-detail/ChatListLegend.tsx +94 -156
- package/src/screens/chat-detail/PinnedMessagesSheet.tsx +6 -1
- package/src/screens/chat-detail/PinnedMessagesSheetBackup.tsx +3 -1
- package/src/screens/chat-detail/legend/LegendChatMessage.tsx +9 -6
- package/src/screens/chat-detail/messageToolbox/MessageToolboxOverlay.tsx +1 -0
|
@@ -35,14 +35,15 @@ import ChatImageDimens, { CHAT_IMAGE_VIEW_SOURCE } from "../../utils/chatImageDi
|
|
|
35
35
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
36
36
|
const ROW_MARGIN_CLUSTER_END = KSpacingValue['0.5rem'];
|
|
37
37
|
const ROW_MARGIN_IN_CLUSTER = KSpacingValue['0.25rem'];
|
|
38
|
-
|
|
39
|
-
// Tags every __DEV__ diagnostic log below with the platform, so logs from an
|
|
40
|
-
// iOS and an Android run can be told apart when compared side by side.
|
|
41
|
-
const LOG_TAG = `[ChatListLegend:${Platform.OS}]`;
|
|
42
38
|
const BUTTON_FADE_CONFIG = {
|
|
43
39
|
duration: 200,
|
|
44
40
|
easing: Easing.out(Easing.ease)
|
|
45
41
|
};
|
|
42
|
+
|
|
43
|
+
// Long enough to swallow Android's willShow→willHide→willShow flapping
|
|
44
|
+
// (~1.3s period, measured), short enough that a real keyboard close still
|
|
45
|
+
// settles within one animation.
|
|
46
|
+
const KEYBOARD_HIDE_DEBOUNCE_MS = 300;
|
|
46
47
|
const getRowMarginBottom = position => position === 'last' || position === 'solo' ? ROW_MARGIN_CLUSTER_END : ROW_MARGIN_IN_CLUSTER;
|
|
47
48
|
export const ChatListLegend = /*#__PURE__*/memo(({
|
|
48
49
|
messages = [],
|
|
@@ -85,16 +86,6 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
85
86
|
const last = messages[messages.length - 1];
|
|
86
87
|
return last?.clientMsgID || last?.serverMsgID || null;
|
|
87
88
|
}, [messages]);
|
|
88
|
-
// Stopgap for the keyboard-open blank-gap bug (unresolved upstream —
|
|
89
|
-
// see project_chatlistlegend_scroll_debugging memory): below this
|
|
90
|
-
// threshold, disable `alignItemsAtEnd` and let plain CSS `flex-end`
|
|
91
|
-
// anchor short content to the bottom instead. Known trade-off (same
|
|
92
|
-
// memory, bug #17/#19): disabling `alignItemsAtEnd` removes the extra
|
|
93
|
-
// scrollable room `clampScrollOffset` needs, so sending a message while
|
|
94
|
-
// the keyboard is open on one of these same short conversations can
|
|
95
|
-
// land the new message away from the composer instead of scrolling to
|
|
96
|
-
// it — verify that scenario specifically after any change here.
|
|
97
|
-
const isVeryShortConversation = messages.length < 15;
|
|
98
89
|
const {
|
|
99
90
|
mutate: runFlow
|
|
100
91
|
} = useRunFlow();
|
|
@@ -104,15 +95,10 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
104
95
|
const buttonOpacity = useSharedValue(0);
|
|
105
96
|
const isAtBottomRef = useRef(true);
|
|
106
97
|
const scrollDebounceRef = useRef(undefined);
|
|
107
|
-
//
|
|
108
|
-
//
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
// `handleScroll` below to auto-detect the known issue where that native
|
|
112
|
-
// inset silently fails to apply (confirmed via manual trace: contentOffset
|
|
113
|
-
// scrolls correctly but contentInset stays {bottom:0} on this RN/Reanimated/
|
|
114
|
-
// Old-Architecture combo, leaving a blank gap past the real content end).
|
|
115
|
-
const expectedKeyboardInsetRef = useRef(0);
|
|
98
|
+
// Current keyboard height, and the trigger for the re-anchor effect
|
|
99
|
+
// below — see the keyboard listener for how each platform uses it.
|
|
100
|
+
const [keyboardInset, setKeyboardInset] = useState(0);
|
|
101
|
+
const hasSeenFirstKeyboardInsetRef = useRef(false);
|
|
116
102
|
const rowRefsMap = useRef(new Map());
|
|
117
103
|
// Set on a real touch-drag (`onScrollBeginDrag`), before onStartReached/
|
|
118
104
|
// onEndReached's threshold could fire. `onMomentumScrollBegin` was tried
|
|
@@ -212,13 +198,14 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
212
198
|
collapsable: false,
|
|
213
199
|
children: /*#__PURE__*/_jsx(LegendChatMessage, {
|
|
214
200
|
message: message,
|
|
201
|
+
messageId: messageId,
|
|
215
202
|
isOutgoing: isOutgoing,
|
|
216
203
|
createdAtTime: createdAt,
|
|
217
204
|
onMediaPress: onMediaPress,
|
|
218
205
|
onPressUrl: onPressUrl,
|
|
219
206
|
onRetry: retryMessage,
|
|
220
|
-
onPress:
|
|
221
|
-
onLongPress: onLongPress ?
|
|
207
|
+
onPress: handleMessagePress,
|
|
208
|
+
onLongPress: onLongPress ? handleMessageLongPress : undefined,
|
|
222
209
|
customMessageItemFactory: customMessageItemFactory,
|
|
223
210
|
isHighlighted: highlightedId === messageId,
|
|
224
211
|
isTimeRevealed: revealedMessageId === messageId,
|
|
@@ -335,44 +322,20 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
335
322
|
revealedMessageId
|
|
336
323
|
}), [messageDataMap, conversationFlow?.flowCurrentStep?.id, lastMessageId, highlightedId, revealedMessageId]);
|
|
337
324
|
const handleStartReached = useCallback(() => {
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
hasMoreOld,
|
|
343
|
-
moreOldLoading: useMessageStore.getState().moreOldLoading
|
|
344
|
-
});
|
|
345
|
-
}
|
|
346
|
-
if (!hasUserScrolledRef.current) {
|
|
347
|
-
const wouldHaveLoaded = __DEV__ && hasMoreOld && !useMessageStore.getState().moreOldLoading;
|
|
348
|
-
if (wouldHaveLoaded) {
|
|
349
|
-
console.warn(`${LOG_TAG} onStartReached fired before user scroll — suppressed`, {
|
|
350
|
-
conversationId,
|
|
351
|
-
hasMoreOld
|
|
352
|
-
});
|
|
353
|
-
}
|
|
354
|
-
return;
|
|
355
|
-
}
|
|
325
|
+
// Both thresholds are checked continuously, including at mount before
|
|
326
|
+
// any gesture — `hasUserScrolledRef` is what keeps that from firing a
|
|
327
|
+
// load-more the user never asked for.
|
|
328
|
+
if (!hasUserScrolledRef.current) return;
|
|
356
329
|
if (hasMoreOld && !useMessageStore.getState().moreOldLoading) {
|
|
357
330
|
onLoadMoreOld?.(true);
|
|
358
331
|
}
|
|
359
|
-
}, [
|
|
332
|
+
}, [hasMoreOld, onLoadMoreOld]);
|
|
360
333
|
const handleEndReached = useCallback(() => {
|
|
361
|
-
if (!hasUserScrolledRef.current)
|
|
362
|
-
const wouldHaveLoaded = __DEV__ && hasMoreNew && !useMessageStore.getState().moreNewLoading;
|
|
363
|
-
if (wouldHaveLoaded) {
|
|
364
|
-
console.warn(`${LOG_TAG} onEndReached fired before user scroll — suppressed`, {
|
|
365
|
-
conversationId,
|
|
366
|
-
hasMoreNew
|
|
367
|
-
});
|
|
368
|
-
}
|
|
369
|
-
return;
|
|
370
|
-
}
|
|
334
|
+
if (!hasUserScrolledRef.current) return;
|
|
371
335
|
if (hasMoreNew && !useMessageStore.getState().moreNewLoading) {
|
|
372
|
-
if (__DEV__) console.log(`${LOG_TAG} handleEndReached`);
|
|
373
336
|
onLoadMoreNew?.(true);
|
|
374
337
|
}
|
|
375
|
-
}, [
|
|
338
|
+
}, [hasMoreNew, onLoadMoreNew]);
|
|
376
339
|
const handleScrollBeginDrag = useCallback(() => {
|
|
377
340
|
hasUserScrolledRef.current = true;
|
|
378
341
|
}, []);
|
|
@@ -380,30 +343,9 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
380
343
|
const {
|
|
381
344
|
contentOffset,
|
|
382
345
|
contentSize,
|
|
383
|
-
layoutMeasurement
|
|
384
|
-
contentInset
|
|
346
|
+
layoutMeasurement
|
|
385
347
|
} = e.nativeEvent;
|
|
386
348
|
const isAtBottom = contentOffset.y + layoutMeasurement.height >= contentSize.height - 100;
|
|
387
|
-
if (__DEV__) {
|
|
388
|
-
const expected = expectedKeyboardInsetRef.current;
|
|
389
|
-
const actual = contentInset?.bottom ?? 0;
|
|
390
|
-
// `contentInset` failing to apply is a constant, systemic mismatch
|
|
391
|
-
// (present regardless of conversation length) — but it only shows
|
|
392
|
-
// up as a visible gap once the scroll position has actually moved
|
|
393
|
-
// past the real end of content. Gate on that so the warning fires
|
|
394
|
-
// only when the bug is actually visible, not on every keyboard
|
|
395
|
-
// open in every conversation.
|
|
396
|
-
const scrolledPastRealContentEnd = contentOffset.y + layoutMeasurement.height > contentSize.height;
|
|
397
|
-
if (expected > 0 && Math.abs(actual - expected) > 5 && scrolledPastRealContentEnd) {
|
|
398
|
-
console.warn(`${LOG_TAG} keyboard contentInset mismatch — expected bottom inset ~${expected} (keyboard open) but native reports ${actual}, and scroll position is past the real content end. This reproduces the known "blank gap" issue: contentOffset scrolls correctly but contentInset silently fails to apply.`, {
|
|
399
|
-
expected,
|
|
400
|
-
actual,
|
|
401
|
-
contentOffsetY: contentOffset.y,
|
|
402
|
-
contentSizeHeight: contentSize.height,
|
|
403
|
-
layoutHeight: layoutMeasurement.height
|
|
404
|
-
});
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
349
|
|
|
408
350
|
// Debounce animation updates
|
|
409
351
|
if (scrollDebounceRef.current) {
|
|
@@ -451,23 +393,71 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
451
393
|
};
|
|
452
394
|
}, []);
|
|
453
395
|
|
|
454
|
-
//
|
|
455
|
-
// `
|
|
456
|
-
//
|
|
457
|
-
//
|
|
396
|
+
// Tracks the keyboard's height as the trigger for the re-anchor below.
|
|
397
|
+
// The `willHide` side is debounced because Android's event stream flaps
|
|
398
|
+
// willShow→willHide→willShow roughly every 1.3s for as long as the
|
|
399
|
+
// keyboard stays open (measured on device) — without this, every flap
|
|
400
|
+
// would fire another scroll. A real close still lands, just one tick
|
|
401
|
+
// later. Setting the same height twice is a no-op for the effect below,
|
|
402
|
+
// so a stable open only ever re-anchors once.
|
|
403
|
+
//
|
|
404
|
+
// JS-thread only (no worklet), so none of the reentrant-lock crash risk
|
|
405
|
+
// that reaching into `useKeyboardHandler`'s worklets carries.
|
|
458
406
|
useEffect(() => {
|
|
459
|
-
|
|
407
|
+
let pendingHide;
|
|
408
|
+
const clearPendingHide = () => {
|
|
409
|
+
if (pendingHide) {
|
|
410
|
+
clearTimeout(pendingHide);
|
|
411
|
+
pendingHide = undefined;
|
|
412
|
+
}
|
|
413
|
+
};
|
|
414
|
+
const applyInset = nextInset => {
|
|
415
|
+
// Android only: the bottom inset the library applies there is a
|
|
416
|
+
// synthetic prop that `onScroll` does not report (its own
|
|
417
|
+
// `ScrollViewWithBottomPadding` says as much), so LegendList never
|
|
418
|
+
// learns about it, `alignItemsAtEndPadding` never shrinks, and the
|
|
419
|
+
// re-anchor below has no room to scroll into. Reporting it closes
|
|
420
|
+
// that gap. iOS needs none of this — there the inset is real and
|
|
421
|
+
// arrives through `onScroll` on its own, and overriding it here
|
|
422
|
+
// would double-count.
|
|
423
|
+
if (Platform.OS === 'android') {
|
|
424
|
+
listRef.current?.reportContentInset(nextInset > 0 ? {
|
|
425
|
+
bottom: nextInset
|
|
426
|
+
} : null);
|
|
427
|
+
}
|
|
428
|
+
setKeyboardInset(nextInset);
|
|
429
|
+
};
|
|
460
430
|
const willShow = KeyboardEvents.addListener('keyboardWillShow', e => {
|
|
461
|
-
|
|
431
|
+
clearPendingHide();
|
|
432
|
+
applyInset(Math.max(e.height - keyboardOffset, 0));
|
|
462
433
|
});
|
|
463
434
|
const willHide = KeyboardEvents.addListener('keyboardWillHide', () => {
|
|
464
|
-
|
|
435
|
+
clearPendingHide();
|
|
436
|
+
pendingHide = setTimeout(() => applyInset(0), KEYBOARD_HIDE_DEBOUNCE_MS);
|
|
465
437
|
});
|
|
466
438
|
return () => {
|
|
439
|
+
clearPendingHide();
|
|
467
440
|
willShow.remove();
|
|
468
441
|
willHide.remove();
|
|
469
442
|
};
|
|
470
|
-
}, [keyboardOffset]);
|
|
443
|
+
}, [keyboardOffset, listRef]);
|
|
444
|
+
|
|
445
|
+
// Re-anchors to the end once the keyboard's inset has landed, which puts
|
|
446
|
+
// the last message at exactly the spacing the closed-keyboard layout has
|
|
447
|
+
// (verified on device against both a 7-message and a long conversation).
|
|
448
|
+
// Skipped when the user has scrolled away from the bottom — opening the
|
|
449
|
+
// keyboard shouldn't yank them back down.
|
|
450
|
+
useEffect(() => {
|
|
451
|
+
if (!hasSeenFirstKeyboardInsetRef.current) {
|
|
452
|
+
hasSeenFirstKeyboardInsetRef.current = true;
|
|
453
|
+
return;
|
|
454
|
+
}
|
|
455
|
+
if (!isAtBottomRef.current) return;
|
|
456
|
+
scrollMessageToEnd({
|
|
457
|
+
animated: true,
|
|
458
|
+
closeKeyboard: false
|
|
459
|
+
});
|
|
460
|
+
}, [keyboardInset, scrollMessageToEnd]);
|
|
471
461
|
|
|
472
462
|
// This component can stay mounted across a conversationId change (e.g.
|
|
473
463
|
// navigation.replace reusing the same screen instance), so this ref must
|
|
@@ -492,47 +482,20 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
492
482
|
// handleListLoad's job), not a new message; a real id → a different
|
|
493
483
|
// one is.
|
|
494
484
|
const shouldFire = previousLastMessageId !== null && !!lastMessageId && !moreOldLoadingRef.current && isAtBottomRef.current;
|
|
495
|
-
if (__DEV__) {
|
|
496
|
-
console.log(`${LOG_TAG} lastMessageId effect — ${shouldFire ? 'firing animated scroll' : 'skipped'}`, {
|
|
497
|
-
conversationId,
|
|
498
|
-
lastMessageId,
|
|
499
|
-
initialPopulation: previousLastMessageId === null,
|
|
500
|
-
moreOldLoading: moreOldLoadingRef.current,
|
|
501
|
-
isAtBottom: isAtBottomRef.current
|
|
502
|
-
});
|
|
503
|
-
}
|
|
504
485
|
if (!shouldFire) return;
|
|
505
486
|
scrollMessageToEnd({
|
|
506
487
|
animated: true,
|
|
507
488
|
closeKeyboard: false
|
|
508
489
|
});
|
|
509
|
-
}, [lastMessageId, scrollMessageToEnd
|
|
510
|
-
const handleListLoad = useCallback(
|
|
490
|
+
}, [lastMessageId, scrollMessageToEnd]);
|
|
491
|
+
const handleListLoad = useCallback(() => {
|
|
511
492
|
if (hasCorrectedInitialPaddingRef.current) return;
|
|
512
493
|
hasCorrectedInitialPaddingRef.current = true;
|
|
513
|
-
|
|
514
|
-
// Diagnostic: how long bootstrap + the flush below each take.
|
|
515
|
-
if (__DEV__) {
|
|
516
|
-
console.log(`${LOG_TAG} onLoad (bootstrap settle done)`, {
|
|
517
|
-
conversationId,
|
|
518
|
-
messagesLength: messages.length,
|
|
519
|
-
elapsedTimeInMs: info.elapsedTimeInMs
|
|
520
|
-
});
|
|
521
|
-
}
|
|
522
|
-
const startedAt = __DEV__ ? Date.now() : 0;
|
|
523
|
-
const flushPromise = scrollMessageToEnd({
|
|
494
|
+
scrollMessageToEnd({
|
|
524
495
|
animated: false,
|
|
525
496
|
closeKeyboard: false
|
|
526
497
|
});
|
|
527
|
-
|
|
528
|
-
flushPromise.then(() => {
|
|
529
|
-
console.log(`${LOG_TAG} handleListLoad flush resolved`, {
|
|
530
|
-
conversationId,
|
|
531
|
-
tookMs: Date.now() - startedAt
|
|
532
|
-
});
|
|
533
|
-
});
|
|
534
|
-
}
|
|
535
|
-
}, [scrollMessageToEnd, conversationId, messages.length]);
|
|
498
|
+
}, [scrollMessageToEnd]);
|
|
536
499
|
useEffect(() => {
|
|
537
500
|
const bottomSubscription = DeviceEventEmitter.addListener(ChatEvent.ScrollToBottom, handleScrollToBottom);
|
|
538
501
|
const subscription = DeviceEventEmitter.addListener(ChatEvent.ScrollToMessage, ({
|
|
@@ -600,7 +563,7 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
600
563
|
keyExtractor: item => String(item.clientMsgID || item.serverMsgID),
|
|
601
564
|
recycleItems: true,
|
|
602
565
|
extraData: listExtraData,
|
|
603
|
-
alignItemsAtEnd:
|
|
566
|
+
alignItemsAtEnd: true,
|
|
604
567
|
alwaysRender: {
|
|
605
568
|
top: 10
|
|
606
569
|
},
|
|
@@ -612,12 +575,22 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
612
575
|
,
|
|
613
576
|
drawDistance: 800,
|
|
614
577
|
freeze: freeze,
|
|
615
|
-
keyboardOffset: keyboardOffset
|
|
578
|
+
keyboardOffset: keyboardOffset
|
|
579
|
+
// The list's own keyboard compensation is off on both platforms —
|
|
580
|
+
// measured, it overshoots badly either way. On iOS it scrolls on
|
|
581
|
+
// top of React Native's `automaticallyAdjustContentInsets` (which
|
|
582
|
+
// already insets the scroll view by the full keyboard height), and
|
|
583
|
+
// that double lift is the blank gap. On Android it overshot by
|
|
584
|
+
// ~690px against a 128px target. What both platforms do keep from
|
|
585
|
+
// the library is the bottom inset it sets, which is the room the
|
|
586
|
+
// re-anchor above scrolls into.
|
|
587
|
+
,
|
|
588
|
+
keyboardLiftBehavior: "never",
|
|
616
589
|
scrollEventThrottle: 16,
|
|
617
590
|
onScroll: handleScroll,
|
|
618
591
|
onScrollBeginDrag: handleScrollBeginDrag,
|
|
619
592
|
onLoad: handleListLoad,
|
|
620
|
-
contentContainerStyle:
|
|
593
|
+
contentContainerStyle: styles.content,
|
|
621
594
|
scrollIndicatorInsets: {
|
|
622
595
|
right: 1
|
|
623
596
|
},
|
|
@@ -665,9 +638,6 @@ const styles = StyleSheet.create({
|
|
|
665
638
|
paddingVertical: KSpacingValue['0.75rem'],
|
|
666
639
|
flexGrow: 1
|
|
667
640
|
},
|
|
668
|
-
contentBottomAnchored: {
|
|
669
|
-
justifyContent: 'flex-end'
|
|
670
|
-
},
|
|
671
641
|
scrollToBottomButton: {
|
|
672
642
|
position: 'absolute',
|
|
673
643
|
bottom: 20,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","useMemo","useEffect","useRef","useState","ActivityIndicator","DeviceEventEmitter","Platform","StyleSheet","useWindowDimensions","Animated","useSharedValue","useAnimatedStyle","withTiming","Easing","KeyboardAwareLegendList","KeyboardEvents","KContainer","KColors","KSpacingValue","KLabel","KRadiusValue","KImage","precomputeLegendListData","getMessageRenderId","LegendChatMessage","LegendChatDay","LegendChatLoadEarlier","useChatDetailContext","getFlowInputButtonsNodes","InputButtonFlow","useResetFlow","useRunFlow","useSendMessage","ChatEvent","useMessageStore","useChatContext","messageStyles","MessageType","PeerType","useUserStore","ChatMessageAPI","resolveImageDisplayDims","ChatImageDimens","CHAT_IMAGE_VIEW_SOURCE","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ROW_MARGIN_CLUSTER_END","ROW_MARGIN_IN_CLUSTER","LOG_TAG","OS","BUTTON_FADE_CONFIG","duration","easing","out","ease","getRowMarginBottom","position","ChatListLegend","messages","conversationId","customMessageItemFactory","onLoadMoreOld","moreOldLoading","hasMoreOld","onLoadMoreNew","hasMoreNew","onMediaPress","onPressUrl","onLongPress","listRef","freeze","scrollMessageToEnd","keyboardOffset","isLoading","currentUserId","s","user","userID","windowWidth","width","isBotConversation","conversationFlow","conversation","isGroupConversation","peerType","Group","messageDataMap","retryMessage","lastMessageId","last","length","clientMsgID","serverMsgID","isVeryShortConversation","mutate","runFlow","resetFlow","buttonOpacity","isAtBottomRef","scrollDebounceRef","undefined","expectedKeyboardInsetRef","rowRefsMap","Map","hasUserScrolledRef","hasCorrectedInitialPaddingRef","previousLastMessageIdRef","moreOldLoadingRef","current","messagesRef","showBadge","setShowBadge","highlightedId","setHighlightedId","highlightTimerRef","revealedMessageId","setRevealedMessageId","applicationType","searchMessages","handleMessageLongPress","messageId","message","node","get","measureInWindow","x","y","height","onRunFlow","payload","onResetFlow","handleMessagePress","prev","renderItem","item","index","isOutgoing","sendID","isLastMessage","isLastIncoming","messageData","dayStart","timeBreak","createdAt","groupPosition","showSenderGutter","showName","showAvatar","flowInputButtonsNodes","havingBotMessage","flowCurrentStep","children","View","ref","set","delete","style","messageRowRight","messageRowLeft","marginBottom","collapsable","createdAtTime","onRetry","onPress","isHighlighted","isTimeRevealed","nodeData","error","__DEV__","console","styles","errorRow","Text","typo","maintainVisiblePositionConfig","data","getItemType","isCustom","contentType","getFixedItemSize","rowMargin","candidateSize","PictureMessage","VideoMessage","getDimensions","MessageListThumbnail","listExtraData","flowStepId","id","handleStartReached","log","hasUserScrolled","getState","wouldHaveLoaded","warn","handleEndReached","moreNewLoading","handleScrollBeginDrag","handleScroll","e","contentOffset","contentSize","layoutMeasurement","contentInset","nativeEvent","isAtBottom","expected","actual","bottom","scrolledPastRealContentEnd","Math","abs","contentOffsetY","contentSizeHeight","layoutHeight","clearTimeout","setTimeout","value","markConversationAsRead","handleScrollToBottom","animated","closeKeyboard","animatedButtonStyle","opacity","pointerEvents","willShow","addListener","max","willHide","remove","previousLastMessageId","shouldFire","initialPopulation","handleListLoad","info","messagesLength","elapsedTimeInMs","startedAt","Date","now","flushPromise","then","tookMs","bottomSubscription","ScrollToBottom","subscription","ScrollToMessage","clientMessageId","findIndex","m","scrollToIndex","viewPosition","finally","startClientMsgId","flex","center","background","white","color","primary","normal","size","container","estimatedItemSize","keyExtractor","String","recycleItems","extraData","alignItemsAtEnd","alwaysRender","top","maintainScrollAtEnd","maintainVisibleContentPosition","drawDistance","scrollEventThrottle","onScroll","onScrollBeginDrag","onLoad","contentContainerStyle","content","contentBottomAnchored","scrollIndicatorInsets","right","ListHeaderComponent","onStartReached","onStartReachedThreshold","onEndReached","onEndReachedThreshold","initialScrollAtEnd","scrollToBottomButton","Touchable","activeOpacity","buttonInner","accessible","accessibilityLabel","accessibilityRole","VectorIcons","name","black","badge","displayName","create","paddingVertical","flexGrow","justifyContent","zIndex","borderRadius","round","backgroundColor","alignItems","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","padding","palette","w400","borderWidth"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatListLegend.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useMemo","useEffect","useRef","useState","ActivityIndicator","DeviceEventEmitter","Platform","StyleSheet","useWindowDimensions","Animated","useSharedValue","useAnimatedStyle","withTiming","Easing","KeyboardAwareLegendList","KeyboardEvents","KContainer","KColors","KSpacingValue","KLabel","KRadiusValue","KImage","precomputeLegendListData","getMessageRenderId","LegendChatMessage","LegendChatDay","LegendChatLoadEarlier","useChatDetailContext","getFlowInputButtonsNodes","InputButtonFlow","useResetFlow","useRunFlow","useSendMessage","ChatEvent","useMessageStore","useChatContext","messageStyles","MessageType","PeerType","useUserStore","ChatMessageAPI","resolveImageDisplayDims","ChatImageDimens","CHAT_IMAGE_VIEW_SOURCE","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ROW_MARGIN_CLUSTER_END","ROW_MARGIN_IN_CLUSTER","BUTTON_FADE_CONFIG","duration","easing","out","ease","KEYBOARD_HIDE_DEBOUNCE_MS","getRowMarginBottom","position","ChatListLegend","messages","conversationId","customMessageItemFactory","onLoadMoreOld","moreOldLoading","hasMoreOld","onLoadMoreNew","hasMoreNew","onMediaPress","onPressUrl","onLongPress","listRef","freeze","scrollMessageToEnd","keyboardOffset","isLoading","currentUserId","s","user","userID","windowWidth","width","isBotConversation","conversationFlow","conversation","isGroupConversation","peerType","Group","messageDataMap","retryMessage","lastMessageId","last","length","clientMsgID","serverMsgID","mutate","runFlow","resetFlow","buttonOpacity","isAtBottomRef","scrollDebounceRef","undefined","keyboardInset","setKeyboardInset","hasSeenFirstKeyboardInsetRef","rowRefsMap","Map","hasUserScrolledRef","hasCorrectedInitialPaddingRef","previousLastMessageIdRef","moreOldLoadingRef","current","messagesRef","showBadge","setShowBadge","highlightedId","setHighlightedId","highlightTimerRef","revealedMessageId","setRevealedMessageId","applicationType","searchMessages","handleMessageLongPress","messageId","message","node","get","measureInWindow","x","y","height","onRunFlow","payload","onResetFlow","handleMessagePress","prev","renderItem","item","index","isOutgoing","sendID","isLastMessage","isLastIncoming","messageData","dayStart","timeBreak","createdAt","groupPosition","showSenderGutter","showName","showAvatar","flowInputButtonsNodes","havingBotMessage","flowCurrentStep","children","View","ref","set","delete","style","messageRowRight","messageRowLeft","marginBottom","collapsable","createdAtTime","onRetry","onPress","isHighlighted","isTimeRevealed","nodeData","error","__DEV__","console","styles","errorRow","Text","typo","maintainVisiblePositionConfig","data","getItemType","isCustom","contentType","getFixedItemSize","rowMargin","candidateSize","PictureMessage","VideoMessage","getDimensions","MessageListThumbnail","listExtraData","flowStepId","id","handleStartReached","getState","handleEndReached","moreNewLoading","handleScrollBeginDrag","handleScroll","e","contentOffset","contentSize","layoutMeasurement","nativeEvent","isAtBottom","clearTimeout","setTimeout","value","markConversationAsRead","handleScrollToBottom","animated","closeKeyboard","animatedButtonStyle","opacity","pointerEvents","pendingHide","clearPendingHide","applyInset","nextInset","OS","reportContentInset","bottom","willShow","addListener","Math","max","willHide","remove","previousLastMessageId","shouldFire","handleListLoad","bottomSubscription","ScrollToBottom","subscription","ScrollToMessage","clientMessageId","findIndex","m","scrollToIndex","viewPosition","finally","startClientMsgId","flex","center","background","white","color","primary","normal","size","container","estimatedItemSize","keyExtractor","String","recycleItems","extraData","alignItemsAtEnd","alwaysRender","top","maintainScrollAtEnd","maintainVisibleContentPosition","drawDistance","keyboardLiftBehavior","scrollEventThrottle","onScroll","onScrollBeginDrag","onLoad","contentContainerStyle","content","scrollIndicatorInsets","right","ListHeaderComponent","onStartReached","onStartReachedThreshold","onEndReached","onEndReachedThreshold","initialScrollAtEnd","scrollToBottomButton","Touchable","activeOpacity","buttonInner","accessible","accessibilityLabel","accessibilityRole","VectorIcons","name","black","badge","displayName","create","paddingVertical","flexGrow","zIndex","borderRadius","round","backgroundColor","justifyContent","alignItems","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","padding","palette","w400","borderWidth"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatListLegend.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -28,7 +28,9 @@ const PinnedMessagesSheetContent = /*#__PURE__*/memo(({
|
|
|
28
28
|
UIUtils.bottomSheet.dismiss();
|
|
29
29
|
}
|
|
30
30
|
}, [unpinMessage]);
|
|
31
|
-
const handlePressMessage = useCallback(
|
|
31
|
+
const handlePressMessage = useCallback(messageId => {
|
|
32
|
+
const message = usePinnedMessageStore.getState().messages.find(m => (m.clientMsgID || m.serverMsgID) === messageId);
|
|
33
|
+
if (!message) return;
|
|
32
34
|
UIUtils.bottomSheet.dismiss();
|
|
33
35
|
onPressMessage?.(message);
|
|
34
36
|
}, [onPressMessage]);
|
|
@@ -67,6 +69,7 @@ const PinnedMessagesSheetContent = /*#__PURE__*/memo(({
|
|
|
67
69
|
style: [styles.messageRow, isOutgoing ? styles.messageRowRight : styles.messageRowLeft],
|
|
68
70
|
children: [isOutgoing && unpinButton, /*#__PURE__*/_jsx(LegendChatMessage, {
|
|
69
71
|
message: message,
|
|
72
|
+
messageId: messageId,
|
|
70
73
|
isOutgoing: isOutgoing,
|
|
71
74
|
createdAtTime: createdAtTime,
|
|
72
75
|
onPress: handlePressMessage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","StyleSheet","MessageType","KContainer","KLabel","KColors","KImage","KSpacingValue","UIUtils","trans","usePinnedMessageStore","LegendChatMessage","formatMessageTime","jsx","_jsx","jsxs","_jsxs","SELF_RENDERS_TIME_FOR_INCOMING","Set","TextMessage","AtTextMessage","QuoteMessage","UrlTextMessage","PinnedMessagesSheetContent","currentUserId","unpinMessage","customMessageItemFactory","onPressMessage","messages","state","handleUnpinMessage","message","getState","length","bottomSheet","dismiss","handlePressMessage","View","paddingV","children","Text","typo","color","gray","normal","paddingH","marginB","map","isOutgoing","sendID","
|
|
1
|
+
{"version":3,"names":["memo","useCallback","StyleSheet","MessageType","KContainer","KLabel","KColors","KImage","KSpacingValue","UIUtils","trans","usePinnedMessageStore","LegendChatMessage","formatMessageTime","jsx","_jsx","jsxs","_jsxs","SELF_RENDERS_TIME_FOR_INCOMING","Set","TextMessage","AtTextMessage","QuoteMessage","UrlTextMessage","PinnedMessagesSheetContent","currentUserId","unpinMessage","customMessageItemFactory","onPressMessage","messages","state","handleUnpinMessage","message","getState","length","bottomSheet","dismiss","handlePressMessage","messageId","find","m","clientMsgID","serverMsgID","View","paddingV","children","Text","typo","color","gray","normal","paddingH","marginB","map","isOutgoing","sendID","createdAtTime","sendTime","createTime","hasInternalTimeLabel","has","contentType","timeLabel","unpinButton","Touchable","center","br","width","height","background","style","styles","unpinButtonLeft","unpinButtonRight","onPress","VectorIcons","name","provider","size","dark","rowRight","rowLeft","messageRow","messageRowRight","messageRowLeft","light","marginT","displayName","UNPIN_BUTTON_GAP","create","paddingHorizontal","marginBottom","alignItems","flexDirection","justifyContent","marginRight","marginLeft","openPinnedMessagesSheet","open","header","title","text","alignment","showCloseButton","touchOutsideToDismiss","body","renderContent"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/PinnedMessagesSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -64,6 +64,7 @@ const PinnedMessageToolboxOverlay = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
|
|
|
64
64
|
isOutgoing: isOutgoing,
|
|
65
65
|
message: /*#__PURE__*/_jsx(LegendChatMessage, {
|
|
66
66
|
message: message,
|
|
67
|
+
messageId: message.clientMsgID || message.serverMsgID || '',
|
|
67
68
|
isOutgoing: isOutgoing,
|
|
68
69
|
createdAtTime: message.sendTime || message.createTime,
|
|
69
70
|
customMessageItemFactory: customMessageItemFactory
|
|
@@ -133,9 +134,10 @@ const PinnedMessagesSheetContent = /*#__PURE__*/memo(({
|
|
|
133
134
|
style: isOutgoing ? messageStyles.messageRowRight : messageStyles.messageRowLeft,
|
|
134
135
|
children: [/*#__PURE__*/_jsx(LegendChatMessage, {
|
|
135
136
|
message: message,
|
|
137
|
+
messageId: messageId,
|
|
136
138
|
isOutgoing: isOutgoing,
|
|
137
139
|
createdAtTime: createdAtTime,
|
|
138
|
-
onLongPress:
|
|
140
|
+
onLongPress: handleLongPress,
|
|
139
141
|
customMessageItemFactory: customMessageItemFactory
|
|
140
142
|
}), !!timeLabel && /*#__PURE__*/_jsx(KLabel.Text, {
|
|
141
143
|
typo: "TextXsNormal",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","memo","useCallback","useImperativeHandle","useRef","useState","Modal","Pressable","StyleSheet","KContainer","KLabel","KColors","UIUtils","trans","usePinnedMessageStore","LegendChatMessage","formatMessageTime","messageStyles","MessageToolboxWrapper","MessageToolboxMenu","jsx","_jsx","jsxs","_jsxs","PinnedMessageToolboxOverlay","currentUserId","unpinMessage","customMessageItemFactory","ref","visible","setVisible","message","setMessage","undefined","rect","setRect","hide","show","msg","msgRect","handleUnpinMessage","handleViewOriginalMessage","isOutgoing","sendID","transparent","statusBarTranslucent","animationType","onRequestClose","children","style","styles","backdrop","onPress","createdAtTime","sendTime","createTime","toolbox","showUnpinMessage","showViewOriginalMessage","onUnpinMessage","onViewOriginalMessage","displayName","create","position","top","left","right","bottom","backgroundColor","PinnedMessagesSheetContent","messages","state","toolboxRef","rowRefsMap","Map","getState","length","bottomSheet","dismiss","handleLongPress","
|
|
1
|
+
{"version":3,"names":["forwardRef","memo","useCallback","useImperativeHandle","useRef","useState","Modal","Pressable","StyleSheet","KContainer","KLabel","KColors","UIUtils","trans","usePinnedMessageStore","LegendChatMessage","formatMessageTime","messageStyles","MessageToolboxWrapper","MessageToolboxMenu","jsx","_jsx","jsxs","_jsxs","PinnedMessageToolboxOverlay","currentUserId","unpinMessage","customMessageItemFactory","ref","visible","setVisible","message","setMessage","undefined","rect","setRect","hide","show","msg","msgRect","handleUnpinMessage","handleViewOriginalMessage","isOutgoing","sendID","transparent","statusBarTranslucent","animationType","onRequestClose","children","style","styles","backdrop","onPress","messageId","clientMsgID","serverMsgID","createdAtTime","sendTime","createTime","toolbox","showUnpinMessage","showViewOriginalMessage","onUnpinMessage","onViewOriginalMessage","displayName","create","position","top","left","right","bottom","backgroundColor","PinnedMessagesSheetContent","messages","state","toolboxRef","rowRefsMap","Map","getState","length","bottomSheet","dismiss","handleLongPress","node","current","get","measureInWindow","x","y","width","height","View","paddingV","Text","typo","color","gray","normal","paddingH","marginB","map","timeLabel","set","delete","messageRowRight","messageRowLeft","onLongPress","light","marginT","openPinnedMessagesSheet","open","header","title","text","alignment","showCloseButton","touchOutsideToDismiss","body","renderContent"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/PinnedMessagesSheetBackup.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -44,6 +44,7 @@ const SYSTEM_MESSAGE_TYPES = GROUP_NOTIFICATION_TYPES;
|
|
|
44
44
|
const TIME_REVEAL_EXCLUDED_TYPES = [...MEDIA_TYPES, MessageType.FileMessage];
|
|
45
45
|
export const LegendChatMessage = /*#__PURE__*/memo(({
|
|
46
46
|
message,
|
|
47
|
+
messageId,
|
|
47
48
|
isOutgoing,
|
|
48
49
|
createdAtTime,
|
|
49
50
|
onMediaPress,
|
|
@@ -60,11 +61,11 @@ export const LegendChatMessage = /*#__PURE__*/memo(({
|
|
|
60
61
|
groupPosition
|
|
61
62
|
}) => {
|
|
62
63
|
const handlePress = useCallback(() => {
|
|
63
|
-
onPress?.(
|
|
64
|
-
}, [onPress,
|
|
64
|
+
onPress?.(messageId);
|
|
65
|
+
}, [onPress, messageId]);
|
|
65
66
|
const handleLongPress = useCallback(() => {
|
|
66
|
-
onLongPress?.();
|
|
67
|
-
}, [onLongPress]);
|
|
67
|
+
onLongPress?.(messageId, message);
|
|
68
|
+
}, [onLongPress, messageId, message]);
|
|
68
69
|
const customNode = customMessageItemFactory?.(message);
|
|
69
70
|
if (customNode) {
|
|
70
71
|
return customNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KContainer","KImage","KColors","KLabel","KSpacingValue","StyleSheet","memo","useCallback","useMemo","MessageType","Gesture","GestureDetector","runOnJS","TextMessage","ImageMessage","VideoMessage","FileMessage","LinkMessage","MergedMessage","RevokedMessage","GroupNotificationMessage","MessageStatusIndicator","messageStyles","QuotedMessage","StickerMessage","GROUP_NOTIFICATION_TYPES","Avatar","TAIL_WIDTH","jsx","_jsx","jsxs","_jsxs","messageComponentMap","AtTextMessage","QuoteMessage","UrlTextMessage","PictureMessage","MergeMessage","RevokeMessage","Object","fromEntries","map","type","MEDIA_TYPES","SYSTEM_MESSAGE_TYPES","TIME_REVEAL_EXCLUDED_TYPES","LegendChatMessage","message","isOutgoing","createdAtTime","onMediaPress","onPressUrl","onRetry","onPress","onLongPress","customMessageItemFactory","isHighlighted","isTimeRevealed","showName","showAvatar","showSenderGutter","groupPosition","handlePress","handleLongPress","customNode","includes","contentType","SystemMessageComponent","View","center","style","styles","systemMessageWrapper","children","MessageComponent","hasMediaPress","hasUrlPress","canRevealTime","wrapper","row","alignItems","avatarGutter","size","source","senderFaceUrl","fullName","senderNickname","content","Text","typo","color","gray","normal","numberOfLines","marginB","senderName","LongPressWrapper","undefined","isPinned","pinBadge","VectorIcons","name","primary","displayName","AVATAR_SIZE","create","position","marginLeft","width","marginRight","alignSelf","marginVertical","top","right","height","borderRadius","justifyContent","backgroundColor","pageBackground","shadowColor","black","shadowOffset","shadowOpacity","shadowRadius","elevation","borderWidth","borderColor","white","zIndex","Number","MAX_SAFE_INTEGER","gesture","gestures","LongPress","onStart","Tap","filter","Boolean","length","Race"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/LegendChatMessage.tsx"],"mappings":";;AAAA,SACEA,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,MAAM,EACNC,aAAa,QACR,eAAe;AACtB,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,IAAI,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAElD,SAASC,WAAW,QAAQ,+BAA+B;AAE3D,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA8B;AACvE,SAASC,OAAO,QAAQ,yBAAyB;AAEjD,SAASC,WAAW,QAAQ,mDAA0C;AACtE,SAASC,YAAY,QAAQ,oDAA2C;AACxE,SAASC,YAAY,QAAQ,oDAA2C;AACxE,SAASC,WAAW,QAAQ,mDAA0C;AACtE,SAASC,WAAW,QAAQ,mDAA0C;AACtE,SAASC,aAAa,QAAQ,qDAA4C;AAC1E,SAASC,cAAc,QAAQ,sDAA6C;AAC5E,SAASC,wBAAwB,QAAQ,gEAAuD;AAChG,SAASC,sBAAsB,QAAQ,wDAAqD;AAE5F,SAASC,aAAa,QAAQ,mBAAgB;AAC9C,OAAOC,aAAa,MAAM,qDAA4C;AACtE,SAASC,cAAc,QAAQ,sDAA6C;AAC5E,SAASC,wBAAwB,QAAQ,gCAA6B;AAEtE,SAASC,MAAM,QAAQ,qCAA4B;AACnD,SAASC,UAAU,QAAQ,4CAAyC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;
|
|
1
|
+
{"version":3,"names":["KContainer","KImage","KColors","KLabel","KSpacingValue","StyleSheet","memo","useCallback","useMemo","MessageType","Gesture","GestureDetector","runOnJS","TextMessage","ImageMessage","VideoMessage","FileMessage","LinkMessage","MergedMessage","RevokedMessage","GroupNotificationMessage","MessageStatusIndicator","messageStyles","QuotedMessage","StickerMessage","GROUP_NOTIFICATION_TYPES","Avatar","TAIL_WIDTH","jsx","_jsx","jsxs","_jsxs","messageComponentMap","AtTextMessage","QuoteMessage","UrlTextMessage","PictureMessage","MergeMessage","RevokeMessage","Object","fromEntries","map","type","MEDIA_TYPES","SYSTEM_MESSAGE_TYPES","TIME_REVEAL_EXCLUDED_TYPES","LegendChatMessage","message","messageId","isOutgoing","createdAtTime","onMediaPress","onPressUrl","onRetry","onPress","onLongPress","customMessageItemFactory","isHighlighted","isTimeRevealed","showName","showAvatar","showSenderGutter","groupPosition","handlePress","handleLongPress","customNode","includes","contentType","SystemMessageComponent","View","center","style","styles","systemMessageWrapper","children","MessageComponent","hasMediaPress","hasUrlPress","canRevealTime","wrapper","row","alignItems","avatarGutter","size","source","senderFaceUrl","fullName","senderNickname","content","Text","typo","color","gray","normal","numberOfLines","marginB","senderName","LongPressWrapper","undefined","isPinned","pinBadge","VectorIcons","name","primary","displayName","AVATAR_SIZE","create","position","marginLeft","width","marginRight","alignSelf","marginVertical","top","right","height","borderRadius","justifyContent","backgroundColor","pageBackground","shadowColor","black","shadowOffset","shadowOpacity","shadowRadius","elevation","borderWidth","borderColor","white","zIndex","Number","MAX_SAFE_INTEGER","gesture","gestures","LongPress","onStart","Tap","filter","Boolean","length","Race"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/LegendChatMessage.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -158,6 +158,7 @@ export const MessageToolboxOverlay = /*#__PURE__*/forwardRef(({
|
|
|
158
158
|
isOutgoing: isOutgoing,
|
|
159
159
|
message: /*#__PURE__*/_jsx(LegendChatMessage, {
|
|
160
160
|
message: message,
|
|
161
|
+
messageId: message.clientMsgID || message.serverMsgID || '',
|
|
161
162
|
isOutgoing: isOutgoing,
|
|
162
163
|
createdAtTime: message.sendTime || message.createTime,
|
|
163
164
|
customMessageItemFactory: customMessageItemFactory
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","Modal","Pressable","StyleSheet","Clipboard","UIUtils","trans","LegendChatMessage","MessageToolboxMenu","getCopyableMessageText","getMessageToolboxItems","MessageToolboxWrapper","useSendMessage","useChatDetailContext","GroupPermission","useHasGroupPermission","jsx","_jsx","jsxs","_jsxs","UNFREEZE_DELAY_MS","MessageToolboxOverlay","currentUserId","customMessageItemFactory","onPinMessage","onUnpinMessage","freeze","ref","setQuotedMessage","visible","setVisible","message","setMessage","undefined","rect","setRect","toolboxItems","retryMessage","revokeMessage","isPinAllowed","PinMessage","unfreezeTimeoutRef","clearPendingUnfreeze","current","clearTimeout","hide","setTimeout","value","show","msg","msgRect","toolboxNotAvailable","Object","values","filter","Boolean","length","handleCopyMessage","text","setString","toast","open","title","theme","handleCopyMessageLink","placeholderLink","recvID","groupID","clientMsgID","serverMsgID","handleRetryMessage","handleRevokeMessage","error","console","handlePinMessage","handleUnpinMessage","handleQuoteMessage","isOutgoing","sendID","transparent","statusBarTranslucent","animationType","onRequestClose","children","style","styles","backdrop","onPress","createdAtTime","sendTime","createTime","toolbox","showPinMessage","showUnpinMessage","onCopyMessage","onCopyMessageLink","onRetryMessage","onRevokeMessage","onQuoteMessage","displayName","create","position","top","left","right","bottom","backgroundColor"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/MessageToolboxOverlay.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","Modal","Pressable","StyleSheet","Clipboard","UIUtils","trans","LegendChatMessage","MessageToolboxMenu","getCopyableMessageText","getMessageToolboxItems","MessageToolboxWrapper","useSendMessage","useChatDetailContext","GroupPermission","useHasGroupPermission","jsx","_jsx","jsxs","_jsxs","UNFREEZE_DELAY_MS","MessageToolboxOverlay","currentUserId","customMessageItemFactory","onPinMessage","onUnpinMessage","freeze","ref","setQuotedMessage","visible","setVisible","message","setMessage","undefined","rect","setRect","toolboxItems","retryMessage","revokeMessage","isPinAllowed","PinMessage","unfreezeTimeoutRef","clearPendingUnfreeze","current","clearTimeout","hide","setTimeout","value","show","msg","msgRect","toolboxNotAvailable","Object","values","filter","Boolean","length","handleCopyMessage","text","setString","toast","open","title","theme","handleCopyMessageLink","placeholderLink","recvID","groupID","clientMsgID","serverMsgID","handleRetryMessage","handleRevokeMessage","error","console","handlePinMessage","handleUnpinMessage","handleQuoteMessage","isOutgoing","sendID","transparent","statusBarTranslucent","animationType","onRequestClose","children","style","styles","backdrop","onPress","messageId","createdAtTime","sendTime","createTime","toolbox","showPinMessage","showUnpinMessage","onCopyMessage","onCopyMessageLink","onRetryMessage","onRevokeMessage","onQuoteMessage","displayName","create","position","top","left","right","bottom","backgroundColor"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/MessageToolboxOverlay.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -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;AASf,OAAiB,EAKf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,8BAA8B,CAAC;AActC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,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;AASf,OAAiB,EAKf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,8BAA8B,CAAC;AActC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA+C7C,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,6QAkBtB,2BAA2B,iCA6qB/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinnedMessagesSheet.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/PinnedMessagesSheet.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"PinnedMessagesSheet.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/PinnedMessagesSheet.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAuL9E,MAAM,WAAW,6BAA6B;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC;IAC5D,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CACjD;AAED,eAAO,MAAM,uBAAuB,GAAI,4EAKrC,6BAA6B,SAmB/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinnedMessagesSheetBackup.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/PinnedMessagesSheetBackup.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"PinnedMessagesSheetBackup.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/PinnedMessagesSheetBackup.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAwNjE,MAAM,WAAW,6BAA6B;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC;CAC7D;AAED,eAAO,MAAM,uBAAuB,GAAI,4DAIrC,6BAA6B,SAkB/B,CAAC"}
|
|
@@ -4,13 +4,15 @@ import type { MediaItem } from '../../../hooks/useMediaViewer';
|
|
|
4
4
|
import type { GroupPosition } from '../../../utils/legendListMessage';
|
|
5
5
|
interface LegendChatMessageProps {
|
|
6
6
|
message: MessageItem;
|
|
7
|
+
/** Stable per-row id (see getMessageRenderId) — bound into onPress/onLongPress locally so those callbacks stay referentially stable across unrelated list re-renders. */
|
|
8
|
+
messageId: string;
|
|
7
9
|
isOutgoing: boolean;
|
|
8
10
|
createdAtTime: number;
|
|
9
11
|
onMediaPress?: (items: MediaItem[], index?: number) => void;
|
|
10
12
|
onPressUrl?: (url: string) => void;
|
|
11
13
|
onRetry?: (message: MessageItem) => void;
|
|
12
|
-
onPress?: (
|
|
13
|
-
onLongPress?: () => void;
|
|
14
|
+
onPress?: (messageId: string) => void;
|
|
15
|
+
onLongPress?: (messageId: string, message: MessageItem) => void;
|
|
14
16
|
customMessageItemFactory?: (m: MessageItem) => ReactNode;
|
|
15
17
|
isHighlighted?: boolean;
|
|
16
18
|
isTimeRevealed?: boolean;
|
|
@@ -27,6 +29,6 @@ interface LegendChatMessageProps {
|
|
|
27
29
|
/** Position within its same-sender cluster — drives the bubble tail. */
|
|
28
30
|
groupPosition?: GroupPosition;
|
|
29
31
|
}
|
|
30
|
-
export declare const LegendChatMessage: import("react").MemoExoticComponent<({ message, isOutgoing, createdAtTime, onMediaPress, onPressUrl, onRetry, onPress, onLongPress, customMessageItemFactory, isHighlighted, isTimeRevealed, showName, showAvatar, showSenderGutter, groupPosition, }: LegendChatMessageProps) => string | number | bigint | true | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode>> | import("react").JSX.Element>;
|
|
32
|
+
export declare const LegendChatMessage: import("react").MemoExoticComponent<({ message, messageId, isOutgoing, createdAtTime, onMediaPress, onPressUrl, onRetry, onPress, onLongPress, customMessageItemFactory, isHighlighted, isTimeRevealed, showName, showAvatar, showSenderGutter, groupPosition, }: LegendChatMessageProps) => string | number | bigint | true | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode>> | import("react").JSX.Element>;
|
|
31
33
|
export {};
|
|
32
34
|
//# sourceMappingURL=LegendChatMessage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendChatMessage.d.ts","sourceRoot":"","sources":["../../../../../../src/screens/chat-detail/legend/LegendChatMessage.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAoC,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAe/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAStE,UAAU,sBAAsB;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,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,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"LegendChatMessage.d.ts","sourceRoot":"","sources":["../../../../../../src/screens/chat-detail/legend/LegendChatMessage.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAoC,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAe/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAStE,UAAU,sBAAsB;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,yKAAyK;IACzK,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,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,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAChE,wBAAwB,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,SAAS,CAAC;IACzD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wEAAwE;IACxE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAoCD,eAAO,MAAM,iBAAiB,oQAkBzB,sBAAsB,wRA2G1B,CAAC"}
|
package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxOverlay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageToolboxOverlay.d.ts","sourceRoot":"","sources":["../../../../../../src/screens/chat-detail/messageToolbox/MessageToolboxOverlay.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAgB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AAavC,UAAU,0BAA0B;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC;IAC5D,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAIhD,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"MessageToolboxOverlay.d.ts","sourceRoot":"","sources":["../../../../../../src/screens/chat-detail/messageToolbox/MessageToolboxOverlay.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAgB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AAavC,UAAU,0BAA0B;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC;IAC5D,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAIhD,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED,eAAO,MAAM,qBAAqB,0HA4LjC,CAAC"}
|
package/package.json
CHANGED
|
@@ -76,12 +76,13 @@ import ChatImageDimens, {
|
|
|
76
76
|
const ROW_MARGIN_CLUSTER_END = KSpacingValue['0.5rem'];
|
|
77
77
|
const ROW_MARGIN_IN_CLUSTER = KSpacingValue['0.25rem'];
|
|
78
78
|
|
|
79
|
-
// Tags every __DEV__ diagnostic log below with the platform, so logs from an
|
|
80
|
-
// iOS and an Android run can be told apart when compared side by side.
|
|
81
|
-
const LOG_TAG = `[ChatListLegend:${Platform.OS}]`;
|
|
82
|
-
|
|
83
79
|
const BUTTON_FADE_CONFIG = { duration: 200, easing: Easing.out(Easing.ease) };
|
|
84
80
|
|
|
81
|
+
// Long enough to swallow Android's willShow→willHide→willShow flapping
|
|
82
|
+
// (~1.3s period, measured), short enough that a real keyboard close still
|
|
83
|
+
// settles within one animation.
|
|
84
|
+
const KEYBOARD_HIDE_DEBOUNCE_MS = 300;
|
|
85
|
+
|
|
85
86
|
const getRowMarginBottom = (position: GroupPosition): number =>
|
|
86
87
|
position === 'last' || position === 'solo'
|
|
87
88
|
? ROW_MARGIN_CLUSTER_END
|
|
@@ -142,31 +143,16 @@ export const ChatListLegend = memo(
|
|
|
142
143
|
const last = messages[messages.length - 1];
|
|
143
144
|
return last?.clientMsgID || last?.serverMsgID || null;
|
|
144
145
|
}, [messages]);
|
|
145
|
-
// Stopgap for the keyboard-open blank-gap bug (unresolved upstream —
|
|
146
|
-
// see project_chatlistlegend_scroll_debugging memory): below this
|
|
147
|
-
// threshold, disable `alignItemsAtEnd` and let plain CSS `flex-end`
|
|
148
|
-
// anchor short content to the bottom instead. Known trade-off (same
|
|
149
|
-
// memory, bug #17/#19): disabling `alignItemsAtEnd` removes the extra
|
|
150
|
-
// scrollable room `clampScrollOffset` needs, so sending a message while
|
|
151
|
-
// the keyboard is open on one of these same short conversations can
|
|
152
|
-
// land the new message away from the composer instead of scrolling to
|
|
153
|
-
// it — verify that scenario specifically after any change here.
|
|
154
|
-
const isVeryShortConversation = messages.length < 15;
|
|
155
146
|
const { mutate: runFlow } = useRunFlow();
|
|
156
147
|
const { mutate: resetFlow } = useResetFlow();
|
|
157
148
|
|
|
158
149
|
const buttonOpacity = useSharedValue(0);
|
|
159
150
|
const isAtBottomRef = useRef(true);
|
|
160
151
|
const scrollDebounceRef = useRef<NodeJS.Timeout | undefined>(undefined);
|
|
161
|
-
//
|
|
162
|
-
//
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
// `handleScroll` below to auto-detect the known issue where that native
|
|
166
|
-
// inset silently fails to apply (confirmed via manual trace: contentOffset
|
|
167
|
-
// scrolls correctly but contentInset stays {bottom:0} on this RN/Reanimated/
|
|
168
|
-
// Old-Architecture combo, leaving a blank gap past the real content end).
|
|
169
|
-
const expectedKeyboardInsetRef = useRef(0);
|
|
152
|
+
// Current keyboard height, and the trigger for the re-anchor effect
|
|
153
|
+
// below — see the keyboard listener for how each platform uses it.
|
|
154
|
+
const [keyboardInset, setKeyboardInset] = useState(0);
|
|
155
|
+
const hasSeenFirstKeyboardInsetRef = useRef(false);
|
|
170
156
|
const rowRefsMap = useRef<Map<string, View | null>>(new Map());
|
|
171
157
|
// Set on a real touch-drag (`onScrollBeginDrag`), before onStartReached/
|
|
172
158
|
// onEndReached's threshold could fire. `onMomentumScrollBegin` was tried
|
|
@@ -292,17 +278,14 @@ export const ChatListLegend = memo(
|
|
|
292
278
|
>
|
|
293
279
|
<LegendChatMessage
|
|
294
280
|
message={message}
|
|
281
|
+
messageId={messageId}
|
|
295
282
|
isOutgoing={isOutgoing}
|
|
296
283
|
createdAtTime={createdAt}
|
|
297
284
|
onMediaPress={onMediaPress}
|
|
298
285
|
onPressUrl={onPressUrl}
|
|
299
286
|
onRetry={retryMessage}
|
|
300
|
-
onPress={
|
|
301
|
-
onLongPress={
|
|
302
|
-
onLongPress
|
|
303
|
-
? () => handleMessageLongPress(messageId, message)
|
|
304
|
-
: undefined
|
|
305
|
-
}
|
|
287
|
+
onPress={handleMessagePress}
|
|
288
|
+
onLongPress={onLongPress ? handleMessageLongPress : undefined}
|
|
306
289
|
customMessageItemFactory={customMessageItemFactory}
|
|
307
290
|
isHighlighted={highlightedId === messageId}
|
|
308
291
|
isTimeRevealed={revealedMessageId === messageId}
|
|
@@ -485,47 +468,21 @@ export const ChatListLegend = memo(
|
|
|
485
468
|
);
|
|
486
469
|
|
|
487
470
|
const handleStartReached = useCallback(() => {
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
hasMoreOld,
|
|
493
|
-
moreOldLoading: useMessageStore.getState().moreOldLoading,
|
|
494
|
-
});
|
|
495
|
-
}
|
|
496
|
-
if (!hasUserScrolledRef.current) {
|
|
497
|
-
const wouldHaveLoaded =
|
|
498
|
-
__DEV__ && hasMoreOld && !useMessageStore.getState().moreOldLoading;
|
|
499
|
-
if (wouldHaveLoaded) {
|
|
500
|
-
console.warn(
|
|
501
|
-
`${LOG_TAG} onStartReached fired before user scroll — suppressed`,
|
|
502
|
-
{ conversationId, hasMoreOld }
|
|
503
|
-
);
|
|
504
|
-
}
|
|
505
|
-
return;
|
|
506
|
-
}
|
|
471
|
+
// Both thresholds are checked continuously, including at mount before
|
|
472
|
+
// any gesture — `hasUserScrolledRef` is what keeps that from firing a
|
|
473
|
+
// load-more the user never asked for.
|
|
474
|
+
if (!hasUserScrolledRef.current) return;
|
|
507
475
|
if (hasMoreOld && !useMessageStore.getState().moreOldLoading) {
|
|
508
476
|
onLoadMoreOld?.(true);
|
|
509
477
|
}
|
|
510
|
-
}, [
|
|
478
|
+
}, [hasMoreOld, onLoadMoreOld]);
|
|
511
479
|
|
|
512
480
|
const handleEndReached = useCallback(() => {
|
|
513
|
-
if (!hasUserScrolledRef.current)
|
|
514
|
-
const wouldHaveLoaded =
|
|
515
|
-
__DEV__ && hasMoreNew && !useMessageStore.getState().moreNewLoading;
|
|
516
|
-
if (wouldHaveLoaded) {
|
|
517
|
-
console.warn(
|
|
518
|
-
`${LOG_TAG} onEndReached fired before user scroll — suppressed`,
|
|
519
|
-
{ conversationId, hasMoreNew }
|
|
520
|
-
);
|
|
521
|
-
}
|
|
522
|
-
return;
|
|
523
|
-
}
|
|
481
|
+
if (!hasUserScrolledRef.current) return;
|
|
524
482
|
if (hasMoreNew && !useMessageStore.getState().moreNewLoading) {
|
|
525
|
-
if (__DEV__) console.log(`${LOG_TAG} handleEndReached`);
|
|
526
483
|
onLoadMoreNew?.(true);
|
|
527
484
|
}
|
|
528
|
-
}, [
|
|
485
|
+
}, [hasMoreNew, onLoadMoreNew]);
|
|
529
486
|
|
|
530
487
|
const handleScrollBeginDrag = useCallback(() => {
|
|
531
488
|
hasUserScrolledRef.current = true;
|
|
@@ -533,41 +490,11 @@ export const ChatListLegend = memo(
|
|
|
533
490
|
|
|
534
491
|
const handleScroll = useCallback(
|
|
535
492
|
(e: any) => {
|
|
536
|
-
const { contentOffset, contentSize, layoutMeasurement
|
|
537
|
-
e.nativeEvent;
|
|
493
|
+
const { contentOffset, contentSize, layoutMeasurement } = e.nativeEvent;
|
|
538
494
|
const isAtBottom =
|
|
539
495
|
contentOffset.y + layoutMeasurement.height >=
|
|
540
496
|
contentSize.height - 100;
|
|
541
497
|
|
|
542
|
-
if (__DEV__) {
|
|
543
|
-
const expected = expectedKeyboardInsetRef.current;
|
|
544
|
-
const actual = contentInset?.bottom ?? 0;
|
|
545
|
-
// `contentInset` failing to apply is a constant, systemic mismatch
|
|
546
|
-
// (present regardless of conversation length) — but it only shows
|
|
547
|
-
// up as a visible gap once the scroll position has actually moved
|
|
548
|
-
// past the real end of content. Gate on that so the warning fires
|
|
549
|
-
// only when the bug is actually visible, not on every keyboard
|
|
550
|
-
// open in every conversation.
|
|
551
|
-
const scrolledPastRealContentEnd =
|
|
552
|
-
contentOffset.y + layoutMeasurement.height > contentSize.height;
|
|
553
|
-
if (
|
|
554
|
-
expected > 0 &&
|
|
555
|
-
Math.abs(actual - expected) > 5 &&
|
|
556
|
-
scrolledPastRealContentEnd
|
|
557
|
-
) {
|
|
558
|
-
console.warn(
|
|
559
|
-
`${LOG_TAG} keyboard contentInset mismatch — expected bottom inset ~${expected} (keyboard open) but native reports ${actual}, and scroll position is past the real content end. This reproduces the known "blank gap" issue: contentOffset scrolls correctly but contentInset silently fails to apply.`,
|
|
560
|
-
{
|
|
561
|
-
expected,
|
|
562
|
-
actual,
|
|
563
|
-
contentOffsetY: contentOffset.y,
|
|
564
|
-
contentSizeHeight: contentSize.height,
|
|
565
|
-
layoutHeight: layoutMeasurement.height,
|
|
566
|
-
}
|
|
567
|
-
);
|
|
568
|
-
}
|
|
569
|
-
}
|
|
570
|
-
|
|
571
498
|
// Debounce animation updates
|
|
572
499
|
if (scrollDebounceRef.current) {
|
|
573
500
|
clearTimeout(scrollDebounceRef.current);
|
|
@@ -619,26 +546,72 @@ export const ChatListLegend = memo(
|
|
|
619
546
|
};
|
|
620
547
|
}, []);
|
|
621
548
|
|
|
622
|
-
//
|
|
623
|
-
// `
|
|
624
|
-
//
|
|
625
|
-
//
|
|
549
|
+
// Tracks the keyboard's height as the trigger for the re-anchor below.
|
|
550
|
+
// The `willHide` side is debounced because Android's event stream flaps
|
|
551
|
+
// willShow→willHide→willShow roughly every 1.3s for as long as the
|
|
552
|
+
// keyboard stays open (measured on device) — without this, every flap
|
|
553
|
+
// would fire another scroll. A real close still lands, just one tick
|
|
554
|
+
// later. Setting the same height twice is a no-op for the effect below,
|
|
555
|
+
// so a stable open only ever re-anchors once.
|
|
556
|
+
//
|
|
557
|
+
// JS-thread only (no worklet), so none of the reentrant-lock crash risk
|
|
558
|
+
// that reaching into `useKeyboardHandler`'s worklets carries.
|
|
626
559
|
useEffect(() => {
|
|
627
|
-
|
|
560
|
+
let pendingHide: ReturnType<typeof setTimeout> | undefined;
|
|
561
|
+
const clearPendingHide = () => {
|
|
562
|
+
if (pendingHide) {
|
|
563
|
+
clearTimeout(pendingHide);
|
|
564
|
+
pendingHide = undefined;
|
|
565
|
+
}
|
|
566
|
+
};
|
|
567
|
+
const applyInset = (nextInset: number) => {
|
|
568
|
+
// Android only: the bottom inset the library applies there is a
|
|
569
|
+
// synthetic prop that `onScroll` does not report (its own
|
|
570
|
+
// `ScrollViewWithBottomPadding` says as much), so LegendList never
|
|
571
|
+
// learns about it, `alignItemsAtEndPadding` never shrinks, and the
|
|
572
|
+
// re-anchor below has no room to scroll into. Reporting it closes
|
|
573
|
+
// that gap. iOS needs none of this — there the inset is real and
|
|
574
|
+
// arrives through `onScroll` on its own, and overriding it here
|
|
575
|
+
// would double-count.
|
|
576
|
+
if (Platform.OS === 'android') {
|
|
577
|
+
listRef.current?.reportContentInset(
|
|
578
|
+
nextInset > 0 ? { bottom: nextInset } : null
|
|
579
|
+
);
|
|
580
|
+
}
|
|
581
|
+
setKeyboardInset(nextInset);
|
|
582
|
+
};
|
|
583
|
+
|
|
628
584
|
const willShow = KeyboardEvents.addListener('keyboardWillShow', (e) => {
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
0
|
|
632
|
-
);
|
|
585
|
+
clearPendingHide();
|
|
586
|
+
applyInset(Math.max(e.height - keyboardOffset, 0));
|
|
633
587
|
});
|
|
634
588
|
const willHide = KeyboardEvents.addListener('keyboardWillHide', () => {
|
|
635
|
-
|
|
589
|
+
clearPendingHide();
|
|
590
|
+
pendingHide = setTimeout(
|
|
591
|
+
() => applyInset(0),
|
|
592
|
+
KEYBOARD_HIDE_DEBOUNCE_MS
|
|
593
|
+
);
|
|
636
594
|
});
|
|
637
595
|
return () => {
|
|
596
|
+
clearPendingHide();
|
|
638
597
|
willShow.remove();
|
|
639
598
|
willHide.remove();
|
|
640
599
|
};
|
|
641
|
-
}, [keyboardOffset]);
|
|
600
|
+
}, [keyboardOffset, listRef]);
|
|
601
|
+
|
|
602
|
+
// Re-anchors to the end once the keyboard's inset has landed, which puts
|
|
603
|
+
// the last message at exactly the spacing the closed-keyboard layout has
|
|
604
|
+
// (verified on device against both a 7-message and a long conversation).
|
|
605
|
+
// Skipped when the user has scrolled away from the bottom — opening the
|
|
606
|
+
// keyboard shouldn't yank them back down.
|
|
607
|
+
useEffect(() => {
|
|
608
|
+
if (!hasSeenFirstKeyboardInsetRef.current) {
|
|
609
|
+
hasSeenFirstKeyboardInsetRef.current = true;
|
|
610
|
+
return;
|
|
611
|
+
}
|
|
612
|
+
if (!isAtBottomRef.current) return;
|
|
613
|
+
scrollMessageToEnd({ animated: true, closeKeyboard: false });
|
|
614
|
+
}, [keyboardInset, scrollMessageToEnd]);
|
|
642
615
|
|
|
643
616
|
// This component can stay mounted across a conversationId change (e.g.
|
|
644
617
|
// navigation.replace reusing the same screen instance), so this ref must
|
|
@@ -668,54 +641,17 @@ export const ChatListLegend = memo(
|
|
|
668
641
|
!moreOldLoadingRef.current &&
|
|
669
642
|
isAtBottomRef.current;
|
|
670
643
|
|
|
671
|
-
if (__DEV__) {
|
|
672
|
-
console.log(
|
|
673
|
-
`${LOG_TAG} lastMessageId effect — ${shouldFire ? 'firing animated scroll' : 'skipped'}`,
|
|
674
|
-
{
|
|
675
|
-
conversationId,
|
|
676
|
-
lastMessageId,
|
|
677
|
-
initialPopulation: previousLastMessageId === null,
|
|
678
|
-
moreOldLoading: moreOldLoadingRef.current,
|
|
679
|
-
isAtBottom: isAtBottomRef.current,
|
|
680
|
-
}
|
|
681
|
-
);
|
|
682
|
-
}
|
|
683
|
-
|
|
684
644
|
if (!shouldFire) return;
|
|
685
645
|
|
|
686
646
|
scrollMessageToEnd({ animated: true, closeKeyboard: false });
|
|
687
|
-
}, [lastMessageId, scrollMessageToEnd
|
|
647
|
+
}, [lastMessageId, scrollMessageToEnd]);
|
|
688
648
|
|
|
689
|
-
const handleListLoad = useCallback(
|
|
690
|
-
(
|
|
691
|
-
|
|
692
|
-
hasCorrectedInitialPaddingRef.current = true;
|
|
649
|
+
const handleListLoad = useCallback(() => {
|
|
650
|
+
if (hasCorrectedInitialPaddingRef.current) return;
|
|
651
|
+
hasCorrectedInitialPaddingRef.current = true;
|
|
693
652
|
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
console.log(`${LOG_TAG} onLoad (bootstrap settle done)`, {
|
|
697
|
-
conversationId,
|
|
698
|
-
messagesLength: messages.length,
|
|
699
|
-
elapsedTimeInMs: info.elapsedTimeInMs,
|
|
700
|
-
});
|
|
701
|
-
}
|
|
702
|
-
|
|
703
|
-
const startedAt = __DEV__ ? Date.now() : 0;
|
|
704
|
-
const flushPromise = scrollMessageToEnd({
|
|
705
|
-
animated: false,
|
|
706
|
-
closeKeyboard: false,
|
|
707
|
-
});
|
|
708
|
-
if (__DEV__) {
|
|
709
|
-
flushPromise.then(() => {
|
|
710
|
-
console.log(`${LOG_TAG} handleListLoad flush resolved`, {
|
|
711
|
-
conversationId,
|
|
712
|
-
tookMs: Date.now() - startedAt,
|
|
713
|
-
});
|
|
714
|
-
});
|
|
715
|
-
}
|
|
716
|
-
},
|
|
717
|
-
[scrollMessageToEnd, conversationId, messages.length]
|
|
718
|
-
);
|
|
653
|
+
scrollMessageToEnd({ animated: false, closeKeyboard: false });
|
|
654
|
+
}, [scrollMessageToEnd]);
|
|
719
655
|
|
|
720
656
|
useEffect(() => {
|
|
721
657
|
const bottomSubscription = DeviceEventEmitter.addListener(
|
|
@@ -801,7 +737,7 @@ export const ChatListLegend = memo(
|
|
|
801
737
|
keyExtractor={(item) => String(item.clientMsgID || item.serverMsgID)}
|
|
802
738
|
recycleItems
|
|
803
739
|
extraData={listExtraData}
|
|
804
|
-
alignItemsAtEnd
|
|
740
|
+
alignItemsAtEnd
|
|
805
741
|
alwaysRender={{
|
|
806
742
|
top: 10,
|
|
807
743
|
}}
|
|
@@ -813,15 +749,20 @@ export const ChatListLegend = memo(
|
|
|
813
749
|
drawDistance={800}
|
|
814
750
|
freeze={freeze}
|
|
815
751
|
keyboardOffset={keyboardOffset}
|
|
752
|
+
// The list's own keyboard compensation is off on both platforms —
|
|
753
|
+
// measured, it overshoots badly either way. On iOS it scrolls on
|
|
754
|
+
// top of React Native's `automaticallyAdjustContentInsets` (which
|
|
755
|
+
// already insets the scroll view by the full keyboard height), and
|
|
756
|
+
// that double lift is the blank gap. On Android it overshot by
|
|
757
|
+
// ~690px against a 128px target. What both platforms do keep from
|
|
758
|
+
// the library is the bottom inset it sets, which is the room the
|
|
759
|
+
// re-anchor above scrolls into.
|
|
760
|
+
keyboardLiftBehavior="never"
|
|
816
761
|
scrollEventThrottle={16}
|
|
817
762
|
onScroll={handleScroll}
|
|
818
763
|
onScrollBeginDrag={handleScrollBeginDrag}
|
|
819
764
|
onLoad={handleListLoad}
|
|
820
|
-
contentContainerStyle={
|
|
821
|
-
isVeryShortConversation
|
|
822
|
-
? [styles.content, styles.contentBottomAnchored]
|
|
823
|
-
: styles.content
|
|
824
|
-
}
|
|
765
|
+
contentContainerStyle={styles.content}
|
|
825
766
|
scrollIndicatorInsets={{ right: 1 }}
|
|
826
767
|
ListHeaderComponent={
|
|
827
768
|
<LegendChatLoadEarlier isLoading={moreOldLoading} />
|
|
@@ -872,9 +813,6 @@ const styles = StyleSheet.create({
|
|
|
872
813
|
paddingVertical: KSpacingValue['0.75rem'],
|
|
873
814
|
flexGrow: 1,
|
|
874
815
|
},
|
|
875
|
-
contentBottomAnchored: {
|
|
876
|
-
justifyContent: 'flex-end',
|
|
877
|
-
},
|
|
878
816
|
scrollToBottomButton: {
|
|
879
817
|
position: 'absolute',
|
|
880
818
|
bottom: 20,
|
|
@@ -52,7 +52,11 @@ const PinnedMessagesSheetContent = memo(
|
|
|
52
52
|
);
|
|
53
53
|
|
|
54
54
|
const handlePressMessage = useCallback(
|
|
55
|
-
(
|
|
55
|
+
(messageId: string) => {
|
|
56
|
+
const message = usePinnedMessageStore
|
|
57
|
+
.getState()
|
|
58
|
+
.messages.find((m) => (m.clientMsgID || m.serverMsgID) === messageId);
|
|
59
|
+
if (!message) return;
|
|
56
60
|
UIUtils.bottomSheet.dismiss();
|
|
57
61
|
onPressMessage?.(message);
|
|
58
62
|
},
|
|
@@ -117,6 +121,7 @@ const PinnedMessagesSheetContent = memo(
|
|
|
117
121
|
|
|
118
122
|
<LegendChatMessage
|
|
119
123
|
message={message}
|
|
124
|
+
messageId={messageId}
|
|
120
125
|
isOutgoing={isOutgoing}
|
|
121
126
|
createdAtTime={createdAtTime}
|
|
122
127
|
onPress={handlePressMessage}
|
|
@@ -90,6 +90,7 @@ const PinnedMessageToolboxOverlay = memo(
|
|
|
90
90
|
message={
|
|
91
91
|
<LegendChatMessage
|
|
92
92
|
message={message}
|
|
93
|
+
messageId={message.clientMsgID || message.serverMsgID || ''}
|
|
93
94
|
isOutgoing={isOutgoing}
|
|
94
95
|
createdAtTime={message.sendTime || message.createTime}
|
|
95
96
|
customMessageItemFactory={customMessageItemFactory}
|
|
@@ -191,9 +192,10 @@ const PinnedMessagesSheetContent = memo(
|
|
|
191
192
|
>
|
|
192
193
|
<LegendChatMessage
|
|
193
194
|
message={message}
|
|
195
|
+
messageId={messageId}
|
|
194
196
|
isOutgoing={isOutgoing}
|
|
195
197
|
createdAtTime={createdAtTime}
|
|
196
|
-
onLongPress={
|
|
198
|
+
onLongPress={handleLongPress}
|
|
197
199
|
customMessageItemFactory={customMessageItemFactory}
|
|
198
200
|
/>
|
|
199
201
|
{!!timeLabel && (
|
|
@@ -38,13 +38,15 @@ type MessageProps = BaseLegendMessageProps & {
|
|
|
38
38
|
|
|
39
39
|
interface LegendChatMessageProps {
|
|
40
40
|
message: MessageItem;
|
|
41
|
+
/** Stable per-row id (see getMessageRenderId) — bound into onPress/onLongPress locally so those callbacks stay referentially stable across unrelated list re-renders. */
|
|
42
|
+
messageId: string;
|
|
41
43
|
isOutgoing: boolean;
|
|
42
44
|
createdAtTime: number;
|
|
43
45
|
onMediaPress?: (items: MediaItem[], index?: number) => void;
|
|
44
46
|
onPressUrl?: (url: string) => void;
|
|
45
47
|
onRetry?: (message: MessageItem) => void;
|
|
46
|
-
onPress?: (
|
|
47
|
-
onLongPress?: () => void;
|
|
48
|
+
onPress?: (messageId: string) => void;
|
|
49
|
+
onLongPress?: (messageId: string, message: MessageItem) => void;
|
|
48
50
|
customMessageItemFactory?: (m: MessageItem) => ReactNode;
|
|
49
51
|
isHighlighted?: boolean;
|
|
50
52
|
isTimeRevealed?: boolean;
|
|
@@ -99,6 +101,7 @@ const TIME_REVEAL_EXCLUDED_TYPES: number[] = [
|
|
|
99
101
|
export const LegendChatMessage = memo(
|
|
100
102
|
({
|
|
101
103
|
message,
|
|
104
|
+
messageId,
|
|
102
105
|
isOutgoing,
|
|
103
106
|
createdAtTime,
|
|
104
107
|
onMediaPress,
|
|
@@ -115,12 +118,12 @@ export const LegendChatMessage = memo(
|
|
|
115
118
|
groupPosition,
|
|
116
119
|
}: LegendChatMessageProps) => {
|
|
117
120
|
const handlePress = useCallback(() => {
|
|
118
|
-
onPress?.(
|
|
119
|
-
}, [onPress,
|
|
121
|
+
onPress?.(messageId);
|
|
122
|
+
}, [onPress, messageId]);
|
|
120
123
|
|
|
121
124
|
const handleLongPress = useCallback(() => {
|
|
122
|
-
onLongPress?.();
|
|
123
|
-
}, [onLongPress]);
|
|
125
|
+
onLongPress?.(messageId, message);
|
|
126
|
+
}, [onLongPress, messageId, message]);
|
|
124
127
|
|
|
125
128
|
const customNode = customMessageItemFactory?.(message);
|
|
126
129
|
|
|
@@ -214,6 +214,7 @@ export const MessageToolboxOverlay = forwardRef<
|
|
|
214
214
|
message={
|
|
215
215
|
<LegendChatMessage
|
|
216
216
|
message={message}
|
|
217
|
+
messageId={message.clientMsgID || message.serverMsgID || ''}
|
|
217
218
|
isOutgoing={isOutgoing}
|
|
218
219
|
createdAtTime={message.sendTime || message.createTime}
|
|
219
220
|
customMessageItemFactory={customMessageItemFactory}
|