Skip to content

feat: add Copilot CLI resume support to session dropdown#173

Merged
wesm merged 5 commits intowesm:mainfrom
MCBoarder289:copilot-open-mechanics
Mar 15, 2026
Merged

feat: add Copilot CLI resume support to session dropdown#173
wesm merged 5 commits intowesm:mainfrom
MCBoarder289:copilot-open-mechanics

Conversation

@MCBoarder289
Copy link
Copy Markdown
Contributor

This is simply adding copilot support for the resume session dropdown.

Here's what all changed and is mentioned in the commit message:

  • Add "copilot" to resumeAgents map with command template "copilot --resume=%s"
  • Add RESUME_AGENTS["copilot"] to frontend resume.ts
  • Update readSessionCwd to also extract cwd from data.context.cwd, matching the Copilot session.start JSONL format
  • Update resume_handler_test: replace copilot unsupported test with a passing copilot command_only test; use cursor for unsupported case
  • Update resume.test.ts: mark copilot as supported, add copilot command generation test
  • Add TestReadSessionCwd_CopilotFormat for the data.context.cwd path

- Add "copilot" to resumeAgents map with command template
  "copilot --resume=%s"
- Add RESUME_AGENTS["copilot"] to frontend resume.ts
- Update readSessionCwd to also extract cwd from data.context.cwd,
  matching the Copilot session.start JSONL format
- Update resume_handler_test: replace copilot unsupported test with
  a passing copilot command_only test; use cursor for unsupported case
- Update resume.test.ts: mark copilot as supported, add copilot
  command generation test
- Add TestReadSessionCwd_CopilotFormat for the data.context.cwd path

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@roborev-ci
Copy link
Copy Markdown

roborev-ci bot commented Mar 14, 2026

roborev: Combined Review (00fde4a)

Summary Verdict: The commit adding Copilot CLI resume support is clean and safe, with no medium, high, or critical issues found.

All agents agree the code is clean.


Synthesized from 3 reviews (agents: codex, gemini | types: default, security)

Use a realistic prefixed session ID (copilot:abc123) and assert the
exact command string to verify the agent-prefix stripping logic.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@roborev-ci
Copy link
Copy Markdown

roborev-ci bot commented Mar 15, 2026

roborev: Combined Review (d4fee72)

Summary: The PR successfully adds Copilot session resume support, but introduces a medium severity issue regarding hardcoded launcher commands.

Medium

  • Hardcoded copilot launcher command will fail for GitHub CLI users
    The
    new command templates in frontend/src/lib/utils/resume.ts:10 and [internal/server/resume.go](/home/robore
    v/.roborev/clones/wesm/agentsview/internal/server/resume.go):46 assume a standalone copilot binary is on PATH. On setups that only expose Copilot through the GitHub CLI shim, gh copilot is available and its help explicitly says Copilot flags/
    args must be passed after --. In that common setup, the new resume button will copy/launch a command that simply does not exist.
    Suggested fix: Resolve the launcher dynamically on the backend, preferring copilot when present and otherwise emitting a gh copilot -- ... form, then avoid hardcoding a
    separate frontend fallback for Copilot.

Synthesized from 3 reviews (agents: codex, gemini | types: default, security)

wesm and others added 3 commits March 15, 2026 14:14
Restrict the pull_request paths filter to directories that actually
affect the desktop binary: cmd/agentsview/, internal/web/, desktop/,
and frontend/. Previously internal/** triggered desktop builds for
any Go change including test-only modifications.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The desktop workflow wraps the Go sidecar binary in a Tauri shell.
Go compilation and correctness are already validated by ci.yml (build,
test, vet, lint). The desktop build only needs to run when the Tauri
wrapper, frontend assets, or workflow config change — not for every
Go code change.

Removed go.mod, go.sum, cmd/, and internal/ from the paths filter.
The desktop-release workflow (tag-triggered) still builds everything
for actual releases.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dependency changes can break CGO or cross-compilation in the Tauri
sidecar build in ways that the Linux-only CI wouldn't catch.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@roborev-ci
Copy link
Copy Markdown

roborev-ci bot commented Mar 15, 2026

roborev: Combined Review (e28dec0)

Summary: The PR successfully implements Copilot CLI resume support but introduces a CI coverage gap by narrowing path filters in the desktop artifacts workflow.

Medium

  • [.github/workflows/desktop-artifacts.yml:6](/home/roborev/.roborev/clones
    /wesm/agentsview/.github/workflows/desktop-artifacts.yml)

    Removing cmd/** and internal/** from the pull_request.paths filter creates a regression in desktop CI coverage. The desktop artifact job builds and packages a Go sidecar from ./cmd/agentsview and its dependencies under internal/**. With this change, a backend-only PR can break the desktop build or packaging without triggering the workflow.
    Suggested fix: Restore the backend-triggering paths to the filter (at minimum cmd/agentsview/** and relevant internal/** paths), or replace
    the path filter with a dependency-aware trigger to ensure any change affecting the bundled sidecar runs the desktop artifact job.

Synthesized from 3 reviews (agents: codex, gemini | types: default, security)

@wesm wesm merged commit 9486d06 into wesm:main Mar 15, 2026
9 checks passed
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