diff --git a/apps/mobile/src/features/threads/ThreadFeed.tsx b/apps/mobile/src/features/threads/ThreadFeed.tsx index c0ab6f726cc..0fdd3bc94db 100644 --- a/apps/mobile/src/features/threads/ThreadFeed.tsx +++ b/apps/mobile/src/features/threads/ThreadFeed.tsx @@ -615,6 +615,7 @@ const markdownLinkStyles = StyleSheet.create({ height: 14, marginHorizontal: 3, transform: [{ translateY: 2 }], + flexShrink: 0, }, favicon: { borderRadius: 3, @@ -1142,7 +1143,7 @@ function useMarkdownStyles( > {ordered ? `${start + index}.` : "•"} - + @@ -1638,10 +1639,14 @@ function renderFeedEntry( return null; } + // Assistant messages hit the same Android unclamped-pass bug as user + // bubbles: wide markdown blocks cause children to be positioned at + // intrinsic width before the container is clamped, overlapping the + // timestamp/copy button row. Pinning the width removes that pass. const enterAnimated = isFreshTimestamp(message.createdAt); return ( {renderedText.trim().length > 0 ? (