diff --git a/ui/src/components/PropertiesPanel.tsx b/ui/src/components/PropertiesPanel.tsx index bccfa40691a..41cf5a5f83e 100644 --- a/ui/src/components/PropertiesPanel.tsx +++ b/ui/src/components/PropertiesPanel.tsx @@ -340,8 +340,9 @@ function ResizablePropertiesPanel({ className={cn("flex-1 flex flex-col min-h-0", isFixed && "w-full")} style={isFixed ? undefined : { width, minWidth: width }} > -
- Properties + {/* No pane title: the tab strip below (Properties/…) already names the + surface — this row is just the window controls. */} +
{item.optimistic ? ( diff --git a/ui/src/pages/IssueDetail.tsx b/ui/src/pages/IssueDetail.tsx index 4f019ef7bb7..132acb9e6ed 100644 --- a/ui/src/pages/IssueDetail.tsx +++ b/ui/src/pages/IssueDetail.tsx @@ -1543,6 +1543,12 @@ export function IssueDetail() { // (plan lives in the properties-pane Plan tab). Flag OFF renders the legacy // page byte-identically. const { enabled: taskChatShellEnabled } = useTaskChatRedesignEnabled(); + // Flag ON the page wrapper spans the full center pane so the thread's scroll + // viewport (and its scrollbar) reaches the properties-pane border; every + // non-thread section re-centers itself at the 60rem shell cap instead. + const shellSectionClass = taskChatShellEnabled + ? "mx-auto w-full max-w-(--tc-shell-max-w)" + : undefined; const { openNewIssue } = useDialogActions(); const { openPanel, closePanel, panelVisible, setPanelVisible } = usePanel(); const { setBreadcrumbs, setMobileToolbar } = useBreadcrumbs(); @@ -4083,13 +4089,13 @@ export function IssueDetail() {
{/* Parent chain breadcrumb */} {ancestors.length > 0 && ( -