From efb468560e4505f77ed99aeb6317fcd8542ed217 Mon Sep 17 00:00:00 2001 From: menzelj Date: Tue, 16 Jun 2026 07:49:57 +0000 Subject: [PATCH] =?UTF-8?q?0.34.0:=20stack=20log=20viewer=20=E2=80=94=20fi?= =?UTF-8?q?xed=20height,=20container=20filter,=20severity=20coloring?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Frontend-only release. Overhauls the stack Logs tab: - Fix the log panel growing down the page (AppShell
has no definite height, so the page h-full/flex-1 chain collapsed to auto): the scroll area now uses a fixed h-[65vh] instead of flex-1. - Filter by container (service setServiceFilter(e.target.value)} + className="rounded-lg border border-slate-300 bg-white px-2 py-1.5 text-sm text-slate-900 outline-none focus:border-accent focus:ring-1 focus:ring-accent dark:border-slate-600 dark:bg-slate-800 dark:text-slate-100" + > + + {services.map((s) => ( + + ))} + +
+ + setSearch(e.target.value)} + placeholder="Filter…" + className="w-44 py-1.5 pl-8 pr-7" + /> + {search && ( + + )} +
+ + {filtered.length === lines.length + ? `${lines.length} lines` + : `${filtered.length} / ${lines.length} lines`} + +
{error && (
@@ -116,14 +202,23 @@ export function LogViewer({ stackId, agentId }: { stackId: string; agentId?: num {lines.length === 0 && !error && (
Waiting for log output…
)} - {lines.map((l, i) => ( -
- {l.service && ( - {l.service} - )} - {l.line} -
- ))} + {lines.length > 0 && filtered.length === 0 && !error && ( +
No lines match the current filter.
+ )} + {filtered.map((l, i) => { + const style = levelStyles[l.level]; + return ( +
+ {l.service && ( + {l.service} + )} + {l.line} +
+ ); + })}
);