I try to follow Phabricator development, and have reviewed both https://secure.phabricator.com/T2543 and https://secure.phabricator.com/T13010. I have prototypes enabled, and am finding that people’s Personal Herald rules are not firing and adding the users as Subscribers or Reviewers when Differential drafts are filed, or when the Harbormaster builds pass and they stop being Drafts.
STEP BY STEP
arc diff to file differential object D750 on my local install. I’ve attached a slightly redacted copy of the Herald transcript from the creation of that object.
Unit and lint tests passed, and the patch immediately showed the following build status:
Lint (Green Star) Lint OK
Unit No Unit Test Coverage
Build Status (Green Checkmark) Buildable 850
(Green Checkmark) Build 850: arc lint + arc unit
Based on your own T13010, I believe that this means it is no longer a “Draft”. However, Herald’s “All Transcripts” page only shows the one transcript for this object.
I made an edit to the Differential object (added a space to the description) to force Herald to fire again. This did cause all of the Herald rules to fire correctly, except for one user who used the condition “Failed Is newly created is true”
When a Differential object’s builds pass and it stops being a Draft, are Herald rules supposed to fire again automatically (to potentially add reviewers and subscribers)?
How should those Herald rules be written to only fire once (the first time a Differential object stops being a Draft), so that if the user removes themselves as a review or subscriber, the Herald rule doesn’t immediately add them again?
If there’s any more information that I’m able to provide, please let me know. Versions below: (Stable from 2017 Week 46)