Skip to content

feat: bridge Shift+Tab agent cycle from VS Code to webview (#878) - #879

Closed
jeonghun-jj-lee wants to merge 0 commit into
mainfrom
878-shift-tab-agent-cycle
Closed

feat: bridge Shift+Tab agent cycle from VS Code to webview (#878)#879
jeonghun-jj-lee wants to merge 0 commit into
mainfrom
878-shift-tab-agent-cycle

Conversation

@jeonghun-jj-lee

Copy link
Copy Markdown
Contributor

VS Code intercepts Tab keys before they reach the webview, so the in-app keybind alone is insufficient. This adds the VS Code→extension→webview→iframe bridge for the agent-cycle shortcut.

Extension side:

  • package.json: amicode.cycleAgent command + shift+tab keybinding (when amicode.chat panel is active)
  • extension.ts: command handler posts {kind: "agent-cycle"} to all live chat panels
  • chat_panel.ts: agent-cycle added to both lane 2 relay allowlists

Fork side (harmoniqs/opencode#310):

  • use-composer-commands.tsx: agent.cycle keybind → shift+tab, reverse → none
  • app.tsx: DesktopCommands listens for agent-cycle bridge messages and triggers command.trigger("agent.cycle")

Test fix:

  • mode_block.test.ts: session-creation timeout 60s → 120s (cold-start package install in temp HOME)

Closes #878
Depends on harmoniqs/opencode#310

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

Change agent-cycle shortcut from Cmd+. to Shift+Tab

1 participant