If you have a Http in node with a defined URL, you then copy said node, and deploy.
Now two nodes have the same URL and only the last one will work.
So if you do the above, and then change the URL on the second node, there is no longer a duplication thing, but the first node still doesnt work.
You have 'fixed' the issue, there are no errors, but the original node still doesnt work.
To get it to work again you can replace the node, edit it, or just restart node-red.
A quick google suggest this isnt a known bug, but to me it feels like more people should have encountered this issue.
Is this expected behaviour?
it depends on the deploy type. Since the 2nd node effectively "took over" the express path, it kinda breaks the original. That original node is NOT updated until (as you point out) restart or edit it. If you were doing a FULL deploy this would not be an issue (but I do understand why folk use the nodes deploy mode - I use it mostly too).
Whether it is a bug or just something you have to deal with is a different matter. Not a straightforward one to handle i think.
Unless you have two with the same url.
Then the problem reappears, but atleast if you're paying attention you'll see the duplication.
But you don't get any error or visual notice that you've probably screwed up.
Seems to me that this is expected behaviour, but not clearly communicated to the user.
If that is the case, it should probably give an error to indicate that the node is no longer "connected" as the 2nd node took over that path.
It doesnt seem to affect that many people, if any, so i think it could be considered a low priority bug.
If you think thats valid, i can report it on github.
From what i gather we all agree that its an annoying bug, but the cost-benefit to fixing it is probably too high.
Ill write a bug report, and someone will probably have the ephiphany to fixing it in the shower.