If the agent gets into a particular state (i.e. bad module specified), the agent can be crashed by a simple MQTT command to update. This is due to several places in the code where callbacks are calling agent.setState(...) without a .catch or a try, await, catch.
These issues were uncovered while developing a separate feature but were super easy to get into but difficult to get out of.
Expected Behavior
Ideally, the agent should not be crash-able at all (should be recoverable by the interface no matter the state)
This obviously is a utopian goal but the items highlighted can easily be addressed.
Current Behavior
If the agent gets into a particular state (i.e. bad module specified), the agent can be crashed by a simple MQTT command to update. This is due to several places in the code where callbacks are calling
agent.setState(...)
without a.catch
or atry
,await
,catch
.These issues were uncovered while developing a separate feature but were super easy to get into but difficult to get out of.
Expected Behavior
Ideally, the agent should not be crash-able at all (should be recoverable by the interface no matter the state)
This obviously is a utopian goal but the items highlighted can easily be addressed.
Steps To Reproduce
No response
Environment