From 82e58b44994c1988b88650fcde227bc46b1f3623 Mon Sep 17 00:00:00 2001 From: Vithorio Polten Date: Thu, 18 Jun 2026 19:31:10 -0300 Subject: [PATCH 1/3] Ignore .worktrees/ directory for local git worktrees --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 21907de2..3d1bf84a 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,6 @@ crates/client-web/dist/ # dev temp files .dev/ + +# git worktrees +.worktrees/ From b27fc7890081816fd91b2e36262a630e0328c497 Mon Sep 17 00:00:00 2001 From: Vithorio Polten Date: Thu, 18 Jun 2026 19:34:32 -0300 Subject: [PATCH 2/3] Fix logs Message column collapsing on narrow viewports The log-entries table used table auto-layout with no per-column sizing, so the Message column's wrapped
 could be crushed down to a few characters wide
on small screens. Tag the Message header/cells with .log-message-col and give
them a 70ch min/width. Since the table lives in a horizontally scrollable
.table-shell, this never clips content; it just guarantees a readable minimum.
---
 crates/client-web/src/app/dashboardView.ts | 4 ++--
 crates/client-web/src/style.css            | 9 +++++++++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/crates/client-web/src/app/dashboardView.ts b/crates/client-web/src/app/dashboardView.ts
index d401bd71..a9801d89 100644
--- a/crates/client-web/src/app/dashboardView.ts
+++ b/crates/client-web/src/app/dashboardView.ts
@@ -269,7 +269,7 @@ export function renderLogViewer(): string {
                   Level
                   Module
                   Source
-                  Message
+                  Message
                 
               
               ${logEntries.map((entry) => {
@@ -285,7 +285,7 @@ export function renderLogViewer(): string {
                   ${escapeHtml(entry.level)}
                   ${escapeHtml(entry.module)}
                   ${escapeHtml(entry.source_file_path)}${typeof entry.line_number === 'number' ? `:${entry.line_number}` : ''}
-                  
${escapeHtml(entry.message)}
+
${escapeHtml(entry.message)}
`; }).join('')} diff --git a/crates/client-web/src/style.css b/crates/client-web/src/style.css index 5104f099..cb7fd9ce 100644 --- a/crates/client-web/src/style.css +++ b/crates/client-web/src/style.css @@ -2123,6 +2123,15 @@ legend { font-size: 0.84rem; } +/* The Message column keeps a fixed minimum width in characters regardless of + available viewport space. Since the table sits inside a horizontally + scrollable .table-shell, this never clips it; it just guarantees the column + is always wide enough to read instead of getting crushed by auto-layout. */ +.log-entries-table .log-message-col { + min-width: 70ch; + width: 70ch; +} + .log-filter-row { align-items: end; } From bae4818175915897233e692c2775299ec18a58d7 Mon Sep 17 00:00:00 2001 From: Vithorio Polten Date: Thu, 18 Jun 2026 22:28:44 -0300 Subject: [PATCH 3/3] Make dev:mock cross-platform via vite --mode mock The dev:mock script used `set VAR=true&&`, cmd.exe syntax that breaks on macOS/Linux (shells that don't understand `set X=Y`). Switch to Vite's first-class --mode flag: `vite --mode mock` auto-loads the new .env.mock, which sets VITE_USE_MOCK_API=true. This is OS-agnostic and requires no new dependencies. The old Windows behavior is preserved as dev:mock:win for anyone who needs it. --- crates/client-web/.env.mock | 4 ++++ crates/client-web/package.json | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 crates/client-web/.env.mock diff --git a/crates/client-web/.env.mock b/crates/client-web/.env.mock new file mode 100644 index 00000000..5274a2eb --- /dev/null +++ b/crates/client-web/.env.mock @@ -0,0 +1,4 @@ +# Activated automatically by `npm run dev:mock`, which runs `vite --mode mock`. +# Vite loads `.env.[mode]` files, so this file turns on the in-browser mock API +# without needing any OS-specific env-var syntax in package.json scripts. +VITE_USE_MOCK_API=true diff --git a/crates/client-web/package.json b/crates/client-web/package.json index f57aeb14..b07a5603 100644 --- a/crates/client-web/package.json +++ b/crates/client-web/package.json @@ -5,7 +5,8 @@ "type": "module", "scripts": { "dev": "vite", - "dev:mock": "set VITE_USE_MOCK_API=true&& vite", + "dev:mock": "vite --mode mock", + "dev:mock:win": "set VITE_USE_MOCK_API=true&& vite", "build": "vite build", "preview": "vite preview", "check": "tsc --noEmit"