I think it would be very helpful if you could set a Setting that forces the references to always be explicit in a flow.
For example if you use Data from the node exactly in front of it, its default uses $json.data. If you use a node that is not the directly connected (lets say a node 2 steps back) its uses $node[“Code1”].json.
Specially in the earlystages of building i find myself often building something and then adding additional Steps or moving nodes around, if i just build via drag an drop the Workflow isn’t working anymore since $json.data now refers to a totally different node then the Node I actually used data from.
Bump on this after a while because this still makes a lot of sense! Starting to use n8n now I loose reference too many times that it is not funny anymore.
At the very least the act of adding another node inbetween the two should change the one using $json. The editor already manages node renaming so clearly the expressions aren’t just static text.
Also agree. This becomes quite time consuming to fix every time a node is repositioned.
Needs to be smart enough to know when it’s no longer ‘downstream’ of the original node however.