Skip to content

Conversation

@shuv1337
Copy link
Collaborator

@shuv1337 shuv1337 commented Dec 1, 2025

Summary

  • Integrates upstream PR #4865 which adds subagents to the sidebar with clickable navigation
  • Adds <leader>+Up keybind (session_parent) to return to parent session
  • Shows animated spinner for active subagents, status indicators for completed/error states
  • Updates README with the new merged PR

Summary by CodeRabbit

  • New Features

    • Navigate to parent sessions via new "Go to parent session" command (keybind: +Up)
    • Added "Subagents" section in sidebar displaying subagent tasks with status indicators
    • Click subagent tasks to navigate directly to their sessions
  • Documentation

    • Updated navigation guide with new subagent and parent session navigation options

✏️ Tip: You can customize this high-level summary in your review settings.

@shuv1337 shuv1337 merged commit b4cf0bc into integration Dec 1, 2025
2 of 3 checks passed
@shuv1337 shuv1337 deleted the add-subagent-sidebar branch December 1, 2025 00:47
@coderabbitai
Copy link

coderabbitai bot commented Dec 1, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Introduces parent session navigation to the TUI application, including a new keybind (session_parent), command menu item, visual indicators in header, a new subagents sidebar section with aggregation logic and collapsible UI, route-based navigation, and documentation updates.

Changes

Cohort / File(s) Summary
Session navigation core
packages/opencode/src/cli/cmd/tui/routes/session/header.tsx, packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
Adds "Parent" keybind label in header for subagent sessions and introduces goToParent helper function with new "Go to parent session" command menu item to navigate to parent session by reading parentID and routing accordingly.
Sidebar subagents feature
packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx
Adds route context integration, animated spinner with interval-based state updates and cleanup, aggregation logic for tool-type "task" items by subagent_type, collapsible "Subagents" section with status indicators (active, error, completed), descriptions, and click-based route navigation to subagent sessions.
Configuration
packages/opencode/src/config/config.ts
Adds new session_parent keybind field with default value "<leader>up" and description "Go to parent session".
Documentation updates
README.md, packages/web/src/content/docs/agents.mdx
README adds new PR entry and updates timestamp; agents.mdx replaces generic navigation text with specific instructions for subagent sidebar navigation and new session_parent keybind.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx: Requires careful review of aggregation logic for subagent grouping, interval-based spinner state management with proper cleanup, and collapsible UI rendering integration.
  • packages/opencode/src/cli/cmd/tui/routes/session/index.tsx: Verify goToParent function correctly handles missing parentID and that command menu state is properly managed.
  • Sidebar and header integration: Ensure navigation callbacks and route context usage are consistent across components.

Possibly related PRs

  • kcrommett/shuvcode#65: Overlaps on parent-session navigation logic, session UI file modifications, and keybind configuration updates.

Poem

🐰 Through sessions we hop, from child back to parent,
With keybinds and breadcrumbs, no need to be wary. 🥕
Subagents now gather in sidebars so bright,
*A warren of tasks spinning—*oh what a sight!

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch add-subagent-sidebar

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cb4ded1 and ba0dcce.

⛔ Files ignored due to path filters (2)
  • flake.lock is excluded by !**/*.lock
  • packages/sdk/js/src/gen/types.gen.ts is excluded by !**/gen/**
📒 Files selected for processing (6)
  • README.md (1 hunks)
  • packages/opencode/src/cli/cmd/tui/routes/session/header.tsx (1 hunks)
  • packages/opencode/src/cli/cmd/tui/routes/session/index.tsx (2 hunks)
  • packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx (3 hunks)
  • packages/opencode/src/config/config.ts (1 hunks)
  • packages/web/src/content/docs/agents.mdx (1 hunks)

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

@coderabbitai coderabbitai bot mentioned this pull request Dec 9, 2025
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.

4 participants