Home

mweinbach / agent-coworker

publicmweinbach/agent-coworker
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

Desktop UI: accessibility, previews, and UX fixes

3 months ago

b6db29d
Authored
Max Weinbach6/18/2026, 2:33:08 AM
Multiple desktop app improvements: clamp saved window bounds to the display work area to avoid oversized windows on smaller screens; add a skip-to-content link, main-content ARIA/keyboard handling, and other accessibility/ARIA tweaks. Improve code and file previews: add truncation for large code previews with an "Open externally" action, code-block copy/expand controls, line-count handling, and lazy-loading for PPTX slide images. Replace blocking alerts with inline prompt error UI in Canvas and spreadsheet canvases, and add InlineErrorBoundary wrappers around file/preview components to avoid whole-panel crashes. Misc UX refinements: global reduced-motion guard for Tailwind utilities, scroll/restore optimizations (useLayoutEffect and synchronous scroll restore), composer/mention menu keyboard/scroll handling, minor styling and focus-ring fixes, and various small cleanups across chat, sidebar, and animator components.

Parent53d6136

65 files changed
  • apps/desktop/electron/services/windowState.ts+13−9
  • apps/desktop/src/App.tsx+27−3
  • apps/desktop/src/components/ai-elements/conversation.tsx+1−1
  • apps/desktop/src/components/ai-elements/tool.tsx+47−4
  • apps/desktop/src/styles.css+15−0
  • apps/desktop/src/ui/Canvas.tsx+17−2
  • apps/desktop/src/ui/ChatView.tsx+30−22
  • apps/desktop/src/ui/CodeFilePreview.tsx
+60
−21
  • apps/desktop/src/ui/ContextSidebar.tsx+5−2
  • apps/desktop/src/ui/FilePreviewModal.tsx+13−8
  • apps/desktop/src/ui/PptxPreview.tsx+1−0
  • apps/desktop/src/ui/PromptModal.tsx+11−8
  • apps/desktop/src/ui/Sidebar.tsx+9−5
  • apps/desktop/src/ui/UniverSpreadsheetCanvas.tsx+14−3
  • apps/desktop/src/ui/chat/ActivityGroupCard.tsx+11−4
  • apps/desktop/src/ui/chat/ChatComposer.tsx+4−2
  • apps/desktop/src/ui/chat/ChatFeed.tsx+16−6
  • apps/desktop/src/ui/chat/ChatThreadHeader.tsx+1−0
  • apps/desktop/src/ui/chat/ComposerMentionInput.tsx+28−26
  • apps/desktop/src/ui/chat/ComposerMentionMenu.tsx+30−2
  • apps/desktop/src/ui/chat/ComposerModelSelector.tsx+1−1
  • apps/desktop/src/ui/chat/FeedRow.tsx+88−12
  • apps/desktop/src/ui/chat/SandboxApprovalCard.tsx+27−1
  • apps/desktop/src/ui/chat/a2ui/A2uiRenderer.tsx+7−3
  • apps/desktop/src/ui/markdown/DesktopMarkdown.tsx+64−9
  • apps/desktop/src/ui/onboarding/DesktopOnboarding.tsx+80−21
  • apps/desktop/src/ui/plugins/InstallPluginDialog.tsx+7−7
  • apps/desktop/src/ui/plugins/PluginCardGrid.tsx+1−1
  • apps/desktop/src/ui/plugins/PluginDetailDialog.tsx+15−3
  • apps/desktop/src/ui/quickChat/QuickChatShell.tsx+4−1
  • apps/desktop/src/ui/research/ResearchDetailPane.tsx+199−196
  • apps/desktop/src/ui/research/ResearchExportMenu.tsx+59−97
  • apps/desktop/src/ui/research/ResearchSourcesList.tsx+11−3
  • apps/desktop/src/ui/settings/SettingsShell.tsx+33−3
  • apps/desktop/src/ui/settings/pages/AdvancedMemoryPanel.tsx+35−1
  • apps/desktop/src/ui/settings/pages/ArchivedChatsPage.tsx+1−1
  • apps/desktop/src/ui/settings/pages/DeveloperPage.tsx+12−1
  • apps/desktop/src/ui/settings/pages/McpServersPage.tsx+18−6
  • apps/desktop/src/ui/settings/pages/MemoryPage.tsx+49−9
  • apps/desktop/src/ui/settings/pages/OpenAiNativeConnectorsPage.tsx+5−1
  • apps/desktop/src/ui/settings/pages/SubagentsPage.tsx+16−4
  • apps/desktop/src/ui/settings/pages/WorkspacesPage.tsx+32−36
  • apps/desktop/src/ui/sidebar/SidebarOneOffChatItem.tsx+0−14
  • apps/desktop/src/ui/sidebar/SidebarWorkspaceItem.tsx+1−14
  • apps/desktop/src/ui/sidebar/ThreadOverflowMenu.tsx+41−19
  • apps/desktop/src/ui/skills/SkillDetailDialog.tsx+12−2
  • apps/desktop/src/ui/skills/SkillsCatalogPage.tsx+69−66
  • apps/desktop/test/desktop-onboarding.test.tsx+39−0
  • apps/desktop/test/memory-page.test.ts+3−2
  • apps/desktop/test/plugins-catalog-page.test.ts+1−1
  • apps/desktop/test/research-export-menu.test.tsx+16−6
  • apps/desktop/test/settings-shell.test.ts+18−1
  • apps/desktop/test/skills-catalog-page.test.ts+1−1
  • apps/desktop/test/subagents-page.test.ts+3−2
  • apps/desktop/test/thread-overflow-menu.test.tsx+7−21
  • apps/desktop/test/window-state.test.ts+18−8
  • apps/mobile/src/app/(app)/(tabs)/skills/index.tsx+64−66
  • apps/mobile/src/app/(app)/settings/index.tsx+2−1
  • apps/mobile/src/app/(app)/settings/mcp.tsx+28−18
  • apps/mobile/src/app/(app)/thread/[id].tsx+11−13
  • apps/mobile/src/app/(app)/workspace/general.tsx+7−4
  • apps/mobile/src/components/ComposerBar.tsx+1−0
  • apps/mobile/src/components/ui/screen.tsx+24−3
  • apps/mobile/src/components/workspace/workspace-switcher.tsx+10−2
  • test/mobile.thread-toolbar.test.tsx+293−0