If you have two receive nodes that listen to the same room ID the message that is passed along is the same, and can mutate each other's object.
E.g. if you have one receive message node to listen to specific bot commands !help, etc, etc and then modify in place that msg object, a separate receive message node which is listening to users for bot rules (e.g. no links to illicit websites) then there can be conflict if that function also modifies in place.
I've added a simple demo to display the root issue demo.json
Im pretty sure the issue is with node.server.on("Room.timeline", async function(event, room, toStartOfTimeline, removed, data, msg),
and node.send(msg), i think cloning the incoming msg as something else and returning the clone would fix it
You can also just simple not have multiple receive nodes listen to the same thing and use a junction with your own deep cloning function.
If you have two receive nodes that listen to the same room ID the message that is passed along is the same, and can mutate each other's object.
E.g. if you have one receive message node to listen to specific bot commands !help, etc, etc and then modify in place that msg object, a separate receive message node which is listening to users for bot rules (e.g. no links to illicit websites) then there can be conflict if that function also modifies in place.
I've added a simple demo to display the root issue demo.json
Im pretty sure the issue is with node.server.on("Room.timeline", async function(event, room, toStartOfTimeline, removed, data, msg),
and node.send(msg), i think cloning the incoming msg as something else and returning the clone would fix it
You can also just simple not have multiple receive nodes listen to the same thing and use a junction with your own deep cloning function.