Page MenuHomePhabricator

Herald allows setting multiple values in fields that should only accept one value
Closed, ResolvedPublic

Description

Steps to reproduce:

  • Create Herald Rule for Maniphest
  • if Title contains xyz
  • Change status to "Resolved" and "Invalid"

-> Creates a rule according to the information provided with the exception that status is only set to "Resolved" when rule is applied.

It seems like only the first item is used.

I believe in this case it should not be possible to select more than one value. Or Herald should throw an exception if you select more than one condition in the cases where it should not be allowed.

This happens (for Maniphest) when the action includes

  • change status
  • change priority to
  • assign task to

Event Timeline

epriestley triaged this task as Wishlist priority.Jun 8 2016, 2:26 PM
epriestley added a subscriber: epriestley.

We should fix these, but I think these are fairly self-evident and I think fixing them isn't trivial since I recall declining to fix them the last time I was in this code.

Not only this, but multiple Herald rules can conflict.

(...) I think these are fairly self-evident (...)

I agree usually this should not cause any trouble. However, if global rules are used, normal user often don't know about these rules and the rule creator might make a mistake that could lead to errors much later because the rule is not applied as the rule creator intended.

Not only this, but multiple Herald rules can conflict.

What happens with multiple conflicting Herald rules? What is the order in which different Herald rules are applied? Can this order be changed?