diff --git a/canvas/src/components/CommunicationOverlay.tsx b/canvas/src/components/CommunicationOverlay.tsx
index 6f37b4c8..f61b662c 100644
--- a/canvas/src/components/CommunicationOverlay.tsx
+++ b/canvas/src/components/CommunicationOverlay.tsx
@@ -145,19 +145,19 @@ export function CommunicationOverlay() {
{c.sourceName}
- →
+ →
{c.targetName}
{statusIcon}
- {age}
+ {age}
{c.summary && (
{c.summary}
)}
{c.durationMs && (
- {c.durationMs}ms
+ {c.durationMs}ms
)}
);
diff --git a/canvas/src/components/ConversationTraceModal.tsx b/canvas/src/components/ConversationTraceModal.tsx
index 91467cbe..9b8851bc 100644
--- a/canvas/src/components/ConversationTraceModal.tsx
+++ b/canvas/src/components/ConversationTraceModal.tsx
@@ -162,7 +162,7 @@ export function ConversationTraceModal({ open, workspaceId, onClose }: Props) {
{/* Content */}
-
+
{time}
{entry.duration_ms != null && entry.duration_ms > 0 && (
-
+
{entry.duration_ms > 1000
? `${Math.round(entry.duration_ms / 1000)}s`
: `${entry.duration_ms}ms`}
@@ -199,7 +199,7 @@ export function ConversationTraceModal({ open, workspaceId, onClose }: Props) {
{sourceName || wsName}
- →
+ →
{targetName}
@@ -211,7 +211,7 @@ export function ConversationTraceModal({ open, workspaceId, onClose }: Props) {
{sourceName && (
<>
-
+
{" "}← {" "}
@@ -248,7 +248,7 @@ export function ConversationTraceModal({ open, workspaceId, onClose }: Props) {
{requestText.slice(0, 2000)}
{requestText.length > 2000 && (
- ...({requestText.length} chars)
+ ...({requestText.length} chars)
)}
@@ -259,7 +259,7 @@ export function ConversationTraceModal({ open, workspaceId, onClose }: Props) {
{responseText.slice(0, 2000)}
{responseText.length > 2000 && (
- ...({responseText.length} chars)
+ ...({responseText.length} chars)
)}
diff --git a/canvas/src/components/SearchDialog.tsx b/canvas/src/components/SearchDialog.tsx
index 44c79b90..02ced119 100644
--- a/canvas/src/components/SearchDialog.tsx
+++ b/canvas/src/components/SearchDialog.tsx
@@ -112,9 +112,9 @@ export function SearchDialog() {
onChange={(e) => setQuery(e.target.value)}
onKeyDown={handleInputKeyDown}
placeholder="Search workspaces..."
- className="flex-1 bg-transparent text-sm text-zinc-100 placeholder-zinc-600 focus:outline-none"
+ className="flex-1 bg-transparent text-sm text-zinc-100 placeholder-zinc-400 focus:outline-none"
/>
- ESC
+ ESC
{/* Results */}
@@ -125,7 +125,7 @@ export function SearchDialog() {
className="max-h-[300px] overflow-y-auto py-1"
>
{filtered.length === 0 ? (
-
+
{query ? "No workspaces match" : "No workspaces yet"}
) : (
@@ -156,7 +156,7 @@ export function SearchDialog() {
)}
T{node.data.tier}
@@ -168,10 +168,10 @@ export function SearchDialog() {
{/* Footer */}
-
{filtered.length} workspace{filtered.length !== 1 ? "s" : ""}
+
{filtered.length} workspace{filtered.length !== 1 ? "s" : ""}
- ↑↓ navigate
- ↵ select
+ ↑↓ navigate
+ ↵ select
diff --git a/canvas/src/components/TemplatePalette.tsx b/canvas/src/components/TemplatePalette.tsx
index 2e41ab35..12cb9fdf 100644
--- a/canvas/src/components/TemplatePalette.tsx
+++ b/canvas/src/components/TemplatePalette.tsx
@@ -319,7 +319,7 @@ export function TemplatePalette() {
: "bg-zinc-900/90 border border-zinc-700/50 text-zinc-400 hover:text-zinc-200 hover:border-zinc-600"
}`}
title="Template Palette"
- aria-label="Template Palette"
+ aria-label={open ? "Close template palette" : "Open template palette"}
>