Skip to content

Restore fork features lost in upstream merge: shuvcode branding and subagent sidebar #96

@shuv1337

Description

@shuv1337

Problem

A recent upstream merge unintentionally overwrote local fork features in packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx:

  1. Branding regression: The version display shows Open Code instead of shuvcode
  2. Missing feature: Subagent status sidebar section (with clickable navigation) was removed

Current State

The sidebar currently shows (lines 280-284):

<span style={{ fg: theme.success }}></span> <b>Open</b>
<span style={{ fg: theme.text }}>
  <b>Code</b>
</span>{" "}

Expected State

Branding Fix

Should display shuvcode branding:

<span style={{ fg: theme.success }}></span> <b>shuv</b>
<span style={{ fg: theme.text }}>
  <b>code</b>
</span>{" "}

Subagent Sidebar Feature

Should include the subagent sidebar section that displays:

  • Active/completed subagent tasks grouped by agent type
  • Animated spinner for running tasks
  • Clickable navigation to subagent sessions
  • Status indicators (running, completed, error)

Reference Commits

These commits contain the original implementations that need to be restored:

  • Branding: 6e9b984ea - "changing sidebar version display to shuvcode"
  • Subagent sidebar: e768f4c19 - "feat: add subagents sidebar with clickable navigation and parent keybind"

Related upstream PR (for subagent feature context): anomalyco#4773

Acceptance Criteria

  • Version display in sidebar shows shuvcode instead of Open Code
  • Subagent sidebar section is restored with:
    • subagents expandable section in sidebar
    • Animated spinner for active subagent tasks
    • Clickable subagent entries that navigate to their sessions
    • Status indicators (spinner for running, ✓ for complete, ✗ for error)
  • All existing sidebar functionality remains intact

Implementation Notes

Files to modify:

  • packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx:280-284 - branding fix

Key additions from subagent feature:

  • Import createSignal, onCleanup from solid-js
  • Import useRoute from route context
  • Import ToolPart type from SDK
  • Add subagents: true to expanded store
  • Add spinner animation logic
  • Add taskToolParts and subagentGroups memos
  • Add Subagents section JSX between LSP and Todo sections

Suggested approach:

Cherry-pick or manually apply changes from commits 6e9b984ea and e768f4c19 to restore the lost functionality.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions