What sort of chaotic evil are you to enable snap to grid and then place the nodes half-way between the grid? Madness
What size grid have you got? I'm not able to reproduce this with the default 20-pixel grid size. From a code perspective, if the wire is dashed when you release the node, it will get joined; I can't immediately see a case where we know to dash the wire but don't know to join it.
I can see a case where, if the grid size is sufficiently large (for example 30-pixels), if the node is at the mid-point then you simply can't get the node close enough to the wire to enable the dash. In that case you can press shift to disable the snap-to-grid whilst dragging - which is reasonable.
When I had it I could not persuade the line to go dotted, and I can now replicate it reasonably easily, but only on Firefox, it is ok on Chrome. There is a possibly related issue on firefox, that if the line is horizontal there is a very small window of opportunity to find the right spot.
To replicate the inability to persuade the line to go dotted then, on Firefox start with a Debug node on the end of a short horizontal line. Pull the debug node right a couple of inches then drop it and then drag a function node out of the palette and try to drop it on the wire. Sometimes it works, sometimes it doesn't, and sometimes it does but the line goes dotted with the function node in a slightly different vertical position. If you drop the function node on the canvas and then pick it up again then it usually will drop in ok.
Edit:
Node-RED version: v0.19.5
Node.js version: v10.15.1
On Ubuntu.
Apologies for reviving this old thread, but it looks like this is still happening on MacOS Big Sur and Safari. The drag/drop works correctly on Chrome - just not on Safari. On Safari, the connector never changes to a dashed line and when you release the node, it does not connect to anything.
MacBook Pro (M1), MacOS Big Sur (11.5), Safari (14.1.2), Node-RED (1.3.5)
EDIT: I think I see the issue - if the "View" setting in Safari is not "Actual Size", the drag/drop does not work. I changed the view and it works. In Chrome, it works when the setting is "Zoom Out" or "Actual Size"
EDIT 2: Some more detail - if you start with the view in "Actual Size", it will work. If you change to "Zoom out" (one step), it works sometimes. If you "Zoom Out" again (two steps from actual), it does not work. On the maximum "Zoom Out" view it also does not work.
On NR 2.0.5 I found that the first 2 levels of zoom out still seem to work. However, I could not get it to work at the third level.
I launched the NR editor, checked to see that "View" was "Actual Size". Then selected "Zoom Out" - drag, drop worked. Selected "Zoom Out" again - drag/drop worked with some fiddling (had to keep the node hovering over the connector, move it around and then the connector went to "dashed" mode). Selected "Zoom Out" again (max zoom out) - could not get the node connector to change to dashed and dropping the node did nothing.
EDIT: Is there a way to upload a .mov file? I have a Quicktime screen capture that shows this...
That's strange - it's happening consistently for me.
For NR 1.3.5, I have NR on a remote host (MacBook Pro 2012 - MacOS Catalina 10.15.7, Node.js 14.15.5, NPM 7.5.4). I have attached a screen capture of this behavior and uploaded it to the GitHub issue referenced above.
For NR 2.0.5, I have NR on local host, (MacBook Pro 2020 M1, MacOS Big Sur 11.5, Node.js 14.15.0, NPM 6.14.8)
My NR palette settings have "Snap to grid" unchecked (but I have tried it with it checked as well). Not sure what else would impact this.
EDIT: Also uploaded a screen capture for Node-RED 2.0.5
I just tested it (on 2.0.5) with a straight horizontal line and I can only get it to work when view is "Actual Size" - any amount of zoom out and the line never turns "dashed"