Repository navigation
feat(dashboard): dock the agent board above the workspace - #19840
chanyang721 wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
ℹ️ No critical issues — one minor consistency gap flagged inline.
Reviewed changes
- Docked board surface — new
AgentDashboardDockrendered above the workbench, sharing the extractedAgentDashboardInWindowBoardbody with the existing sidebar sheet. - Dock setting — new
AgentDashboardDockSettingswitch wired into the board settings menu and the Experimental settings pane, including search and en/ko copy. - Sidebar/shortcut coordination —
AgentDashboardSidebarHostand the dashboard shortcut now leave the drawer alone while docked, so the dock persists through sidebar collapse, workspace-board open, and Escape. - Layout plumbing — the dock reserves titlebar chrome and collapses the tab strip's floating-header spacer via a
--collapsed-sidebar-header-widthoverride. - Settings + i18n + tests — one optional boolean setting, reworded
modeCopy, and unit + e2e coverage for docking, terminal-width preservation, and delayed-status search-focus.
DeepSeek Pro (free via Pullfrog for OSS) | 𝕏
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (6)
Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughAdds an opt-in Merge Risk: ⚪ Minimal · up to This opt-in setting docks the Agent Dashboard above the workspace while preserving sidebar restoration and workspace use. Current merge-readiness risk is minimal. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Advanced
Run ID: bccb915a-1c2a-4266-9967-3ccdfa81dc37
📒 Files selected for processing (17)
src/renderer/src/app-shell/AppWorkspaceShell.tsxsrc/renderer/src/components/dashboard/AgentDashboardDock.test.tsxsrc/renderer/src/components/dashboard/AgentDashboardDock.tsxsrc/renderer/src/components/dashboard/AgentDashboardDrawer.tsxsrc/renderer/src/components/dashboard/AgentDashboardInWindowBoard.tsxsrc/renderer/src/components/dashboard/AgentDashboardSettingsMenu.tsxsrc/renderer/src/components/settings/AgentDashboardDockSetting.tsxsrc/renderer/src/components/settings/AgentDashboardExperimentalSetting.tsxsrc/renderer/src/components/settings/experimental-search.tssrc/renderer/src/components/sidebar/AgentDashboardSidebarHost.test.tsxsrc/renderer/src/components/sidebar/AgentDashboardSidebarHost.tsxsrc/renderer/src/hooks/ipc-events/agent-dashboard-command.tssrc/renderer/src/hooks/useIpcEvents-agent-dashboard-shortcut.test.tssrc/renderer/src/i18n/locales/en.jsonsrc/renderer/src/i18n/locales/ko.jsonsrc/shared/global-settings-types.tstests/e2e/agent-dashboard-dock.spec.ts
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.
| ]} | ||
| /> | ||
| </div> | ||
| <AgentDashboardDockSetting settings={settings} updateSettings={updateSettings} /> | ||
| </div> | ||
| ) : null} | ||
| </SearchableSetting> |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Reopen the sidebar when disabling “Dock above workspace”.
The experimental settings page forwards the update without opening the sidebar. If the docked dashboard is open while the sidebar is closed, AgentDashboardSidebarHost clears agentDashboardDrawerOpen, so the dock disappears and the dashboard is not restored as a sidebar sheet. Match AgentDashboardSettingsMenu by calling setSidebarOpen(true) before applying the update.
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
This run reviewed the follow-up commit e282e80 ("fix(dashboard): preserve board visibility across navigation"), which addresses the full-page visibility gap and settings-page restoration gap flagged in the prior review.
- Extended the full-page exclusion set — the dock's
visiblegate now also hides onactivityandspace, matching theshowSidebarexclusions inuseAppChromeLayout, so those pages are no longer pushed down by the board. - Centralized the sidebar-open handoff — the "open the sidebar before its host discards the undocked board" logic now lives in the shared
AgentDashboardDockSettingswitch, so undocking from both the board settings menu and the Experimental settings pane restores the sidebar sheet (the menu's now-redundant inline wrapper was removed). - Added regression coverage — a
settings/activity/spacevisibility matrix inAgentDashboardDock.test.tsx, a settings-page undocking test inAgentDashboardExperimentalSetting.test.tsx, and an e2e scenario exercising activity/space hiding, workspace restoration, and settings-page undocking with the sidebar closed.
DeepSeek Pro (free via Pullfrog for OSS) | 𝕏
|
Closing this for now; it has drifted far behind main. I'll come back with smaller, focused PRs. |

ELI5
Keep the existing Agent Dashboard above the workspace while using terminals or chats below it. The sidebar can stay closed, so monitoring agents no longer requires giving up workspace width or repeatedly reopening the dashboard.
What Changed
min(360px, 45vh)and preserve the existing window controls and terminal tab spacing. Drag resizing is outside this change.The experiment remains opt-in. The optional persisted docking preference defaults to false; the existing in-window/pop-out mode enum and dashboard visibility state remain unchanged.
Why
This extends the current dashboard rather than introducing another status model or monitoring screen. The implementation follows the existing shortcut routing from #15353 (
d566737), shared workspace/session reveal path from #18403 (232d04f), and snapshot isolation established in #17497 (ad5ba25). It also keeps configuration in the experimental dashboard setting used by #18245.Linked Issue
Fixes #19838
Visual Proof
Actual hidden Electron renderer captures using an isolated test repository and synthetic agent status; no images are committed.
Before — the existing sidebar companion sheet covers the workspace:
After — the same dashboard above the terminal, with the sidebar closed:
Dark theme and the existing settings menu
Testing
Windows native Electron was exercised through Playwright/CDP, with all agent-launched apps using
ORCA_BACKGROUND_LAUNCH=1. The author reviewed the actual screenshots; there was no foreground manual interaction test.pnpm lint,pnpm typecheck, andpnpm build: passed. The build also verifies bundled skills and the projected web client.pnpm run check:code-quality:changed: passed, with no new code-quality, type-aware, or React Doctor findings.config/vitest.config.tspassed 575 tests across 74 suites, covering the dashboard/pop-out, sidebar host, settings, shortcut routing, snapshot isolation, and folder/remote behavior. New regression tests reproduced both reported bugs on the previous commit and pass with the fixes.pnpm testwas attempted but its native-runtime preflight cannot rebuild node-pty on this machine because Visual Studio C++ build tools are absent. The direct scoped Vitest run is not a full-suite pass; CI still needs to run the standard suite.To reproduce: enable the experimental Agent Dashboard, open it, and turn on Dock above workspace in its settings menu. Use a terminal, collapse the sidebar, and switch workspaces. The board should remain above the workspace. Toggle docking off to return to the companion sheet; select Pop-out to retain the existing separate-window behavior.
AI Disclosure
Codex (GPT-6) assisted with implementation, code review, tests, and this description. The author reviewed the rendered preview. The review below is an AI self-review, not an independent human review.
Review
AgentKanbanBoard,SettingsSwitchRow, existing shadcn controls, theme tokens, typography, icons, and localized labels. The dock has a named region; keyboard switching and narrow/light/dark layouts were checked. Window chrome is reserved above it.useLiveDashboardSnapshotandrevealDashboardAgent, includingactivateAndRevealWorkspaceand execution-host identity. It does not replace remote execution authority or assume every workspace is a git worktree.Agent skill upstream boundary
docs/reference/agent-skill-sharing-upstream-boundary.mdand copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.Notes
No dependency, generated skill catalog, or release-version changes. Full native tests and untested platforms remain explicit validation gaps.
Author
Chanyang Lee (@chanyang721). X/Twitter: @HWHCBWDOAhUTNoZ.
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred) — the standard fullpnpm testrun remains blocked by the missing Visual Studio C++ toolchain; scoped test passes do not satisfy this combined item.