From 09722f4b16e1d838fd2214a237809155d4d3a45b Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Tue, 1 Sep 2026 00:53:24 -0400 Subject: [PATCH] =?UTF-8?q?=E2=9C=94=EF=B8=8F=20style:=20Anchor=20the=20Ap?= =?UTF-8?q?plied=20Steer=20Receipt=20and=20Name=20Tool=20Calls=20in=20Its?= =?UTF-8?q?=20Interrupt=20Copy=20(#15450)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ✔️ style: Anchor the Applied Steer Receipt at the Row's Trailing Edge * 💬 style: Say Tool Calls Are Not Interrupted Either --- .../Chat/Messages/Content/Parts/SteerPart.tsx | 8 ++++++-- .../Content/Parts/__tests__/SteerPart.test.tsx | 15 ++++++++++++++- client/src/locales/en/translation.json | 2 +- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/client/src/components/Chat/Messages/Content/Parts/SteerPart.tsx b/client/src/components/Chat/Messages/Content/Parts/SteerPart.tsx index ca472fed1c..dcd84772b2 100644 --- a/client/src/components/Chat/Messages/Content/Parts/SteerPart.tsx +++ b/client/src/components/Chat/Messages/Content/Parts/SteerPart.tsx @@ -155,9 +155,13 @@ const SteerPart = memo(function SteerPart({ -
+ {/* The receipt trails the timestamp so the always-visible checks sit + * flush under the bubble's bottom-right corner. Leading them would + * park them wherever the hover-revealed time happens to end, and that + * width changes as the relative string ticks. */} +
+ -
{otherFiles.length > 0 && ( diff --git a/client/src/components/Chat/Messages/Content/Parts/__tests__/SteerPart.test.tsx b/client/src/components/Chat/Messages/Content/Parts/__tests__/SteerPart.test.tsx index 6b4fdc1a06..852b8320e1 100644 --- a/client/src/components/Chat/Messages/Content/Parts/__tests__/SteerPart.test.tsx +++ b/client/src/components/Chat/Messages/Content/Parts/__tests__/SteerPart.test.tsx @@ -17,7 +17,7 @@ jest.mock('~/Providers', () => ({ jest.mock('~/components/Chat/Messages/ui/MessageTimestamp', () => ({ __esModule: true, - default: () => null, + default: () =>