feat(pull-requests): say why a merge was refused, and let an administrator merge anyway - #38
Conversation
…rator merge anyway A pull request held back by its base branch's rules is a normal end to a day's work, and the host's own explanation was being dropped one layer below the toast. Every refusal read as the same guess about write access, which leaves the reader pressing the same button again. Someone who administers the repository already has the authority to merge past those rules, and had to leave the app for a terminal to use it. Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
PR SummaryMedium Risk Overview Repository admins can merge past branch rules. GitHub reports On the detail panel, admins get a destructive “merge past branch rules” menu item behind its own confirmation. A Reviewed by Cursor Bugbot for commit 831ea8b. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
Warning Review limit reached
Next review available in: 46 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (21)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
A sentence explaining that the branch's rules forbid the merge is a dead end: the reader is told no and left to find the way out on their own, in a menu they have no reason to open. The refusal now travels as a kind rather than only as prose, so the page can tell the one refusal an administrator can override from the ones nobody can, and ask. Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
Reviewed by Cursor Bugbot for commit 831ea8b. Configure here.
| }) | ||
| ) { | ||
| setConfirmation({ open: true, action: "merge-bypass", refusalDetail: description }); | ||
| return; |
There was a problem hiding this comment.
Bypass retry dialog race
High Severity
After a merge is refused, the new bypass path sets confirmation to open the merge-bypass dialog and returns without a toast. The dialog's onOpenChangeComplete still resets confirmation to { open: false, action: "merge" } when the prior close finishes, which can wipe that reopen. When the host answers quickly, the reader gets neither the override dialog nor an error toast.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 831ea8b. Configure here.


Uh oh!
There was an error while loading. Please reload this page.