diff --git a/ui/src/components/logs/logs-entry-list.tsx b/ui/src/components/logs/logs-entry-list.tsx
index f8fe46dc..e88eb2f5 100644
--- a/ui/src/components/logs/logs-entry-list.tsx
+++ b/ui/src/components/logs/logs-entry-list.tsx
@@ -25,12 +25,12 @@ export interface LogsEntryListProps {
}
// Column layout shared by the header and every row variant:
-// chevron(16) · time(88) · level(64) · stage(72) · module(140) · message(flex) · latency(72) · request(112)
-// The dedicated `stage` column is rendered as an empty span on rows that
-// have no stage hint so column edges align across leaf, trace head, and
-// trace child rows alike.
+// chevron(16) · time(88) · level(64) · module(120) · message(flex) · latency(64) · request(100)
+// Stage chips render inline at the start of the MESSAGE column rather
+// than as a dedicated column. Fixed columns kept lean so MESSAGE has
+// breathing room at common saved-layout list-panel widths (~600px).
const COLS_TEMPLATE =
- 'grid grid-cols-[16px_88px_64px_72px_140px_minmax(0,1fr)_72px_112px] items-center gap-3 px-3';
+ 'grid grid-cols-[16px_88px_64px_120px_minmax(0,1fr)_64px_100px] items-center gap-3 px-3';
export function LogsEntryList({
entries,
@@ -152,7 +152,6 @@ export function LogsEntryList({
Time
Level
- Stage
Module
Message
diff --git a/ui/src/components/logs/logs-row.tsx b/ui/src/components/logs/logs-row.tsx
index c6675c39..62f2fd98 100644
--- a/ui/src/components/logs/logs-row.tsx
+++ b/ui/src/components/logs/logs-row.tsx
@@ -110,31 +110,29 @@ function LogsRowImpl({
- {/* Always reserve the stage column so leaf, trace head, and trace
- child rows all align under the same column edges in the header
- grid template. Children with `stageHint` show a chip; rows
- without one render an empty span at the same width. */}
- {stageHint ? (
-
- {stageHint}
-
- ) : (
-
- )}
{moduleLabel}
-
- {entry.message}
+
+ {/* Stage chip renders inline at the start of the message column
+ when a hint is available. Keeps the 7-column grid intact —
+ adding a dedicated stage column squeezed message to 0px at
+ common list-panel widths. */}
+ {stageHint ? (
+
+ {stageHint}
+
+ ) : null}
+ {entry.message}
{repeatCount && repeatCount > 1 ? (
×{repeatCount}
@@ -144,7 +142,7 @@ function LogsRowImpl({
@@ -153,7 +151,7 @@ function LogsRowImpl({
diff --git a/ui/src/components/logs/logs-trace-row.tsx b/ui/src/components/logs/logs-trace-row.tsx
index a6f14bf9..e5cc6e4c 100644
--- a/ui/src/components/logs/logs-trace-row.tsx
+++ b/ui/src/components/logs/logs-trace-row.tsx
@@ -79,11 +79,9 @@ function LogsTraceRowImpl({
- {/* Empty stage column for grid alignment with header + leaf rows. */}
-
{group.module}
@@ -94,7 +92,7 @@ function LogsTraceRowImpl({
@@ -103,7 +101,7 @@ function LogsTraceRowImpl({