One of these days it's going to sink in what editing & hitting DONE does if a rule is already active

This often seems to decouple from my expectations....and unless I'm mistaken the Defined Expression/Private Boolean seems to be the root of the problem.

So if I do minor edits (say formatting a Notification) and the rule has already been triggered, private boolean flipped, and it's sitting at a WAIT waiting for an event to cause it to continue....

I assume I am NOT editing, stopping, or otherwise affecting that rule which has been triggered....

and that hitting DONE could be creating another active instance of that rule (now modified) if the trigger causes it (UNLESS I am using a Required Expression and Private Boolean, right???).

I'm not likely putting enough down here for evidence or circumstance....let's just say more than a few times I have found a rule kinda "hung" or at least one of the instances assuming I might have triggered more than one.

Hitting done or update will essentially wipe the rules subscriptions and re subscribe. So you will need to re trigger the rule again.

It doesn't change any variables or PB though so if they are false before the done they will still be false.

At a glance would I be right in thinking most (maybe not all) frustration would be reduced by some kind of warning about the potential impacts of saving changes to a rule? So something like "By clicking Done the Private Boolean for this rule will be reset to False"?

While this doesn't impact me personally on even a semi-regular basis, I can appreciate the confusion and frustrations this could produce, but can equally appreciate the swiss army knife Rule Machine has become. So if any warnings or changes were introduced, I would be happy for these to be built up over time, not expecting all potential outcomes to be covered straight away.

I don't believe this is true. A variable will not be changed by clicking done in a rule but as mentioned above all subscriptions will be reset. If you have a timer that is supposed to reset the private Boolean, that may no longer happen.

I hope that is true.... That I am wrong :slightly_smiling_face:. I guess I was taking the more casual "Sunday Afternoon" perspective of "stuff may happen when you click Done, I don't know exactly what, but a warning about anything serious would be useful". If nothing serious can happen then my requirements have already been met :grin:

Took me a few minutes, but I am still attentive to some detail... I (and I think @PunchCardPgmr ) are referring to Private Boolean values, which are specific to the individual rule instance, as opposed to Hub (or even Local) variables.

Like I mentioned in my comments so far, I'm not claiming to know all the detail on what is being described or even what I am describing, only that if any destructive changes could occur as a result of saving a rule, then I think there could be some benefit to having a warning before completing that action, if not before.

Yeah, I'm referring to individual rule specific, rule internal stuff and instances of said rule co-existing, or something being reset, or whatever it is that might cause a hang up (that hopefully a timeout will eventually flush).

It's not that I don't know the potential for this is there...I just feel I haven't fully grasped the when/what/where of the subscription process and any overlap/resets/interaction that might be afoot after I finish editing a rule that I KNOW has already triggered and is sitting pending it's continued execution (sorry for the dated references).

There may be multiple things afoot that cause a derailment...some actually relating to how the rule is written...but this has happened enough times that there is something more general in how things work that I need to be cognizant of.

EDIT: Thanks for the round-robbin-discussion on this guys.

1 Like

Yep, for me I feel like, while a "real-time" indication of the affect of changes would be nice, the more effective / likely change would be to provide an indication prior to the final saving of the rule, but anything earlier in the editing process would be a welcome addition.

Certain things wonā€™t happen, as @terminal3 said. Like PB changing from true to false, just because the ā€œdoneā€ button was clicked on the rule settings page.

What does end up happening really comes down to how the rule is written, i.e. how itā€™s triggered, what conditions itā€™s evaluating, waits or other actions that could be in progress in an already-running instance. Stuff like that, at least I think.

1 Like

I'm sure that's true @marktheknife, and hence my fence-sitting, but willingness to accept that there are likely some things @PunchCardPgmr is experiencing that are likely worthy of some kind of change to the process of updating a rule.

@PunchCardPgmr - Feels like it may be worth making the effort to capture some more detail of the situations you are seeing when editing your rules.

Maybe adding some sort of multi-function button, like done and trigger (execute etc.) to force it to reevaluate the current conditions? Just a spitball. Even with that I could see where it could still miss something depending on the current condition and what is being waited for.

I know what you mean.... We are all doing that until those with more in-depth knowledge can assess our requests... :slight_smile:

no it does not change anything, as said it just re subscribes.

I'll claim "Sunday brain" (is that a thing....? )... Either way,... I wasn't paying enough attention, thanks for clarifying. I hope that is true also for @PunchCardPgmr 's exprience.

Note that if you are only editing actions, you don't need to use Done; those are saved immediately. As mentioned above, the main things to note are that Done will cancel any scheduled jobs or event subscriptions, including ones that may have been created from actions like waits or delays, then re-subscribe to or re-create any that may be necessary based on your trigger events or required expression (which will also be re-evaluated).

So, if you have something like a delay waiting to set private Boolean or a hub variable to a certain value and are testing that value with an expression anywhere in your rule (including the required expression), it may cause a surprise the next time the rule actions run. Now that there is a table in the rule actions showing the value of all variables, including built-in ones -- and that also provides a way to change the value of private Boolean manually if needed, previously somewhat difficult -- the results should be less of a surprise. If you hit Done, just make sure everything looks OK there. Otherwise, you really only need to hit it if you change trigger events or the required expression, or if you want to re-initialize everything for some reason (keeping in mind all this).

2 Likes

Personally I appreciate your detailed (as always) response @bertabcd1234, but it still feels like the detail may be lost on some users when choosing to update a rule, even if the considerations are not quite what @PunchCardPgmr is expecting / experiencing.

This is going to sound REALLY stupid (even for me, and I'm already pretty stupid), but this is what I do. What happens if you click Update, Activate, Done (not necessarily in that order)?

Update Rule and Done are the same, except Done "closes" the rule and returns you to the Apps list or wherever you came from (same as this button does in any app). There is no "Activate" button I can think of, so I'm not sure what you mean.

This is all documented, BTW. :slight_smile:

4 Likes

I Might be thinking of Run Actions.

1 Like

On that case, it just runs the actions. :slight_smile: (Basically a way to test them without needing to wait for a trigger event to happen.)

3 Likes