Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug - Use of 'connect the features' multiple times #8655

Closed
arch0345 opened this issue Aug 23, 2021 · 5 comments · Fixed by #8663
Closed

Bug - Use of 'connect the features' multiple times #8655

arch0345 opened this issue Aug 23, 2021 · 5 comments · Fixed by #8663
Labels
bug A bug - let's fix this!
Milestone

Comments

@arch0345
Copy link
Contributor

This issue can be recreated by adding a marked crosswalk that crosses a dual carriageway. An issue should pop up with iD suggesting to 'connect the features'. This function works the first time, but when clicking on it again, the marked crosswalk node is only connected to the crosswalk way and not with the roadway.

@AntMadeira
Copy link

AntMadeira commented Aug 24, 2021

I can confirm this.
I found out that when crossing a way over an area, iD suggests to connect them, but only the first node works. The next one creates a disconnected point (white balloon).

@jtracey
Copy link
Contributor

jtracey commented Aug 24, 2021

Issue I suspect is directly related: Draw a new highway over an existing, unmodified highway, such that they trigger the "crossing highways" warning. Then, move one of the nodes on the existing highway, so that where they cross is in a different position, but they still cross. Hit "Connect features", and an intersection node will be added at the old intersection location, rather than the current one.

For additional weirdness: Do the above, but instead of moving an existing node, create a new node on the existing highway, and move that. "Connect features" will add nodes that aren't connected to either way (untagged nodes if both ways are vehicle roads, crossing nodes if one is a pedestrian way).

@bhousel
Copy link
Member

bhousel commented Aug 26, 2021

I did some investigation into this today.. It's related to a change I made in 1f172d5 .
The crossing issue id is less strict now, to avoid the situation where any slight adjustment of the way would "fix" the old issue and create a new one. The problem with using a less strict id is that now d3 holds onto the "old" issue fix in the inspector window (it thinks nothing has changed), so when you click that fix button it tries to fix it the "old" way. (If you select a different feature and then go back to the feature with the issue, d3 actually does recreate the dom and use the "current" issue and "current" fix).

One way to fix this is to make the issues work similar to how we manage OSM entities: each entity has both an id which is semi stable (n123), and a key with an internal version (n123v1) that changes enough for d3 to realize when things need a refresh.

@bhousel
Copy link
Member

bhousel commented Aug 27, 2021

I took a gif of the bug in action - I didn't get it fixed today, maybe tomorrow..

issue key before

@sevku
Copy link

sevku commented Aug 27, 2021

Oh yes, this is such an annoying bug.

@bhousel bhousel added the bug A bug - let's fix this! label Aug 27, 2021
@mbrzakovic mbrzakovic added this to the 2.20.2 milestone Sep 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A bug - let's fix this!
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants