Skip to content

fix: resolved review threads don't trigger can-be-merged re-evaluation #1038

Description

@myakove

Problem

When a review thread is resolved on a PR, can-be-merged is not re-evaluated. The PR stays in a stale "cannot be merged: unresolved conversations" state until another event (like a check run or status update) triggers re-evaluation.

Root Cause

GitHub sends a pull_request_review_thread webhook event with action resolved/unresolved, but the webhook server does not handle this event type. The process() method in github_api.py only handles: ping, push, issue_comment, pull_request, pull_request_review, check_run, status.

Expected Behavior

When a review thread is resolved or unresolved, can-be-merged should be re-evaluated to reflect the current state of conversations.

Deliverables

  • Add pull_request_review_thread event handler in github_api.py process()
  • Re-evaluate can-be-merged on resolved and unresolved actions
  • Lightweight handler (no clone needed — conversation check uses GraphQL API)
  • Add tests for resolved/unresolved thread handling

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions