Skip to content

fix(web): compact chat header actions into an overflow menu#1485

Draft
inj-src wants to merge 1 commit intopingdotgg:mainfrom
inj-src:fix/chat-header-overflow-menu
Draft

fix(web): compact chat header actions into an overflow menu#1485
inj-src wants to merge 1 commit intopingdotgg:mainfrom
inj-src:fix/chat-header-overflow-menu

Conversation

@inj-src
Copy link
Copy Markdown

@inj-src inj-src commented Mar 28, 2026

Summary

  • keep the terminal and diff controls pinned in the chat header while moving scripts, open-folder, and git actions into a compact overflow menu on narrower widths
  • replace the oversized overflow popover with a polished menu treatment that matches the app's compact composer controls
  • add a menu-only git action render path so the compact header can reuse the existing git workflows and disabled-state hints inline

Verification

  • bun fmt
  • bun lint
  • bun typecheck

Note

Low Risk
Primarily UI/layout refactoring in the chat header plus a new GitActionsControl menu-rendering mode; risk is limited to potential regressions in header action availability/disabled states at different widths.

Overview
Chat header actions are now responsive. When the header is narrower than a fixed breakpoint, project scripts, “open folder”, and git actions move into an overflow menu while the terminal/diff toggles remain pinned.

GitActionsControl gains a menu-only render path. A new inMenu prop lets the component emit MenuItems (including disabled-state tooltips) so the same git workflows can be reused inside the new overflow menu.

Written by Cursor Bugbot for commit 496fde5. This will update automatically on new commits. Configure here.

Note

Collapse chat header actions into an overflow menu below 860px width

  • ChatHeader.tsx uses a ResizeObserver to toggle a compact mode when the container is narrower than 860px, replacing inline controls with a 'More actions' menu.
  • The overflow menu includes up to 5 project scripts (with a disabled '+N more' item if there are more), an 'Open folder' action, and Git actions via a new inMenu prop on GitActionsControl.
  • GitActionsControl.tsx gains an inMenu prop that renders Git actions as MenuItem entries with popover tooltips for disabled items instead of the previous inline UI.

Macroscope summarized 496fde5.

@github-actions github-actions bot added size:L 100-499 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Mar 28, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 28, 2026

Important

Review skipped

Auto reviews are disabled on this repository. 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: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 956a0d3b-2cb1-4c5a-88be-64b1b7cc9e9c

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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 and usage tips.

Copy link
Copy Markdown
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

})}
</>
);
}
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.

Dialogs missing when git actions rendered in menu mode

High Severity

The inMenu render path returns early with only the menu items, but both the commit Dialog and the default-branch confirmation Dialog are only rendered in the non-inMenu return block further below. Clicking "Commit" in the overflow menu calls setIsCommitDialogOpen(true) via openDialogForMenuItem, but the dialog JSX is never mounted so nothing appears. Similarly, push/PR actions on a default branch silently set pendingDefaultBranchAction state with no confirmation dialog ever rendering, causing the action to be silently dropped.

Additional Locations (1)
Fix in Cursor Fix in Web

@inj-src inj-src marked this pull request as draft March 28, 2026 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant