Skip to content

Open existing agent chats and retained panes from their rows - #34650

Merged
brennanb2025 merged 7 commits into
mainfrom
brennanb2025/sta-7489-row-open-routes
Oct 28, 2026
Merged

brennanb2025 merged 7 commits into
mainfrom
brennanb2025/sta-7489-row-open-routes

Conversation

@brennanb2025

@brennanb2025 brennanb2025 commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor
Files Added Deleted Net
Test 5 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​621 $\color{#cf222e}{\Huge{\mathbf{−}}}$​56 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​565
Prod 13 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​90 $\color{#cf222e}{\Huge{\mathbf{−}}}$​32 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​58

Dashboard sends native-chat cards to terminal activation, and an unavailable preview incorrectly says the pane has closed. Retained sidebar rows cannot open an existing native chat, and terminal navigation can use the workspace’s default host instead of the exact live pane’s owner.

Cards and rows now open their current destination through the existing activation path. Native chats use the current tab’s owner. Retained terminals use their exact live pane’s owner, so a workspace’s default host cannot redirect the click. Preview absence says only that a preview is unavailable.

The change uses the common pattern: destination identity determines navigation, independently of status bookkeeping and preview availability. It adds no saved state, wire format, session creation or missing-pane resume behavior. Review path: full.

Intended behavior: retained rows without a current destination stay inert; persisted layout alone does not authorize a terminal click. A live remote pane absent from this renderer’s current inventory stays inert. A native card closed before its click retains the existing fallback. A current native tab with an unresolved owner cannot fall through to a different host’s terminal. Existing terminal preview panels and live-row hydration behavior remain part of Orca’s terminal and multi-host support.

Validation: regression cases failed before their fixes. Production-store integration covers snapshot -> rendered Dashboard -> actual dispatcher/native surface, retained sidebar activation, git and folder workspace selection, missing-workspace failure, and host-qualified terminal notification. Targeted renderer and activation tests passed through tc-gate; the normal pre-commit hook passed. Final CI, review and preview screenshot evidence are recorded in the review-loop status comment.

The basic live retained-terminal activation case is already on main in #20804; this PR preserves it and completes native-chat and host-qualified navigation.

Tracked in STA-7489.

Tracked in STA-7592.

@brennanb2025
brennanb2025 marked this pull request as ready for review October 28, 2026 01:20
@coderabbitai

coderabbitai Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: a8842e3e-67b0-4041-9a2f-5120b6afecce
Commits

Reviewing files that changed from the base of the PR and between a106b3b and 7d93a0a.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0ba010d9-a5ea-4457-8ab9-11c470963a39
Commits

Reviewing files that changed from the base of the PR and between 19ff771 and a106b3b.

Files selected for processing: 14
  • config/scripts/locale-ko-key-overrides.json
  • src/renderer/src/components/dashboard/agent-destination-navigation.integration.test.tsx
  • src/renderer/src/components/dashboard/reveal-dashboard-agent.test.ts
  • src/renderer/src/components/dashboard/reveal-dashboard-agent.ts
  • src/renderer/src/components/sidebar/WorktreeCardAgents.activation.test.tsx
  • src/renderer/src/components/sidebar/WorktreeCardAgents.tsx
  • src/renderer/src/components/sidebar/activate-retained-agent-row.ts
  • src/renderer/src/i18n/locales/en.json
  • src/renderer/src/i18n/locales/es.json
  • src/renderer/src/i18n/locales/fr.json
  • src/renderer/src/i18n/locales/ja.json
  • src/renderer/src/i18n/locales/ko.json
  • src/renderer/src/i18n/locales/pt.json
  • src/renderer/src/i18n/locales/zh.json
Files with no reviewable changes: 7
  • src/renderer/src/i18n/locales/pt.json
  • src/renderer/src/i18n/locales/zh.json
  • config/scripts/locale-ko-key-overrides.json
  • src/renderer/src/i18n/locales/ko.json
  • src/renderer/src/i18n/locales/es.json
  • src/renderer/src/i18n/locales/ja.json
  • src/renderer/src/i18n/locales/fr.json

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 5 remain after this review.

Walkthrough

Dashboard reveal and retained-sidebar activation now handle structured agent-session tabs as well as terminal panes. The changes add validation and activation paths for each destination type, with tests for native and terminal navigation, host selection, and unavailable destinations. A missing preview PTY now displays a generic preview-unavailable message rather than describing the destination as closed. Locale entries, tests, and the shared snapshot comment reflect this distinction.

Priority: Normal

Severity of issue fixed: Low

Merge Risk: Minimal · previous review a106b

The preview message has its required English translation, and opening an existing native chat remains scoped to its current tab and owner. No identified issue prevents merging after normal checks.

Pre-merge checks: Passed 3 · Failed 2

Failed Failed checks: 2 warnings

Check name Status Explanation Resolution
Description check Warning The description explains the behavior changes, motivation, scope, and testing, but it does not follow the required template. It omits an actual linked issue, visual proof or an explicit N/A statement,… Update the description with the required headings and content. Add a valid issue link under “Linked Issue,” attach before/after UI evidence or state N/A with a reason, complete the Testing and Checklist sections, and address the remaining…
Docstring Coverage Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documenta… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 3 passed
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: opening existing agent chats and retained panes from their rows.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description explains the behavior changes, motivation, scope, and testing, but it does not follow the required template. It omits an actual linked issue, visual proof or an explicit N/A statement, checklist confirmations, and several required sections.

Resolution

Update the description with the required headings and content. Add a valid issue link under “Linked Issue,” attach before/after UI evidence or state N/A with a reason, complete the Testing and Checklist sections, and address the remaining template sections.

Full details: Docstring Coverage

Explanation

Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 4 functions across 10 files. (1 skipped: 1 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches: 💡 2
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


Review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1232e156-6395-4488-aa3f-946631b4b87f
Commits

Reviewing files that changed from the base of the PR and between 1766730 and 19ff771.

Files selected for processing: 10
  • src/renderer/src/components/dashboard-popout/AgentTerminalDialog.test.tsx
  • src/renderer/src/components/dashboard-popout/AgentTerminalPreview.test.tsx
  • src/renderer/src/components/dashboard-popout/terminal-preview-unavailable-message.ts
  • src/renderer/src/components/dashboard/reveal-dashboard-agent.test.ts
  • src/renderer/src/components/dashboard/reveal-dashboard-agent.ts
  • src/renderer/src/components/sidebar/WorktreeCardAgents.activation.test.tsx
  • src/renderer/src/components/sidebar/WorktreeCardAgents.test.tsx
  • src/renderer/src/components/sidebar/WorktreeCardAgents.tsx
  • src/renderer/src/components/sidebar/activate-retained-agent-row.ts
  • src/shared/dashboard-snapshot.ts
Files with no reviewable changes: 1
  • src/renderer/src/components/sidebar/WorktreeCardAgents.test.tsx

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 2 remain after this review.

@brennanb2025

Copy link
Copy Markdown
Contributor Author

Dashboard native-chat cards previously entered terminal activation, while an unavailable preview incorrectly claimed the pane had closed. Retained sidebar rows could also refuse an existing native chat or route a live terminal through the workspace’s default host.

Cards and retained rows now open their current destination through the existing activation path. Native chats use the current tab’s owner; retained terminals use their exact live pane’s owner. An unavailable preview now says “No preview available — open the workspace to view this agent.”

Two full review rounds are clean, with no deferred findings. Fixed the native-tab host mismatch, exact terminal-owner routing, missing production-store integration coverage, and CI fixture/catalog errors. Main’s basic live retained-terminal fix in #20804 is preserved. The common pattern is destination-scoped navigation. Intended differences are current-live terminal validation and host/path validation for Orca’s several-host and folder-workspace support; scope is opening existing destinations.

Validation: 90 tests across six named suites passed after the catalog-only main integration, and six affected rewind tests passed after importing main’s already-merged CI fix #34721. The required merge hooks passed. Final CI is green on 7d93a0aef93. Production-store integration covers Dashboard snapshot to native-chat activation, retained sidebar activation, git/folder workspaces, missing-workspace failure, and exact-host terminal notification. Reference comparison is complete. QA is tests: no lifecycle or actual-agent run was required or claimed.

The branch screenshot uses the official component-fixture tool with the shipping board, card and preview. Its interaction asserts the exact text, “Open worktree,” and absence of the false closure message; final capture exited 0 with no page errors. Captured on this head. Local server/browser processes stopped, temporary files removed, real config hashes unchanged, and checkout clean. Both main-integration merges preserved the five reviewed shipping source files byte-for-byte.

For Brennan’s review

Unavailable-preview copy and Open worktree action

@brennanb2025
brennanb2025 merged commit 612febd into main Oct 28, 2026
52 checks passed
nwparker added a commit that referenced this pull request Oct 28, 2026
#34914)

#34650 removed dashboardPopout.terminal.closed from en.json, but ru.json,
tr.json and zh-Hant.json kept it, so verify:localization-catalogs fails on
main ("extra: dashboardPopout.terminal.closed"). Drop it from those three. No
other locale has extra keys; ru's _few/_many plural forms are expected.
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