Skip to content

feat(app): add an Extensions side tab and split the Context tab into sections - #57898

Closed
jlongster wants to merge 3 commits into
devfrom
context-sections
Closed

jlongster wants to merge 3 commits into
devfrom
context-sections

Conversation

@jlongster

@jlongster jlongster commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Issue for this PR

Closes #

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

Two side-panel tabs now share one visual language: collapsible cards.

Extensions tab (new). This tab lists everything connected on this computer, with every card expanded by default:

  • MCP servers: each server's status, an enable/disable switch, Sign in, Retry, and Details (error dialog), plus "Manage MCP servers", which opens /mcp.
  • Plugins: failed plugins are marked.
  • Skills: each skill opens its SKILL.md in a side tab.
  • LSP: configured servers.

Each card also has "Set up with OpenCode" and "Configuration file" actions; on a remote server, "Configuration file" copies the path instead. Collapsed cards are remembered in a global extension store.

Session details popover removed. It only rendered the Extensions menu. The header button (same icon, mod+shift+y, same details.toggle command id) now opens the Extensions tab, or selects it when it is already open. On narrow screens, Extensions is a "More…" view instead of a drawer.

Context tab slimmed down. It keeps three cards:

  • Context: % full meter, total, input, output, reasoning and cache read/write tokens, context limit, and cost.
  • System prompt
  • Advanced: session metadata, raw messages and export.

Code changes:

  • The MCP, plugin, skill and LSP data hooks, the MCP row controls and the error dialog live in details/services.tsx.
  • The card UI lives in details/cards.tsx.
  • server-panel.tsx, popover.tsx, panel.tsx and details.css are deleted.
  • The tab is titled "Extensions", reusing the translated server string.

There are no backend changes.

How did you verify your code works?

bun typecheck passes in packages/gui-extensions and packages/app. I updated the e2e specs that asserted the popover or its drawer, but did not run them:

  • session-summary
  • session-header
  • mcp-workspace-toggle
  • mobile-session
  • mobile-session-options
  • mobile-extensions
  • new-session
  • home
  • mobile-extension-drawers, which is now mobile-extensions-view

I took real screenshots of both tabs from the beta web app against an isolated OpenCode Drive server.

Screenshots / recordings

Posted to the review canvas, group "Session context redesign".

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

@jlongster jlongster changed the title feat(app): organize the session context tab into collapsible sections feat(app): add an Extensions side tab and split the Context tab into sections Oct 22, 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.

1 participant