From 90d4b87c32736373b5b05c3cebbea7419666f9cb Mon Sep 17 00:00:00 2001 From: Steve Dudenhoeffer Date: Tue, 21 Jul 2026 08:56:42 -0400 Subject: [PATCH] Let the container align the undo outcome note Spotted in the DOM while verifying the undo fix: OutcomeNote hard-coded text-right, which suited the history list (a narrow right-hand column) and read against itself in the chat panel, where the note sits under a left-aligned assistant message. Alignment belongs to whoever is doing the laying out, so the note carries none and the history entry asks for text-right where it wants it. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01H3zbym8Doka2d7D48maSgZ --- web/src/editor/HistoryPanel.tsx | 2 +- web/src/editor/UndoButton.tsx | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/web/src/editor/HistoryPanel.tsx b/web/src/editor/HistoryPanel.tsx index 5762f31..ff88795 100644 --- a/web/src/editor/HistoryPanel.tsx +++ b/web/src/editor/HistoryPanel.tsx @@ -116,7 +116,7 @@ function HistoryEntry({ )} diff --git a/web/src/editor/UndoButton.tsx b/web/src/editor/UndoButton.tsx index 570cda7..3d3f1c7 100644 --- a/web/src/editor/UndoButton.tsx +++ b/web/src/editor/UndoButton.tsx @@ -43,8 +43,12 @@ const TONE_CLASS: Record, string> = { function OutcomeNote({ outcome }: { outcome: UndoOutcome }) { if (outcome.tone === 'pending') return null + // No text alignment of its own: the container decides. The history list stacks + // this to the right of an entry, the chat panel puts it under a left-aligned + // message, and a hard-coded text-right made the chat's copy read against its + // own column. return ( -

+

{outcome.message}

)