1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-09-21 09:48:47 +02:00
phorge-phorge/src/applications
Joshua Spence f5c9b9c014 Make Herald rules more resilient
Summary:
Make Herald conditions and actions more resilient (see discussion in D12896). This protects against invalid rules, which may have been valid in the past but are no longer valid. Specifically:

  - If a rule has an invalid field, the conditions fail and the actions do not execute.
  - The transcript shows that the rule failed because of an invalid field, and points at the issue.
  - If a rule has an invalid action, that action fails but other actions execute.
  - The transcript shows that the action failed.
  - Everything else (particularly, other rules) continues normally in both cases.
  - The edit interface is somewhat working when editing an invalid rule, but it could use some further improvements.

Test Plan:
  # Ran this rule on a differential revision and saw the rule fail in the transcript.
  # Was able to submit a differential without receiving an `ERR-CONDUIT-CORE`.
  # Edited the Herald rule using the UI and was able to save the rule succesfully.
  # Ran this rule on a differential revision and saw one success and one failure in the transcript.
  # Was able to submit a differential without receiving an `ERR-CONDUIT-CORE`.
  # Edited the Herald rule using the UI. Clicking save caused a `HeraldInvalidActionException` to be thrown, but maybe this is okay.

Differential Revision: http://phabricator.local/D41
2015-05-25 19:09:23 +10:00
..
almanac phtize all the things 2015-05-22 21:16:39 +10:00
aphlict phtize all the things 2015-05-22 21:16:39 +10:00
arcanist/conduit phtize all the things 2015-05-22 21:16:39 +10:00
audit phtize all the things 2015-05-22 21:16:39 +10:00
auth phtize all the things 2015-05-22 21:16:39 +10:00
base phtize all the things 2015-05-22 21:16:39 +10:00
cache phtize all the things 2015-05-22 21:16:39 +10:00
calendar Clicking in day view should create new event 2015-05-24 11:22:33 -07:00
celerity phtize all the things 2015-05-22 21:16:39 +10:00
chatlog phtize all the things 2015-05-22 21:16:39 +10:00
conduit Make everything 1000x or 1000000x slower 2015-05-23 05:36:02 -07:00
config phtize all the things 2015-05-22 21:16:39 +10:00
conpherence phtize all the things 2015-05-22 21:16:39 +10:00
console Make everything 1000x or 1000000x slower 2015-05-23 05:36:02 -07:00
countdown phtize all the things 2015-05-22 21:16:39 +10:00
daemon Make everything 1000x or 1000000x slower 2015-05-23 05:36:02 -07:00
dashboard phtize all the things 2015-05-22 21:16:39 +10:00
differential phtize all the things 2015-05-22 21:16:39 +10:00
diffusion phtize all the things 2015-05-22 21:16:39 +10:00
diviner phtize all the things 2015-05-22 21:16:39 +10:00
doorkeeper phtize all the things 2015-05-22 21:16:39 +10:00
draft/storage Fix visiblity of LiskDAO::getConfiguration() 2015-01-14 06:54:13 +11:00
drydock phtize all the things 2015-05-22 21:16:39 +10:00
fact phtize all the things 2015-05-22 21:16:39 +10:00
feed phtize all the things 2015-05-22 21:16:39 +10:00
files phtize all the things 2015-05-22 21:16:39 +10:00
flag phtize all the things 2015-05-22 21:16:39 +10:00
fund phtize all the things 2015-05-22 21:16:39 +10:00
harbormaster phtize all the things 2015-05-22 21:16:39 +10:00
help Use __CLASS__ instead of hard-coding class names 2015-05-14 07:21:13 +10:00
herald Make Herald rules more resilient 2015-05-25 19:09:23 +10:00
home phtize all the things 2015-05-22 21:16:39 +10:00
legalpad phtize all the things 2015-05-22 21:16:39 +10:00
lipsum phtize all the things 2015-05-22 21:16:39 +10:00
macro phtize all the things 2015-05-22 21:16:39 +10:00
mailinglists phtize all the things 2015-05-22 21:16:39 +10:00
maniphest phtize all the things 2015-05-22 21:16:39 +10:00
meta phtize all the things 2015-05-22 21:16:39 +10:00
metamta phtize all the things 2015-05-22 21:16:39 +10:00
multimeter Use PhutilInvalidStateException 2015-05-14 07:53:52 +10:00
notification phtize all the things 2015-05-22 21:16:39 +10:00
nuance phtize all the things 2015-05-22 21:16:39 +10:00
oauthserver phtize all the things 2015-05-22 21:16:39 +10:00
owners phtize all the things 2015-05-22 21:16:39 +10:00
passphrase phtize all the things 2015-05-22 21:16:39 +10:00
paste phtize all the things 2015-05-22 21:16:39 +10:00
people phtize all the things 2015-05-22 21:16:39 +10:00
phame phtize all the things 2015-05-22 21:16:39 +10:00
phid phtize all the things 2015-05-22 21:16:39 +10:00
phlux Transactions - make implementing TYPE_XXXX_POLICY transactions optional 2015-05-19 12:58:18 -07:00
pholio phtize all the things 2015-05-22 21:16:39 +10:00
phortune phtize all the things 2015-05-22 21:16:39 +10:00
phpast phtize all the things 2015-05-22 21:16:39 +10:00
phragment phtize all the things 2015-05-22 21:16:39 +10:00
phrequent phtize all the things 2015-05-22 21:16:39 +10:00
phriction phtize all the things 2015-05-22 21:16:39 +10:00
policy phtize all the things 2015-05-22 21:16:39 +10:00
ponder phtize all the things 2015-05-22 21:16:39 +10:00
project phtize all the things 2015-05-22 21:16:39 +10:00
releeph phtize all the things 2015-05-22 21:16:39 +10:00
remarkup/conduit phtize all the things 2015-05-22 21:16:39 +10:00
repository phtize all the things 2015-05-22 21:16:39 +10:00
search phtize all the things 2015-05-22 21:16:39 +10:00
settings phtize all the things 2015-05-22 21:16:39 +10:00
slowvote phtize all the things 2015-05-22 21:16:39 +10:00
subscriptions phtize all the things 2015-05-22 21:16:39 +10:00
support/application Implement the getName method in PhabricatorApplication subclasses 2014-07-23 23:52:50 +10:00
system phtize all the things 2015-05-22 21:16:39 +10:00
tokens phtize all the things 2015-05-22 21:16:39 +10:00
transactions phtize all the things 2015-05-22 21:16:39 +10:00
typeahead phtize all the things 2015-05-22 21:16:39 +10:00
uiexample phtize all the things 2015-05-22 21:16:39 +10:00
xhprof phtize all the things 2015-05-22 21:16:39 +10:00