I can reproduce this successfully. Here are the steps.
This is a simple rule with no predicate. It runs every 5 minutes and has an IF statement. (Yes, I know it makes no sense logically... this is just an example.)
This rule originally had the IF statement as a predicate. You can see in the conditions that there are two conditions that are the same. I assume one is from the predicate and one from the IF.
I changed to rule to add the predicate back in. I selected the existing condition from the drop-down list. I don't think it matters if I created a new one or selected an existing one.
Then I went into Actions and deleted first the END-IF, and then the IF. Note that both of the conditions are still listed under "Manage Conditions."
But now the Predicate has disappeared.
If I click the Define Predicate Conditions box, the only options are Delete, Edit, and Done.
I understand that deleting a condition that's used in the predicate would also remove the predicate. But I'm not sure why deleting an IF action, but leaving the Condition alone, should also remove the Predicate?
When you created the Predicate, did you use a pre-existing condition, or create a new one? Same question for the IF-THEN?
Not following why you'd have an IF-THEN with the same condition as the predicate, since the rule won't run if it's false, so you know it's true by inference.
It happens whether I use a pre-existing condition or create a new one, in any combination of Predicate and IF-THEN, or both. I created a new rule with brand new conditions to verify this.
I don't want to have the same condition in the IF as in the Predicate. I first noticed this with the rule that had proliferating scheduled jobs because it was rescheduling when the predicate was true, but not removing the schedule when the predicate was false. Until you put the fix in, I had deleted the predicate and wrapped the actions in an IF that was the same as the predicate. Once the hot-fix was available, I put the predicate back in, then deleted the IF/END-IF, and the predicate was gone.
The example rule above is just an example to show what happened. I was playing around to make sure I could reproduce it.
I was told this was expected behavior, so I'm glad it's being looked into.
I've found the cause of this problem, and a fix will be in the next release - 2.2.9.
In the meantime, it is caused by deleting an END-IF that was added using the button to add an END-IF. If you add the END-IF manually, from the drop-down list instead of the button, the problem won't happen.
3 Likes
Very cool! Thanks! Good catch!
I wonder if that’s causing some of the other editing weirdness I’ve seen?