fix(browser): dock the final page + bind chat-opened browser tabs to their chat - #89
fix(browser): dock the final page + bind chat-opened browser tabs to their chat#89siddWednesday wants to merge 2 commits into
Conversation
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 reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
|



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
newTab/openUrl(main + preload) so a manual session is created with that chat'sjourneyId. The session snapshot already carriedjourneyId.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).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.jsonand-p tsconfig.web.jsonclean (web shows only pre-existingTS6307config-noise inpro/**, none in changed files).(cd pro && npx tsc --noEmit -p tsconfig.json)clean.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).