From afa678c6e10fe685457de7169d221bae30a6c7e7 Mon Sep 17 00:00:00 2001 From: David Balderston Date: Sun, 15 Mar 2026 16:18:59 -0700 Subject: [PATCH] Move user message metadata outside the chat bubble Split the user message container so the gray bubble wraps only the message content. Render the timestamp and action buttons below the bubble on the white background to remove the large gray gap under short messages. --- .../src/components/chat/MessagesTimeline.tsx | 90 ++++++++++--------- 1 file changed, 46 insertions(+), 44 deletions(-) diff --git a/apps/web/src/components/chat/MessagesTimeline.tsx b/apps/web/src/components/chat/MessagesTimeline.tsx index e30801041f..2e39ed1939 100644 --- a/apps/web/src/components/chat/MessagesTimeline.tsx +++ b/apps/web/src/components/chat/MessagesTimeline.tsx @@ -340,50 +340,52 @@ export const MessagesTimeline = memo(function MessagesTimeline({ const canRevertAgentWork = revertTurnCountByUserMessageId.has(row.message.id); return (
-
- {userImages.length > 0 && ( -
- {userImages.map( - (image: NonNullable[number]) => ( -
- {image.previewUrl ? ( - - ) : ( -
- {image.name} -
- )} -
- ), - )} -
- )} - {row.message.text && ( -
-                    {row.message.text}
-                  
- )} -
+
+
+ {userImages.length > 0 && ( +
+ {userImages.map( + (image: NonNullable[number]) => ( +
+ {image.previewUrl ? ( + + ) : ( +
+ {image.name} +
+ )} +
+ ), + )} +
+ )} + {row.message.text && ( +
+                      {row.message.text}
+                    
+ )} +
+
{row.message.text && } {canRevertAgentWork && (