Skip to content

feat(desktop): reorganize sidebar and workspace header chrome - #5824

Merged
Kitenite merged 5 commits into
mainfrom
reorganize-sidebar-header
Jul 21, 2026
Merged

Kitenite merged 5 commits into
mainfrom
reorganize-sidebar-header

Conversation

@Kitenite

@Kitenite Kitenite commented Jul 21, 2026 •

Copy link
Copy Markdown
Member

Summary

Reorganizes the v2 desktop chrome across the dashboard sidebar, workspace tab bar, and right sidebar (two parallel sessions on this branch; full revert-oriented change log in apps/desktop/plans/20260721-sidebar-header-reorg-notes.md).

Dashboard sidebar

  • User/org dropdown moved from the sidebar top into the footer; Settings is an icon-only gear; help menu and Switch-organization live inside the org dropdown
  • New Search button (opens/closes the command palette); looking-glass removed from the nav row; New Workspace moved to top; Workspaces tab hidden behind a flag
  • Collapsible "Workspaces" list header with add-repo dropdown; deeper indent for workspaces under sections; drag grip no longer swaps in on group hover

Workspace view

  • TopBar merged into the pane tab bar on the v2 workspace route (expanded sidebar): the tab bar is now the Electron drag region and hosts the right-sidebar toggle + non-Mac window controls; TopBar still renders when the sidebar is collapsed/closed (traffic-light inset)
  • Inverted tab styling (pane tabs + Files/Changes/Review tabs): inactive tabs carry the shaded block, active tab blends into the content below with an l/r/t frame; assorted dividers removed
  • Run button moved into the tab bar trailing slot; presets bar borderless and taller

Right sidebar

  • PR action header is a CSS container: open-in button and PR badge collapse to icon-only below 240px so the header never squishes; full worktree path in the open-in tooltip
  • Files-tab search moved into the explorer toolbar; changes panel spacing/spinner cleanups

Test Plan

  • Sidebar footer: org dropdown (help submenu, switch org, log out), gear opens settings, hotkey tooltips
  • Search button toggles command palette open/closed
  • Workspace view (expanded sidebar): no top bar, window drags from empty tab-bar space, tabs/buttons all clickable, right-sidebar toggle works
  • Collapse the left sidebar: TopBar returns, traffic lights don't overlap
  • Resize right sidebar below ~240px: open-in + PR badge collapse to icons; tooltips/hover cards intact
  • Windows/Linux: window controls present in tab bar on the workspace route

Summary by cubic

Reorganizes desktop chrome to simplify navigation and save space: moves org/help/search into the dashboard sidebar, adds a collapsible “Workspaces” header with Add‑repo, merges the TopBar into the v2 workspace tab bar, and makes the PR header responsive. Adds an “Add project” section to the command palette and subtle edge fades in Files and Changes.

  • New Features

    • Dashboard sidebar: Search button toggles the command palette; New Workspace moved to the top; org menu moved to the footer with Help; new collapsible “Workspaces” header with Add‑repo dropdown (state persists).
    • Command palette: New “Add project” section (Clone from URL, Open from folder, Start from template) with a folder‑import flow.
    • Workspace (v2): TopBar merged into the tab bar; Run, right‑sidebar toggle, and non‑Mac window controls moved into the tab bar; Open‑in moved into the PR header with a tooltip showing the full path; Files tab search moved into the explorer toolbar.
    • Tabs: Inverted tab style across packages/panes; tab bar doubles as the window drag region.
  • Refactors

    • Cleaner UI: removed extra borders/dividers; presets bar is taller and borderless; “Explorer” title removed.
    • Sidebar polish: deeper indent for nested workspaces; section/project counts removed; diff stats shown only on the active row; hover drag‑grip removed; Workspaces tab and history button hidden behind flags.
    • Scroll polish: edge fades on scrollable content in Files and Changes views.
    • Minor fixes: Help submenu uses onSelect for proper menu behavior; folder‑import intent seeded on mount to avoid replayed imports.

Written for commit 010191b. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • New Features
    • Added an “Add project” section to the command palette (clone URL, open folder, start from template), including folder-import flow with success/error toasts.
    • Added a Help dropdown in the top bar (docs, keyboard shortcuts, report issue, contact links) with a submit prompt dialog.
  • UI Improvements
    • Restyled dashboard/workspace sidebars and tabs, including collapsible “Workspaces” with remembered state, updated header controls, refined top bar behavior, and improved file/changes scrolling fades.
  • Bug Fixes
    • Improved folder-import feedback, including clearer handling when multiple candidate projects are found.

Kitenite added 3 commits July 21, 2026 00:24
- Presets bar: remove bottom border, taller bar with more chip spacing
- Move run button from presets bar into the tab bar trailing slot (drop TopBar portal fallback)
- Move open-in button from TopBar into the PR action header; match chevron sizes
- Files tab: search button next to New File, drop Explorer title
- Dashboard sidebar: New Workspace first, hide recently-viewed button, help menu into org dropdown
- Hide workspace diff stats unless active; remove section/project workspace counts
- Inverted tab styling in shared panes tab bar
…tton

- New collapsible 'Workspaces' header above the project list (hover chevron,
  persisted collapse via sidebar-workspaces-collapse store)
- Add repository dropdown moves from the New Workspace row into that header
- Remove expanded sidebar header bottom border; indent project rows pl-3->pl-5
- Section header chevron always visible; tab bar filler border tweak
- Add plans/20260721-sidebar-header-reorg-notes.md revert guide for the branch
@coderabbitai

coderabbitai Bot commented Jul 21, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 12c8346d-2475-460f-b55c-4db0ccc9b3e3

📥 Commits

Reviewing files that changed from the base of the PR and between 000334f and 010191b.

📒 Files selected for processing (7)
  • apps/desktop/src/renderer/commandPalette/ui/FolderImportMount/FolderImportMount.tsx
  • apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OrganizationDropdown/components/HelpSubMenu/HelpSubMenu.tsx
  • apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspace/$workspaceId/components/WorkspaceSidebar/components/FilesTab/FilesTab.tsx
  • apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspace/$workspaceId/components/WorkspaceSidebar/components/FilesTab/hooks/useFileTreeScrollFade/index.ts
  • apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspace/$workspaceId/components/WorkspaceSidebar/components/FilesTab/hooks/useFileTreeScrollFade/useFileTreeScrollFade.ts
  • apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspace/$workspaceId/components/WorkspaceSidebar/hooks/useChangesTab/components/ChangesFileList/ChangesFileList.tsx
  • apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspace/$workspaceId/components/WorkspaceSidebar/hooks/useChangesTab/components/ChangesTabContent/ChangesTabContent.tsx

📝 Walkthrough

Walkthrough

The PR adds command-palette project actions, reorganizes dashboard sidebar controls, moves v2 workspace controls into pane tab bars, updates sidebar and changes-panel interactions, and restyles shared pane and tab components.

Changes

UI reorganization

Layer / File(s) Summary
Add-project command flow
apps/desktop/src/renderer/commandPalette/..., apps/desktop/src/renderer/stores/folder-import-intent.ts
Adds clone, folder-import, and template commands under a new “Add project” command-palette section.
Dashboard sidebar structure
apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/DashboardSidebar/..., apps/desktop/src/renderer/stores/sidebar-workspaces-collapse.ts
Adds persisted Workspaces collapse state and revises sidebar headers, footer controls, indentation, badges, and active-row statistics.
Help, organization, and navigation controls
apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/..., apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/NavigationControls/...
Moves help and prompt submission into the organization dropdown and removes former navigation search and history controls.
V2 workspace layout and sidebar controls
apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspace/..., apps/desktop/src/renderer/routes/_authenticated/_dashboard/layout.tsx
Moves workspace controls into the pane tab bar and updates presets, file search, PR actions, changes controls, terminal controls, and open-in presentation.
Pane and tab-bar presentation
packages/panes/src/react/components/Workspace/..., apps/desktop/src/renderer/screens/main/components/WorkspaceView/RightSidebar/headerTabStyles.ts
Adds active-pane styling, inverted tab colors, revised borders and spacing, and explicit drag/no-drag regions.

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 19.35% which is insufficient. The required threshold is 80.00%. 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 is concise, conventional, and accurately summarizes the main desktop chrome reorganization.
Description check ✅ Passed The description covers the main changes and test plan, though it doesn't use the template's exact 'What & why' and 'How I tested it' headings.
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.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch reorganize-sidebar-header

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.

@github-actions

github-actions Bot commented Jul 21, 2026 •

Copy link
Copy Markdown
Contributor

🚀 Preview Deployment

🔗 Preview Links

Service Status Link
Neon Database (Neon) ✅ View Branch
Vercel API (Vercel) ✅ Open Preview
Vercel Web (Vercel) ✅ Open Preview
Vercel Marketing (Vercel) ✅ Open Preview
Vercel Admin (Vercel) ✅ Open Preview
Vercel Docs (Vercel) ✅ Open Preview

Preview updates automatically with new commits

@greptile-apps

greptile-apps Bot commented Jul 21, 2026 •

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR reorganizes the desktop v2 chrome across the dashboard sidebar, workspace tab bar, and right sidebar. The sidebar footer now hosts the org/user dropdown and an icon-only Settings gear; a new Search button opens the command palette; the Workspaces list gains a collapsible header with an add-repo dropdown; and the workspace tab bar doubles as the Electron drag region and hosts the right-sidebar toggle and non-Mac window controls (replacing the TopBar on the expanded-sidebar v2 route).

  • Sidebar: OrganizationDropdown moved from header to footer; DashboardSidebarWorkspacesHeader added for the collapsible section with its own add-repo flow; a FolderImportMount bridge lets command-palette commands (which run outside React) trigger the hook-based folder import.
  • Tab bar / TopBar: TabBar gains drag/no-drag classes for Electron; inverted tab styling applied (inactive tab shaded, active tab borderless bottom); TopBar suppressed on the v2 workspace route when the sidebar is expanded; run button moved permanently into the tab bar trailing slot.
  • Right sidebar: PRActionHeader switches to CSS container queries so the open-in button and PR badge collapse to icon-only below 240 px; ChangesToolbar splits into two rows and drops the inline Spinner in favour of the animated refresh icon.

Confidence Score: 4/5

The reorganization is well-scoped with appropriate comments and conditional guards throughout. The main risks are in edge cases: FolderImportMount remounting and onClick/onSelect inconsistency in HelpSubMenu, neither of which affects the happy path.

The core chrome changes (tab bar as drag region, TopBar hiding, collapsible Workspaces header, org dropdown relocation) are straightforward and well-guarded. The FolderImportMount tick counter initialised at 0 rather than the current store value is a latent replay issue under StrictMode or unexpected remounts. The HelpSubMenu onClick/onSelect inconsistency is a minor keyboard-navigation concern. No correctness regressions were found in the layout logic or Electron plumbing.

FolderImportMount.tsx (stale-tick replay on remount) and HelpSubMenu.tsx (onClick vs onSelect for keyboard nav).

Important Files Changed

Filename Overview
apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/DashboardSidebar/DashboardSidebar.tsx Sidebar restructured: org dropdown moved to footer, help menu removed, Workspaces section collapsed behind DashboardSidebarWorkspacesHeader; OverflowFadeContainer added for the project list.
apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/DashboardSidebar/components/DashboardSidebarHeader/DashboardSidebarHeader.tsx Adds New Workspace and Search buttons to both collapsed/expanded header; removes OrganizationDropdown and add-repo row from expanded state; SHOW_WORKSPACES_TAB flag gates hidden Workspaces tab.
apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/DashboardSidebar/components/DashboardSidebarWorkspacesHeader/DashboardSidebarWorkspacesHeader.tsx New collapsible Workspaces section header with embedded add-repo dropdown; directly mounts useFolderFirstImport for sidebar interactions (separate from FolderImportMount used by the command palette).
apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OrganizationDropdown/OrganizationDropdown.tsx Settings item removed; HelpSubMenu and SubmitPromptDialog subcomponents integrated; wrapped in a fragment to co-render the dialog alongside the dropdown.
apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OrganizationDropdown/components/HelpSubMenu/HelpSubMenu.tsx New component migrated from the old DashboardSidebarHelpMenu; uses onClick for most items instead of the onSelect pattern used elsewhere in the dropdown.
apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspace/$workspaceId/page.tsx Run button moved from presets bar / TopBar portal into the tab bar trailing slot; RightSidebarToggle and WindowControls added to the same slot; isMac defaults to true during query load to suppress flash of non-Mac controls.
packages/panes/src/react/components/Workspace/components/TabBar/TabBar.tsx TabBar gains drag/no-drag Electron classes; border-b removed to support inverted active-tab styling; tabs track and button clusters opt out of the drag region.
packages/panes/src/react/components/Workspace/components/TabBar/components/TabItem/TabItem.tsx Inverted tab scheme: inactive tabs carry shaded block, active tab shows left/right/top border with transparent bottom; every state keeps a 1px border to prevent layout shift.
apps/desktop/src/renderer/commandPalette/ui/FolderImportMount/FolderImportMount.tsx New bridge component that watches useFolderImportIntent tick and calls useFolderFirstImport.start(); the lastTickRef reset on remount could replay a stale intent in React StrictMode or after unexpected remounts.
apps/desktop/src/renderer/stores/folder-import-intent.ts New in-memory Zustand store bridging non-React palette commands to the React hook-based folder import flow via a monotonic tick counter.
apps/desktop/src/renderer/routes/_authenticated/_dashboard/layout.tsx TopBar conditionally hidden on the v2 workspace route when the sidebar is expanded (hideTopBar flag), so the tab bar can serve as the drag region and traffic-light inset.

Comments Outside Diff (1)

  1. apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/DashboardSidebar/components/DashboardSidebarHeader/DashboardSidebarHeader.tsx, line 274-276 (link)

    P2 Dead code behind a compile-time false constant

    SHOW_WORKSPACES_TAB = false gates two JSX branches that are dead in every build. Tree-shaking cannot remove them because they're valid JSX, and the constant being false means the conditional is always falsy. If the intent is to keep this easy to re-enable, a feature-flag or a comment-block would avoid shipping unreachable render paths. This appears in the collapsed path as well (around line 349).

    Prompt To Fix With AI
    This is a comment left during a code review.
    Path: apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/DashboardSidebar/components/DashboardSidebarHeader/DashboardSidebarHeader.tsx
    Line: 274-276
    
    Comment:
    **Dead code behind a compile-time `false` constant**
    
    `SHOW_WORKSPACES_TAB = false` gates two JSX branches that are dead in every build. Tree-shaking cannot remove them because they're valid JSX, and the constant being `false` means the conditional is always falsy. If the intent is to keep this easy to re-enable, a feature-flag or a comment-block would avoid shipping unreachable render paths. This appears in the collapsed path as well (around line 349).
    
    How can I resolve this? If you propose a fix, please make it concise.

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Prompt To Fix All With AI
Fix the following 3 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 3
apps/desktop/src/renderer/commandPalette/ui/FolderImportMount/FolderImportMount.tsx:24-33
**Stale tick replays on remount**

`lastTickRef` is a local ref that resets to `0` whenever the component mounts. If `tick` in the store is already `> 0` at mount time (e.g., the user triggered a folder import earlier in the same session, then this subtree remounted due to a parent re-render or React StrictMode's double-invoke), the condition `tick !== lastTickRef.current` fires immediately and calls `folderImport.start()` again with no user intent. Consider initialising `lastTickRef` to the current store tick at mount rather than `0`.

### Issue 2 of 3
apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/DashboardSidebar/components/DashboardSidebarHeader/DashboardSidebarHeader.tsx:274-276
**Dead code behind a compile-time `false` constant**

`SHOW_WORKSPACES_TAB = false` gates two JSX branches that are dead in every build. Tree-shaking cannot remove them because they're valid JSX, and the constant being `false` means the conditional is always falsy. If the intent is to keep this easy to re-enable, a feature-flag or a comment-block would avoid shipping unreachable render paths. This appears in the collapsed path as well (around line 349).

### Issue 3 of 3
apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OrganizationDropdown/components/HelpSubMenu/HelpSubMenu.tsx:43-91
**`onClick` vs `onSelect` in Radix menu items**

Most items in this component (Documentation, Keyboard Shortcuts, Report Issue, and the Contact Us sub-items) use `onClick` while the parent `OrganizationDropdown` uses `onSelect` throughout. `onSelect` is the Radix-idiomatic handler: it fires regardless of input device and allows calling `event.preventDefault()` to keep the menu open. `onClick` only fires for pointer events in the React model; keyboard users who press Space/Enter on a focused item may not get the handler called reliably across Radix versions. Replace `onClick` with `onSelect` to match the pattern used elsewhere in the dropdown.

Reviews (1): Last reviewed commit: "feat(desktop): merge top bar into pane t..." | Re-trigger Greptile

Comment on lines +24 to +33
const folderImportRef = useRef(folderImport);
folderImportRef.current = folderImport;
const lastTickRef = useRef(0);

useEffect(() => {
if (tick === lastTickRef.current) return;
lastTickRef.current = tick;
void folderImportRef.current.start().then((result) => {
if (result) {
toast.success("Project ready — open it from the sidebar.");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 Stale tick replays on remount

lastTickRef is a local ref that resets to 0 whenever the component mounts. If tick in the store is already > 0 at mount time (e.g., the user triggered a folder import earlier in the same session, then this subtree remounted due to a parent re-render or React StrictMode's double-invoke), the condition tick !== lastTickRef.current fires immediately and calls folderImport.start() again with no user intent. Consider initialising lastTickRef to the current store tick at mount rather than 0.

Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/desktop/src/renderer/commandPalette/ui/FolderImportMount/FolderImportMount.tsx
Line: 24-33

Comment:
**Stale tick replays on remount**

`lastTickRef` is a local ref that resets to `0` whenever the component mounts. If `tick` in the store is already `> 0` at mount time (e.g., the user triggered a folder import earlier in the same session, then this subtree remounted due to a parent re-render or React StrictMode's double-invoke), the condition `tick !== lastTickRef.current` fires immediately and calls `folderImport.start()` again with no user intent. Consider initialising `lastTickRef` to the current store tick at mount rather than `0`.

How can I resolve this? If you propose a fix, please make it concise.

Comment on lines +43 to +91
<LuMegaphone className="h-4 w-4" />
Submit a prompt
</DropdownMenuItem>
<DropdownMenuItem onClick={() => openExternal(COMPANY.DOCS_URL)}>
<HiOutlineBookOpen className="h-4 w-4" />
Documentation
</DropdownMenuItem>
<DropdownMenuItem
onClick={() => navigate({ to: "/settings/keyboard" })}
>
<LuKeyboard className="h-4 w-4" />
Keyboard Shortcuts
{shortcutsHotkey !== "Unassigned" && (
<DropdownMenuShortcut>{shortcutsHotkey}</DropdownMenuShortcut>
)}
</DropdownMenuItem>
<DropdownMenuItem
onClick={() => openExternal(COMPANY.REPORT_ISSUE_URL)}
>
<IoBugOutline className="h-4 w-4" />
Report Issue
</DropdownMenuItem>
<DropdownMenuSub>
<DropdownMenuSubTrigger>
<HiOutlineChatBubbleLeftRight className="h-4 w-4" />
Contact Us
</DropdownMenuSubTrigger>
<DropdownMenuSubContent sideOffset={8} className="w-56">
<DropdownMenuItem onClick={() => openExternal(COMPANY.GITHUB_URL)}>
<FaGithub className="h-4 w-4" />
GitHub
</DropdownMenuItem>
<DropdownMenuItem onClick={() => openExternal(COMPANY.DISCORD_URL)}>
<FaDiscord className="h-4 w-4" />
Discord
</DropdownMenuItem>
<DropdownMenuItem onClick={() => openExternal(COMPANY.X_URL)}>
<FaXTwitter className="h-4 w-4" />X
</DropdownMenuItem>
<DropdownMenuItem onClick={() => openExternal(COMPANY.MAIL_TO)}>
<HiOutlineEnvelope className="h-4 w-4" />
Email Support
</DropdownMenuItem>
</DropdownMenuSubContent>
</DropdownMenuSub>
</DropdownMenuSubContent>
</DropdownMenuSub>
);
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 onClick vs onSelect in Radix menu items

Most items in this component (Documentation, Keyboard Shortcuts, Report Issue, and the Contact Us sub-items) use onClick while the parent OrganizationDropdown uses onSelect throughout. onSelect is the Radix-idiomatic handler: it fires regardless of input device and allows calling event.preventDefault() to keep the menu open. onClick only fires for pointer events in the React model; keyboard users who press Space/Enter on a focused item may not get the handler called reliably across Radix versions. Replace onClick with onSelect to match the pattern used elsewhere in the dropdown.

Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OrganizationDropdown/components/HelpSubMenu/HelpSubMenu.tsx
Line: 43-91

Comment:
**`onClick` vs `onSelect` in Radix menu items**

Most items in this component (Documentation, Keyboard Shortcuts, Report Issue, and the Contact Us sub-items) use `onClick` while the parent `OrganizationDropdown` uses `onSelect` throughout. `onSelect` is the Radix-idiomatic handler: it fires regardless of input device and allows calling `event.preventDefault()` to keep the menu open. `onClick` only fires for pointer events in the React model; keyboard users who press Space/Enter on a focused item may not get the handler called reliably across Radix versions. Replace `onClick` with `onSelect` to match the pattern used elsewhere in the dropdown.

How can I resolve this? If you propose a fix, please make it concise.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@Kitenite
Kitenite merged commit 616bb67 into main Jul 21, 2026
9 of 10 checks passed
Laurence-NZ added a commit to Laurence-NZ/superset-pwsh that referenced this pull request Jul 23, 2026
… F1 sidebar-reorg interplay

The 2026-07-22 merge reverted upstream ParadevAI#5784 (the POSIX launcher-script
pipeline), so W20 collapsed back to its original unified 7de1cb8 form — no
win32 branch, shell threaded through buildAgentCommandString for all platforms.
Rewrote W20 to match and left a re-introduction trigger in case ParadevAI#5784 relands.
Noted ParadevAI#5824's sidebar-reorg interplay on F1 (diff stats now isActive-gated; the
un-gated commits-to-pull badge stays).
Laurence-NZ added a commit to Laurence-NZ/superset-pwsh that referenced this pull request Jul 23, 2026
… survives sidebar collapse

Upstream ParadevAI#5824 moved the v2 Open-in button into the right sidebar's PR action
header, and the OPEN_IN_APP hotkey was registered inside that button. Collapsing
the right sidebar unmounts the button and silently tears the shortcut down, so
Cmd/Ctrl+O only worked while the button was visible.

Register the hotkey via a new useV2OpenInAppHotkey hook mounted in the
always-present V2WorkspaceContent, and drop the registration from the button
(its click handler and shortcut tooltip are unchanged).
Laurence-NZ added a commit to Laurence-NZ/superset-pwsh that referenced this pull request Jul 23, 2026
…ne tab bar

Upstream ParadevAI#5824 moved the v2 Open-in button out of the top chrome and into the
right sidebar's PR action header, so it disappears whenever the sidebar is
collapsed. Add a second instance to the pane tab bar's trailing cluster (next to
the run button and right-sidebar toggle), which stays visible in every sidebar
state. The sidebar copy is left in place.

This branch was previously deployed

1 inactive deployment
preview — 010191b5 Deployed Jul 21, 2026 by Kitenite via Deploy API #6720
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