feat(web): add pull request merge defaults - #8088
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI 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 |
There was a problem hiding this comment.
One finding: the renamed merge-method labels also flow into the compact header action button and the confirm dialog button, which changes header geometry beyond the menu/settings surfaces described in the PR.
Posted via Macroscope — UI Consistency
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This change introduces project-level and cross-session merge defaults that alter the strategy selected for real pull-request merges, alongside new settings UI and menu behavior. The feature is contained and uses validated additive settings, but its user-facing workflow and merge-side effects warrant focused review. You can add or adjust custom eligibility rules. Learn more. |
What Changed
This builds on the persistence idea from #7992 and adds project defaults plus menu-close behavior.
Why
Pull requests always started with a merge commit. Users who prefer squash or rebase had to change it each time. Projects can now keep their own default while other projects follow the last-used method.
UI Changes
The pull request action menu and Project settings now show Merge, Squash and merge, and Rebase and merge.
No screenshots are attached. The available collaborative preview rewrites loopback to the shared server host, which risks replacing live T3 session cookies. I stopped the browser pass before pairing.
Verification
Risk
Low. Stored values are validated. Unsupported repository methods fall back to an allowed method.
Checklist
Note
Add per-project and persisted pull request merge defaults
ClientSettingsSchemawith a new settings row in ProjectSettingsPanel.tsx.resolvePullRequestMergeMethodin pullRequestDetail.logic.ts to select a method by priority: current panel choice, project default, then last selected.Macroscope summarized 1db377b.