"Stop processing" doesn't seem to work? (6.2.12) #10427
Replies: 3 comments 4 replies
-
Hey, thanks for starting this discussion. You will have to collect the debug logs to see what's actually happening. A simple test run on my local instance shows that this works as expected, ie. the rule stops the processing.
See the last line. I'm curious to see your results. Cheers, |
Beta Was this translation helpful? Give feedback.
-
Thanks for getting back to me, and for the log extract. That's really helped me to understand what I'm looking for. I've re-run the test with the debug logs on, and we're possibly a little closer to finding the issue, but I'm still stumped! These were the logs when I ran the tests the first time. My interpretation of this is, the rule didn't break because the first rule didn't actually do anything (i.e. the tag was already there).
So I tried deleting the tag, then re-running the rules
But while the logs seemed to suggest it was all working now, the end results were the same (category had changed on a transaction where it shouldn't). So it wasn't initially clear to me that the "stop processing" rule needs to make a change to be effective. I've now added a "add tag" and a "remove tag" step, which both "stop executing other actions", since at least one of them will always run, and I don't actually care about these tags anyway. With the new rules (and limiting the run to as few transactions as possible to make the logs more readable), I'm now seeing this.
The second last line seems to be relevant, but I don't understand why. Both these rules are within a group, so surely rule 152 shouldn't run? Any thoughts? |
Beta Was this translation helpful? Give feedback.
-
Sorry, I also just realised I should have posted this earlier in case it's any help. Debug information generated at 2025-06-08 20:33:28 for Firefly III version v6.2.12.
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I'm loving firefly-iii, and have been using it for a year or two now, but I've been trying to up my automation game, and start using rules more effectively. I'm trying to create groups where I don't have to write a complex series of "but not if these conditions are true" in every rule within the group. A specific example here is I want to create a series of rules to automatically categorise transactions that have specific words in the description (e.g. "cafe"/"food", or "fuel"/"petrol")... but if another rule has already set a category with a more specific rule, I don't want to override it.
I know I could add a "Transaction has no category" condition to each rule and make them "strict", but it seems I should be able to do this with a single rule at the top of a group that catches transactions that meet certain conditions, and "stops processing other rules". In my case, this first rule simply adds a tag (since there's no "NOOP" action).
When I try to run the rules in the group using "Apply rule group", the first rule triggers and adds tags to the transactions I'd expect. But then those same transactions also get modified by the subsequent rules.
I've found some earlier discussions that suggest the "stop_processing" function was present but non-functional a few years ago, but I'm assuming it should function now? Am I thinking about rules/groups in the wrong way here? Is this a bug in Firefly-iii, or in my thinking/logic?
I can't seem to upload a screenshot of the rules, but I've included details below direct from the DB.
What I've done:
What I'd expect to happen:
What happens:
Beta Was this translation helpful? Give feedback.
All reactions