Skip to content

[Fix] PR stuck at awaiting-author when a third party re-requests review - #2027

Merged
edelauna merged 1 commit into
mainfrom
fix/any-requester-clears-maintainer-block-2n14ny7jy6smn
Oct 12, 2026
Merged

edelauna merged 1 commit into
mainfrom
fix/any-requester-clears-maintainer-block-2n14ny7jy6smn

Conversation

@ghost

@ghost ghost commented Oct 12, 2026

Copy link
Copy Markdown

​Created by Roomote. Follow up by mentioning @roomote, in the web UI, or in Discord.

Related GitHub Issue

Closes: #2026

Description

A maintainer CHANGES_REQUESTED review is a durable block in the PR label workflow. Before this change, only two re-requests cleared the block: the PR author re-requesting the blocking maintainer, or the blocking maintainer re-requesting themselves. A re-request from anyone else, for example another maintainer, left the PR stuck at awaiting-author.

This PR removes the actor check in the review_requested loop in .github/workflows/label-pr-review-state.yml. Now any review_requested timeline event that names the blocking maintainer clears that block, no matter who made the request.

These rules do not change:

  • Team requests never clear an individual block (they carry no requested_reviewer).
  • A request older than the blocking review does not clear the block.
  • A timeline reconstruction error keeps the block (fail closed).
  • review_request_removed events never clear a block.

No new label code is needed. When the block clears and CI passes, the existing flow adds awaiting-coderabbit and coderabbit-review-active, or moves the PR to awaiting-maintainer when automated review is already complete.

Trade-off, noted in the issue: any user with request rights can now clear a maintainer block. A maintainer-only rule would need a permissionFor check on the timeline actor. This PR implements the proposal as written.

Test Procedure

  • Updated the test that expected a third-party re-request to keep the block. It now expects the block to clear.
  • Added a test that checks awaiting-coderabbit and coderabbit-review-active are added after a third-party re-request clears the block.
  • Updated the team-request and stale-request tests to use a third-party actor. This pins the unchanged rules under the new semantics.
  • Run pnpm exec vitest run services/__tests__/pr-review-state-workflow.test.ts from src/: 196 tests pass.
  • Run pnpm test from the repository root: all 13 turbo tasks pass (10,436 tests passed, 39 skipped).

Pre-Submission Checklist

  • Issue Linked: This PR is linked to an approved GitHub Issue (see "Related GitHub Issue" above).
  • Scope: My changes are focused on the linked issue (one major feature/fix per PR).
  • Self-Review: I reviewed my own code with care.
  • Writing Style: The PR title and description use Simplified Technical English (ASD-STE100): short sentences, plain words, active voice, one idea per sentence, no contractions.
  • Testing: New and/or updated tests have been added to cover my changes (if applicable).
  • Visual Snapshot (UI changes only): Not applicable. This PR changes a CI workflow and its tests only.
  • Documentation Impact: I checked if my changes need documentation updates (see "Documentation Updates" section below).
  • Contribution Guidelines: I read and agree to the Contributor Guidelines.

Documentation Updates

  • No documentation updates are required. This is a CI workflow change with no user-facing behavior in the product.

Additional Notes

The open question from the issue is out of scope here: this change lets any requester clear the block, not only maintainers. Reviewers may want to decide if a follow-up should restrict clearing to maintainers through a permissionFor check on the request actor.

Get in Touch

roomote

@coderabbitai

coderabbitai Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

This PR was authored by a bot without an assigned CodeRabbit review seat. Ask an organization administrator to assign a seat to the bot. See the seat-assignment guide. After the seat is assigned, request a review again.

⚙️ Run configuration
  • Configuration used: Repository: Zoo-Code-Org/Zoo-Code/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 2b605d8e-0d2f-4f7c-b286-a4618522b3b3

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@codecov

codecov Bot commented Oct 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@edelauna
edelauna marked this pull request as ready for review October 12, 2026 19:02
@edelauna
edelauna enabled auto-merge October 12, 2026 19:05
@edelauna
edelauna added this pull request to the merge queue Oct 12, 2026
Merged via the queue into main with commit 36b01ef Oct 12, 2026
27 checks passed
@edelauna
edelauna deleted the fix/any-requester-clears-maintainer-block-2n14ny7jy6smn branch October 12, 2026 19:28
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.

Let any requester clear a maintainer block in the label workflow

2 participants