hufftheweevil / node-red-contrib-persistent-fsm

A Node Red node that wraps around Javascript State Machine
Other
4 stars 7 forks source link

Strange interdependency of multiple nodes in one flow #2

Closed fgather closed 2 years ago

fgather commented 3 years ago

Hi,

I created a flow with 2 state machine nodes. However, I see that the nodes create many messages during startup and even create messages for states they do not even have configured. Does this library only support one node for each flow? Am I holding it wrong?

daviscodesbugs commented 3 years ago

I think I'm having a related issue. With the "persist state on re-deploy" option checked, every time I deploy, the node emits a message for each state it has persisted on each re-deploy. There is also no way to "clear out" the states it has persisted (other than deleting the node and re-creating). It seems like my issue and @fgather is related to how the persisted states are scoped.

If I can find time this week, I'll look into the persistence issue and create a PR

K-RAD commented 3 years ago

Same issue here. If I deploy Full, then it works alright, and only outputs the initial state. But if I deploy only the Modified Flows, then it will output all the history of states it's been in since the last deploy, plus the initial state. I have "output only on state change" on, and "persist state" to off

hufftheweevil commented 2 years ago

@fgather You can have multiple of these nodes in each flow without issue. Sounds like you might just have something wired wrong. Can you post an example?

@daviscodesbugs To prevent state output messages in deployment, set the Initial Delay property to be blank. https://github.com/hufftheweevil/node-red-contrib-persistent-fsm/issues/6#issuecomment-1120260203

@K-RAD The issue of outputting "the history of state it's been in since the last deploy" sounds like some underlying Node-RED issue where messages are getting stuck or something. This node will only ever output one message on deployment, and that's only if Initial Delay is set to any number. All other output messages will only come from inputs.

hufftheweevil commented 2 years ago

@fgather Just realized that your issue sounds like https://github.com/hufftheweevil/node-red-contrib-persistent-fsm/issues/3 and was thus fixed in v1.2.0

Closing since all issues here should be addressed