Skip to content

fix(browser): dock the final page + bind chat-opened browser tabs to their chat - #89

Open
siddWednesday wants to merge 2 commits into
release/107-feedbackfrom
fix/web-use-final-page-docking
Open

fix(browser): dock the final page + bind chat-opened browser tabs to their chat#89
siddWednesday wants to merge 2 commits into
release/107-feedbackfrom
fix/web-use-final-page-docking

Conversation

@siddWednesday

Copy link
Copy Markdown
Collaborator

What

Fixes the in-chat browser (task workspace) so browser tabs belong to the chat that opened them, on the Release 107 head. Core side of the change; pro side is desktop-pro#44 (bumped here via the submodule).

The bug

Manual browser tabs — Open final page, the + button, and Chat links — were created global (no chat binding). Once the docked pane surfaced them they appeared in every chat, so opening or switching to a new chat re-opened the browser. Earlier in the stack the final page also floated instead of docking, and + evicted the final-page tab.

The fix

  • Thread the active chat's id through newTab/openUrl (main + preload) so a manual session is created with that chat's journeyId. The session snapshot already carried journeyId.
  • Added active-conversation.ts — a small SSOT the out-of-tree Chat-link handler reads so it can tag opened pages with the current chat (MemoryChat is the single writer).
  • Pro pane (desktop-pro#44) scopes manual tabs to their chat and drops the old "show all live manual tabs" workaround.

Result: a tab opened in chat A docks in chat A and never re-appears in chat B; the final page still docks; + no longer evicts.

Verification

  • npx tsc --noEmit -p tsconfig.node.json and -p tsconfig.web.json clean (web shows only pre-existing TS6307 config-noise in pro/**, none in changed files).
  • (cd pro && npx tsc --noEmit -p tsconfig.json) clean.
  • Unit suite green (5453 pass). Pre-push coverage gate passed (all floors met).
  • Added: cross-chat regression test in the pane suite; updated the ChatMarkdown links test to assert the chat id is threaded into openUrl.

Evidence

Scoping/logic fix, covered by the pane + link tests (incl. a new cross-chat guard). Screenshots pending an e2e capture run — can attach before merge if preferred.

Merge note

Merge desktop-pro#44 first, then this (it points the pro submodule at pro 4586dcd).

siddWednesday and others added 2 commits August 31, 2026 14:35
Docks a finished task's final page in the task pane instead of floating it -
both the chat 'Open the final page' link and the task-detail button - and keeps
manual tabs across a new tab. See desktop-pro fix/web-use-final-page-docking.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Thread the active chat's id through newTab/openUrl so a manual browser
tab carries its owning chat's journeyId. A tab opened with + or a Chat
link now docks only in that chat and does not re-open when the user
switches to or starts another chat. Adds an active-conversation SSOT so
the out-of-tree Chat link handler can tag the page with the current chat.

Bumps pro to the matching per-chat scoping fix.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Your trial has ended. Reactivate Greptile to resume code reviews.

@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 8ab01c4a-20e0-43af-b699-6cefc21d242a

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

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.

@sonarqubecloud

Copy link
Copy Markdown

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