Skip to content

Show parallel test sessions in a single grid webview instead of opening new tabs#33

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/add-debugger-grid-view
Draft

Show parallel test sessions in a single grid webview instead of opening new tabs#33
Copilot wants to merge 2 commits intomainfrom
copilot/add-debugger-grid-view

Conversation

Copy link
Contributor

Copilot AI commented Feb 26, 2026

Parallel test runs each spawned a new VS Code tab, causing tab explosion. This replaces per-session WebviewPanel instances with a single shared grid panel that dynamically adds iframe cells as sessions arrive.

Architecture

  • Single panel: debuggerPanels: Map<string, WebviewPanel> → one gridPanel + activeSessions: Map<string, SessionData>
  • Ready queue: webview posts { type: 'ready' } on load; extension queues postMessage calls until then, avoiding the async race between setting .html and sending messages
  • WebSocket events forwarded to the correct iframe via _gridSessionId routing field

Grid layout

cols = Math.ceil(√n)
rows = Math.ceil(n / cols)
Sessions Layout
1 1×1 (full-size)
2 2×1
3–4 2×2
5–6 3×2
7–9 3×3

Webview messages (extension → grid)

Type Effect
addSession Creates a new iframe cell with a title header
updateTitle Updates a cell's status header (Running / Passed / Failed / Done)
removeSession Removes a cell and recalculates layout

Replaces getWaitingHtml + getDebuggerHtml with a single getGridHtml that starts in a waiting state and manages cells dynamically without reloading existing iframes.


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Co-authored-by: ianjennings <318295+ianjennings@users.noreply.github.com>
Copilot AI changed the title [WIP] Add grid view for parallel test debuggers Show parallel test sessions in a single grid webview instead of opening new tabs Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants