fix(web): anchor manual PR panel open to the session's live group (#901)

This commit is contained in:
Carlos Florêncio
2026-05-13 23:46:36 +01:00
committed by GitHub
parent 8d593bcddb
commit 39406fa778
7 changed files with 242 additions and 7 deletions
@@ -140,6 +140,7 @@ function usePopoverInteractions() {
function PRSingleButton({ pr }: { pr: TaskPR }) {
const addPRPanel = useDockviewStore((s) => s.addPRPanel);
const activeSessionId = useAppStore((s) => s.tasks.activeSessionId);
const tooltip = `${pr.owner}/${pr.repo} #${pr.pr_number} — ${pr.pr_title}`;
const { isMobile, open, onOpenChange, handleEnter, handleLeave } = usePopoverInteractions();
// Background sync lives on PRStatusChip (always mounted in the chat
@@ -158,7 +159,7 @@ function PRSingleButton({ pr }: { pr: TaskPR }) {
onMouseEnter={handleEnter}
onMouseLeave={handleLeave}
onClick={() => {
addPRPanel(prTaskKey(pr));
addPRPanel(prTaskKey(pr), activeSessionId);
onOpenChange(false);
}}
>
@@ -204,6 +205,7 @@ function PRMultiButton({ prs }: { prs: TaskPR[] }) {
function PRMultiDropdown({ prs }: { prs: TaskPR[] }) {
const addPRPanel = useDockviewStore((s) => s.addPRPanel);
const activeSessionId = useAppStore((s) => s.tasks.activeSessionId);
const aggColor = aggregatePRStatusColor(prs);
return (
<DropdownMenu>
@@ -231,7 +233,7 @@ function PRMultiDropdown({ prs }: { prs: TaskPR[] }) {
{prs.map((pr) => (
<DropdownMenuItem
key={pr.id}
onClick={() => addPRPanel(prTaskKey(pr))}
onClick={() => addPRPanel(prTaskKey(pr), activeSessionId)}
className="cursor-pointer gap-2"
data-testid={`pr-topbar-menu-item-${pr.pr_number}`}
>