This one's a doozy.
Steps to reproduce:
- Create a revision with a blocking reviewer, and a non-blocking reviewer.
- Have the non-blocking reviewer request changes.
- Have the non-blocking reviewer then accept the same revision.
Expected result:
The revision's state is "Needs Review".
Actual result:
The revision's state is "Needs Revision".
Notes:
- The problem doesn't appear if there's nobody else that needs to review the diff before it can be accepted.
- I haven't tested whether having one person reject the revision, then have another person reject-then-accept, triggers the same problem, or if it is definitely a problem that is specific to blocking reviewers only.