osmcha-frontend
osmcha-frontend copied to clipboard
Handle effectively empty changesets better
Describe the bug
Sometimes, users will upload edits that don't actually do anything, because the new version of the element they upload is identical to the previous version. When this happens, the timestamp, changeset, username, and uid attributes of the element will change, even though its tags and geometry have not been altered. Sometimes, an entire changeset might only contain these "vacuous" edits.
OSMCha's current behavior when dealing with changesets like this is confusing. The augmented diff says that the element was "modified" (it was, except only in the sense that its version number etc. changed). Consequently, OSMCha counts such edits as modify operations when showing statistics, renders the elements as if they've been modified, and will say "way/123456 was modified" in the element info panel if you click on one of these elements.
I think that instead, OSMCha should detect these vacuous changes and exclude them from summary statistics. And the element info panel should show a special message, like "way/123456 was altered from v5 to v6, but no changes were made" when selecting such elements on the map.
Note: another option would be to not display vacuous edits on the map at all, but I think this is a bad idea, because if a changeset contains only vacuous edits, it would be confusing for OSMCha to show a blank map. And more generally, it might confuse a user to see that way/12345 was touched on openstreetmap.org but then see nothing on the map where they expected that way to be shown when viewing the change in OSMCha.
Changeset URL
https://osmcha.org/changesets/166572451
Note that the above changeset also exhibits #784 (the map loads zoomed out to show the whole world); you need to zoom in on south Seattle to see the following:
In the above screenshot, way/516290559 is shown as modified, but this was a vacuous edit. v5 and v6 of this way are identical.
OSMCha's augmented diff for this changeset is correct, so this is a frontend rendering issue.
Environment
n/a
Additional information
No response
Sidenote;
I found these two changesets modifying only a relation
- OSM / achavi / OSMCha (adiffs) shows bounding box highlight, nothing else.
- OSM / achavi / OSMCha (adiffs) shows nothing at all, and on achavi I suppose it shows zoomed in to 0,0.
Both are properly shown as far as changes are considered by OSMCha. At least they show the bounding box highlight and relation members, and the legend explains it they are all unchanged. (it does not mention it but it may be a role or direction change, likely to a single member, to fix routing) Of course, this may result in large query and/or clutter. See also #775. (I don't know how superrelations are handled in this regard but it's not as important.)
See also #821 for possible bug I encountered with a different changeset while checking for similar issues.
See also #571
Merging nodes / connecting node to way is not always clear https://osmcha.org/changesets/175105090 (one modified way without node)? https://osmcha.org/changesets/175115017 (one modified way with node) ( https://maproulette.org/browse/challenges/53789 )