You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Skip a Null GraphQL Node in pr_review.py reviewer_nodes Instead of Crashing wait #3392
scripts/pr_review.py wait can crash with a traceback when the pull request's comments connection returns a null entry in nodes. reviewer_nodes() calls n.get("author") on every node, so a None node raises:
File "scripts/pr_review.py", in answered_outside_review
comments = reviewer_nodes(pr, "comments")
File "scripts/pr_review.py", in reviewer_nodes
if (n.get("author") or {}).get("login") == login
AttributeError: 'NoneType' object has no attribute 'get'
The wait exits 1 with that traceback rather than with one of its documented outcomes, so a driver reads it as neither "met", "pending", nor a named failure.
When it was seen
It came from the first wait run against a freshly opened pull request, seconds after attest posted its comment and a third-party review bot posted its own. A read of the same connection a minute later returned only non-null nodes, and the identical wait run then completed normally. So the null entry looks transient, consistent with GraphQL returning null for a list item it could not resolve at read time (with a matching entry in errors).
Reproduce
Feed reviewer_nodes() a payload whose comments.nodes holds a None, for example {"comments": {"nodes": [None, {"author": {"login": "copilot-pull-request-reviewer"}}]}}. It raises the same AttributeError.
Done when
reviewer_nodes(), and any sibling that iterates a GraphQL nodes list the same way, skips or reports a null entry rather than raising.
Whether a null node should make the read count as blind, the way window_blind treats an untrustworthy window, is decided rather than left to the crash.
Claim correction for this group: the test file is tests/test_pr_review.py (repo-root tests/), not the scripts/tests/ path the claim above names. Branch and other files unchanged.
Activity
ptr727 commentedon Oct 31, 2026
Backlog burndown, round 1 file claim.
Group issues: #3392, #3677
Branch:
feature/burndown-3392-3677Predicted file set:
Another group must not edit these files until this branch merges or the claim is released here.
ptr727 commentedon Oct 31, 2026
Claim correction for this group: the test file is
tests/test_pr_review.py(repo-roottests/), not thescripts/tests/path the claim above names. Branch and other files unchanged.Read a Null GraphQL Node as Unread and Name a Closed Pull Request's S…
ptr727 commentedon Oct 31, 2026
Claim released: group branch
feature/burndown-3392-3677merged into develop as #3689 and is cleaned up. The scripts/README.md follow-up is #3688.