Is there a way to disable these options directly from the Node-RED editor instead of modifying the JSON file?
If this is not currently supported, is there a recommended approach or is it something that could be added as an option in the node configuration?
I frequently use ui-template nodes where I don't want previous messages to be stored or resent when the dashboard reconnects or refreshes, so having these settings available in the editor would make configuration much easier.
That fact that the msg inside the template instance get's overwritten after each send() has been nagging me a while, too.
I found out about storeOutMessages the hard way when I was trying to send partial messages as input using different topics and update the instance data incrementally inside the template.
The template also has some controls that send out messages, but every time I sent an action my data was replaced by the "action" message. Result: The UI was empty until new input data arrived.
(My workaround to this day is composing a complete message beforehand and send that as input. Not ideal, but working.)
Very tricky to find out, so I searched the code back then and found that storeOutMessages has been implemented yet.
It's present in the editor html, but the regarding section is commented out. In the runtime code storeOutMessages isn't even evaluated.
If you are not re-sending the previous data when a client refreshes or connects, how are you updating the template to the latest status when a new client connects?
I am not building an IoT-based application. My project is a standalone runtime software for machine control, similar to an HMI or SCADA system. Because of this, I do not need to send data to multiple clients.
I use inject nodes with a time delay to refresh the template node and the flow. These are initialized at startup with set priorities. Within 1.5 seconds, all required nodes and third-party dependencies connect, and the software is ready to run.
Does resendOnRefresh: false actually stop it resending on refresh? I can't see where that is implemented in the code. It is present, commented out, in the ui, but not in the code, so I am surprised that it makes a difference at run time.