Skip to content

feat: add right panel tabs for workspace apps and ports#26208

Draft
ethanndickson wants to merge 3 commits into
mainfrom
ethan/agents-app-port-tabs
Draft

feat: add right panel tabs for workspace apps and ports#26208
ethanndickson wants to merge 3 commits into
mainfrom
ethan/agents-app-port-tabs

Conversation

@ethanndickson

@ethanndickson ethanndickson commented Jun 10, 2026

Copy link
Copy Markdown
Member

Builds on #26088 to add right-panel tabs in AgentsPage for workspace apps and forwarded ports, so users can keep app previews and port views alongside terminals while working in the chat view. Adds the add-tab control, the port preview panel, and persisted per-agent tab state for apps and ports. Extracts a shared usePortsData hook so the add-tab control, workspace pill, and the existing PortForwardButton read listening and shared ports from one place. Also fixes the tab list dropping persisted port tabs when the wildcard hostname is briefly empty, and restricts app tabs to embeddable apps.

Depends on #26088

@github-actions

Copy link
Copy Markdown

Docs preview

📖 View docs preview for docs/ai-coder/agents/index.md

Copy link
Copy Markdown
Member Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@ethanndickson ethanndickson changed the title feat(site/src/pages/AgentsPage): add workspace-app and port preview tabs feat: add right panel tabs for workspace apps and ports Jun 10, 2026
@ethanndickson ethanndickson force-pushed the ethan/agents-app-frame-refactor branch from 6e6d829 to 0476e85 Compare June 11, 2026 04:51
@ethanndickson ethanndickson force-pushed the ethan/agents-app-port-tabs branch from be8f4c3 to 350cef5 Compare June 11, 2026 04:51
@ethanndickson ethanndickson force-pushed the ethan/agents-app-frame-refactor branch from 0476e85 to 393908a Compare June 11, 2026 05:59
@ethanndickson ethanndickson force-pushed the ethan/agents-app-port-tabs branch from 350cef5 to 5f8c3b8 Compare June 11, 2026 05:59
@ethanndickson ethanndickson force-pushed the ethan/agents-app-frame-refactor branch from 393908a to aa8b5f2 Compare June 11, 2026 06:31
@ethanndickson ethanndickson force-pushed the ethan/agents-app-port-tabs branch 3 times, most recently from 4c7360a to eb4f9a3 Compare June 11, 2026 08:08
@ethanndickson ethanndickson force-pushed the ethan/agents-app-frame-refactor branch from 0db6498 to 51b7fad Compare June 11, 2026 08:08
@ethanndickson ethanndickson force-pushed the ethan/agents-app-frame-refactor branch from 51b7fad to 0887837 Compare June 11, 2026 13:34
@ethanndickson ethanndickson force-pushed the ethan/agents-app-port-tabs branch from eb4f9a3 to ef0f871 Compare June 11, 2026 13:34
Extend the Coder Agents right-panel add-tab control so users can open embeddable
workspace apps and forwarded ports as right-panel tabs alongside terminals.

The add-tab dropdown now lists the agent's visible workspace apps and a Ports
submenu. Command apps (e.g. Claude Code) open as a renamed terminal tab running
the app's command; embeddable subdomain apps open in a WorkspaceAppFrame tab;
non-embeddable apps fall back to the normal app launcher. Selecting a listening
or shared port opens a PortPreviewPanel tab built from the port-forward URL.

The Ports submenu reuses the existing WorkspacePillPorts data hook and menu
items, extended with an optional create-tab callback, instead of duplicating the
port-forwarding query and rendering logic.

Add the workspace_app and port variants to the right-panel tab model with
hydration validation that drops app tabs whose app no longer exists and port
tabs when wildcard access is unavailable, and document the feature.
@ethanndickson ethanndickson force-pushed the ethan/agents-app-port-tabs branch from ef0f871 to 24eae83 Compare June 11, 2026 14:28
Base automatically changed from ethan/agents-app-frame-refactor to main June 12, 2026 01:51
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.

1 participant