Skip to content

feat(web): add pull request merge defaults - #8088

Open
Bil0000 wants to merge 2 commits into
pingdotgg:mainfrom
Bil0000:feat/pull-request-merge-defaults
Open

feat(web): add pull request merge defaults#8088
Bil0000 wants to merge 2 commits into
pingdotgg:mainfrom
Bil0000:feat/pull-request-merge-defaults

Conversation

@Bil0000

@Bil0000 Bil0000 commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Remember the last allowed merge method across pull requests and sessions.
  • Add a per-project default that takes precedence when a pull request opens.
  • Close the action menu after a merge method is selected.
  • Use clear merge method names.

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

  • Focused tests: 142 passed.
  • Contracts typecheck passed.
  • Web typecheck passed.
  • Targeted lint and formatting passed.
  • Independent review found no actionable issues.

Risk

Low. Stored values are validated. Unsupported repository methods fall back to an allowed method.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • No animation or motion changes

Note

Add per-project and persisted pull request merge defaults

  • Adds per-project merge method overrides to ClientSettingsSchema with a new settings row in ProjectSettingsPanel.tsx.
  • Persists the user's last selected merge method in the UI state store across sessions.
  • Adds resolvePullRequestMergeMethod in pullRequestDetail.logic.ts to select a method by priority: current panel choice, project default, then last selected.
  • Behavioral Change: Merge method menu labels now use "Squash and merge" and "Rebase and merge", and the menu closes immediately upon selection in PullRequestDetailPanel.tsx. Invalid persisted merge method values are reset to 'merge'.

Macroscope summarized 1db377b.

@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

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 Plus

Run ID: c4abc6e5-4094-4a73-9b76-4355f4d29664

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

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 added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Aug 24, 2026

@macroscopeapp macroscopeapp Bot left a comment

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.

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

Comment thread apps/web/src/components/pullRequest/pullRequestDetail.logic.ts
@macroscopeapp

macroscopeapp Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: 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.

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:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant