Skip to content

feat(web): add thread tab to maximized panels - #11945

Open
ShpetimA wants to merge 1 commit into
pingdotgg:mainfrom
ShpetimA:t3code/maximized-thread-tab-switching
Open

ShpetimA wants to merge 1 commit into
pingdotgg:mainfrom
ShpetimA:t3code/maximized-thread-tab-switching

Conversation

@ShpetimA

@ShpetimA ShpetimA commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

What Changed

Added the current thread as a tab when the right panel is maximized. Opening another panel automatically switches to its tab.

Why

Previously, returning to the chat required leaving maximized mode. This keeps the thread accessible while preserving existing non-maximized behavior.

UI Changes

Before:
In maximize mode couldn't switch to the chat thread:

image

After:

Added a Thread tab to the maximized panel tab bar.

image

Before and after vid:

Screen.Recording.2026-09-15.at.9.25.05.PM.mov

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Summary by CodeRabbit

  • New Features

    • Added a maximized Thread tab for viewing thread content while keeping the right panel accessible.
    • Right-panel surfaces now remain available as floating previews when the panel is hidden.
    • Added clearer active and inactive styling for panel tabs.
    • Added support for selecting and switching between Thread and panel tabs.
  • Bug Fixes

    • Improved right-panel behavior when maximizing, minimizing, closing, or switching between panel types.
    • Prevented hidden panel content from remaining interactive when the Thread tab is active.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Sep 15, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This PR adds a new Thread tab workflow to maximized panels and changes shared panel visibility, layout, keyboard handling, and state management. The behavior spans the main chat view, panel tabs, and right-panel store rather than being a small isolated UI adjustment.

You can add or adjust custom eligibility rules. Learn more.

@coderabbitai

coderabbitai Bot commented Sep 15, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 7eabc4a0-89ee-4d90-87fd-c4f074871628

📥 Commits

Reviewing files that changed from the base of the PR and between 3efdcc5 and 7475357.

📒 Files selected for processing (8)
  • apps/web/src/components/ChatView.logic.test.ts
  • apps/web/src/components/ChatView.logic.ts
  • apps/web/src/components/ChatView.tsx
  • apps/web/src/components/RightPanelTabs.tsx
  • apps/web/src/components/ThreadTerminalDrawer.tsx
  • apps/web/src/components/ui/panel-tab.tsx
  • apps/web/src/rightPanelStore.test.ts
  • apps/web/src/rightPanelStore.ts

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The right panel now supports a maximized Thread tab with session state, shared tab styling, surface visibility gating, updated shortcuts, and expanded preview mini-player coverage.

Changes

Right panel Thread tab

Layer / File(s) Summary
Thread tab state and lifecycle
apps/web/src/rightPanelStore.ts, apps/web/src/rightPanelStore.test.ts
The store tracks the selected thread tab, clears it when another panel is selected, and removes it with the thread. Tests cover manual and proactive panel updates.
Shared panel tab rendering
apps/web/src/components/ui/panel-tab.tsx, apps/web/src/components/RightPanelTabs.tsx, apps/web/src/components/ThreadTerminalDrawer.tsx
PanelTab centralizes tab styling. RightPanelTabs renders the transient Thread tab and disables surface content while it is active. The terminal drawer uses the shared component.
Maximized panel integration
apps/web/src/components/ChatView.tsx
ChatView coordinates maximized Thread-tab state, surface visibility, layout, shortcuts, surface actions, and Thread-tab rendering.
Preview mini-player visibility
apps/web/src/components/ChatView.logic.ts, apps/web/src/components/ChatView.logic.test.ts, apps/web/src/components/ChatView.tsx
Preview visibility now considers whether the right-panel surface is visible. Tests cover browser and device previews across matching, unrelated, and hidden surfaces.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Feature

Suggested reviewers: t3dotgg

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant ChatView
  participant rightPanelStore
  participant RightPanelTabs
  participant PreviewPanel
  User->>ChatView: maximize right panel
  ChatView->>rightPanelStore: selectPanelTab(threadRef)
  ChatView->>RightPanelTabs: render Thread tab
  User->>RightPanelTabs: select Thread tab
  RightPanelTabs->>rightPanelStore: selectThreadTab(threadRef)
  ChatView->>PreviewPanel: hide panel surface
Loading

Merge Risk: ⚪ Minimal · up to 74753

No supported merge-blocking behavior remains; the maximized Thread-tab state remains scoped to the active chat thread.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 16.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 8 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: adding a Thread tab to maximized right panels.
Description check ✅ Passed The description explains what changed and why, and it includes before/after screenshots, a video, and completed checklist items for the UI and interaction changes.
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.
  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant