↗↙ Communications ({comms.length})
diff --git a/canvas/src/components/ConversationTraceModal.tsx b/canvas/src/components/ConversationTraceModal.tsx
index 61a834c06..ccc874dde 100644
--- a/canvas/src/components/ConversationTraceModal.tsx
+++ b/canvas/src/components/ConversationTraceModal.tsx
@@ -125,7 +125,7 @@ export function ConversationTraceModal({ open, workspaceId: _workspaceId, onClos
aria-label="Close conversation trace"
className="text-ink-mid hover:text-ink-mid text-lg px-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-surface"
>
- ✕
+ ✕
diff --git a/canvas/src/components/OrgImportPreflightModal.tsx b/canvas/src/components/OrgImportPreflightModal.tsx
index 6bc4ea480..4b5f8b830 100644
--- a/canvas/src/components/OrgImportPreflightModal.tsx
+++ b/canvas/src/components/OrgImportPreflightModal.tsx
@@ -406,7 +406,7 @@ function StrictEnvRow({
{envKey}
{configured ? (
-
✓ set
+
✓ set
) : (
<>
{isConfigured ? (
-
✓ set
+
✓ set
) : (
<>
>)
}}
className="flex items-center gap-1.5 mt-1 w-full bg-accent/10 px-2 py-1 rounded-md border border-accent/40 hover:bg-accent/20 transition-colors text-left focus-visible:ring-2 focus-visible:ring-accent/70 focus-visible:outline-none"
>
-
↻
+
↻
Restart to apply changes
)}
diff --git a/canvas/src/components/tabs/ActivityTab.tsx b/canvas/src/components/tabs/ActivityTab.tsx
index 092a58bc9..c34f1b8c5 100644
--- a/canvas/src/components/tabs/ActivityTab.tsx
+++ b/canvas/src/components/tabs/ActivityTab.tsx
@@ -145,7 +145,7 @@ export function ActivityTab({ workspaceId }: Props) {
: "text-ink-mid hover:text-ink-mid hover:bg-surface-card/60"
}`}
>
-
{f.icon} {f.label}
+
{f.icon} {f.label}
))}
@@ -260,7 +260,7 @@ function ActivityRow({
)}
-
+
{statusStyle.icon}
@@ -274,7 +274,7 @@ function ActivityRow({
{formatTime(entry.created_at)}
-
+
{expanded ? "▼" : "▶"}
diff --git a/canvas/src/components/tabs/ChatTab.tsx b/canvas/src/components/tabs/ChatTab.tsx
index d6a9b85ca..5aa1410e7 100644
--- a/canvas/src/components/tabs/ChatTab.tsx
+++ b/canvas/src/components/tabs/ChatTab.tsx
@@ -383,7 +383,7 @@ function MyChatPanel({ workspaceId, data }: Props) {
// ignore — user will see no change and can retry
}
}}
- className="px-2 py-0.5 text-[10px] font-medium bg-accent/10 hover:bg-accent/20 text-accent rounded border border-accent/30 transition-colors shrink-0"
+ className="px-2 py-0.5 text-[10px] font-medium bg-accent/10 hover:bg-accent/20 text-accent rounded border border-accent/30 transition-colors shrink-0 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-zinc-900"
>
Enable
@@ -582,7 +582,7 @@ function MyChatPanel({ workspaceId, data }: Props) {
Processing with {runtimeDisplayName(data.runtime)}...
{activityLog.map((line, i) => (
-
◇ {line}
+
◇ {line}
))}
)}
diff --git a/canvas/src/components/tabs/FilesTab/FileEditor.tsx b/canvas/src/components/tabs/FilesTab/FileEditor.tsx
index db5301c5d..e757c41e2 100644
--- a/canvas/src/components/tabs/FilesTab/FileEditor.tsx
+++ b/canvas/src/components/tabs/FilesTab/FileEditor.tsx
@@ -35,7 +35,7 @@ export function FileEditor({
return (
-
📄
+
📄
Select a file to edit
@@ -47,7 +47,7 @@ export function FileEditor({
{/* File header */}
- {getIcon(selectedFile, false)}
+ {getIcon(selectedFile, false)}
{selectedFile}
{isDirty && modified}
diff --git a/canvas/src/components/tabs/FilesTab/FileTree.tsx b/canvas/src/components/tabs/FilesTab/FileTree.tsx
index 0e32bc455..2c5800878 100644
--- a/canvas/src/components/tabs/FilesTab/FileTree.tsx
+++ b/canvas/src/components/tabs/FilesTab/FileTree.tsx
@@ -199,6 +199,9 @@ function TreeItem({
return (
onToggleDir(node.path)}
+ onKeyDown={(e) => {
+ if (e.key === "Enter" || e.key === " ") {
+ e.preventDefault();
+ onToggleDir(node.path);
+ }
+ }}
onContextMenu={(e) => openContextMenu(e, node)}
{...dragProps}
>
- {isLoading ? "…" : expanded ? "▼" : "▶"}
- 📁
+ {isLoading ? "…" : expanded ? "▼" : "▶"}
+ 📁
{node.name}
diff --git a/canvas/src/components/tabs/ScheduleTab.tsx b/canvas/src/components/tabs/ScheduleTab.tsx
index b25fbf1d6..f0af58709 100644
--- a/canvas/src/components/tabs/ScheduleTab.tsx
+++ b/canvas/src/components/tabs/ScheduleTab.tsx
@@ -313,7 +313,7 @@ export function ScheduleTab({ workspaceId }: Props) {
{schedules.length === 0 && !showForm ? (
-
⏲
+
⏲
No schedules yet
Add a schedule to run tasks automatically — daily scans, periodic reports, standup reminders.
diff --git a/canvas/src/components/tabs/chat/AttachmentViews.tsx b/canvas/src/components/tabs/chat/AttachmentViews.tsx
index 0d01a425d..7a2a47ea2 100644
--- a/canvas/src/components/tabs/chat/AttachmentViews.tsx
+++ b/canvas/src/components/tabs/chat/AttachmentViews.tsx
@@ -33,7 +33,7 @@ export function PendingAttachmentPill({