Commit Graph

4226 Commits

Author SHA1 Message Date
Milos Brzakovic
bc75430528 Merge pull request #8288 from jleedev/preset-debounce
Debounce input events in the preset list.
2021-09-15 11:49:40 +02:00
Milos Brzakovic
e495c99102 Merge pull request #8685 from openstreetmap/mapControl-scroll
MapControl scroll
2021-09-14 11:35:42 +02:00
Milos Brzakovic
f08b89f4c3 Merge pull request #8663 from openstreetmap/issue_key_8655
More validator fixes
2021-09-14 11:34:58 +02:00
Milos Brzakovic
7e31120ec6 added scrol to mapControl 2021-09-10 15:26:37 +02:00
John Firebaugh
1457759994 Add support for connectivity relations 2021-09-08 20:30:38 -07:00
John Firebaugh
a14cf49710 Disable merge operation when it would damage relations
The operation is disabled when attempting to join ways which don't belong to identical sets of relations. Restriction relations are excluded, because they are already handled with slightly different logic.

Fixes #8674
Fixes #8645
Fixes #3825
Fixes #1512
2021-09-04 15:42:07 -07:00
Bryan Housel
78961072a7 We do need to actually validate the head entities, can't skip them
re: the fix for #8632 - we can't actually skip validation on these.
The better solution is to move the check to getIssues() so the user isn't
credited for causing the issues unless it's something they actually touched
2021-08-27 17:43:49 -04:00
Bryan Housel
113f079449 Uncache the entity before starting the work
This fixes a situation where several entities in the queue are involved in a
disconnected crossing, and the first one detects the disconnection, but a
later one clears out that first detection from the cache.  Now we clear
caches one time before starting the validation work.
2021-08-27 17:24:45 -04:00
Bryan Housel
b94151396d Expand set of entities to validate to include _related_ to issues
This will catch the situation where an edit or undo affects something related without
actually touching the item - for example an undo can cause a connected way to disconnect
from the main graph.
2021-08-27 17:20:32 -04:00
Bryan Housel
1b5bd4d9c3 Actions performed (e.g. adding midpoint) must trigger validation
(re: #8655)
2021-08-27 17:14:06 -04:00
Bryan Housel
9e3df2c4aa Create an issue key property that changes when data needs refresh
(closes #8655)
2021-08-27 17:13:36 -04:00
Kyle Hensel
416c1af372 add link button next to website tag 2021-08-19 15:17:45 +12:00
Milos Brzakovic (E-Search)
81b7e282c3 Set development version number 2021-08-17 17:14:48 +02:00
Milos Brzakovic (E-Search)
fc5d790b0e v2.20.1 2021-08-17 16:52:28 +02:00
Milos Brzakovic
8eb2de93be Merge pull request #8637 from openstreetmap/validation_8632_etc
More validator fixes
2021-08-16 23:44:43 +02:00
Bryan Housel
a962c6f96c Can't redraw while transformed 2021-08-13 17:36:45 -04:00
Bryan Housel
1f172d5623 Make the crossing_ways hash less strict
Previously it was including a lot of data about the edge, and a very specific
crossing location.  This meant that any tiny perturbation in the crossing ways
would generate a new issue hash, effectively "fixing" the old crossing issue and
creating a new one.
2021-08-13 16:24:29 -04:00
Bryan Housel
34c3ea472d Credit user with a fix if they touched any involved entity
This can occur if there are several ways disconnected from the graph and
the user fixes these, but then partially undoes their fixes.

The current diff might not contain the entity that fixed the issue
(reconnected the disconnected graph), but they did fix the issue elsewhere.
2021-08-13 15:56:08 -04:00
Bryan Housel
93b868d95f Fix how resolved issues are counted across undo, simplify code
(re: #8632)
2021-08-13 14:47:38 -04:00
Bryan Housel
b5d7cdb6fa Use utilHashcode to generate reasonable ids for crossing_ways issues
The ones before were a giant blob of json
2021-08-13 12:56:50 -04:00
Bryan Housel
f58ddb21fb Remove old entityIDsToValidate() code 2021-08-13 12:32:13 -04:00
Bryan Housel
bb0b5786d9 Use context.graph()/context.hasEntity() here, not cache.graph,
because that is the graph that the calling code will be using.
2021-08-13 12:02:38 -04:00
Bryan Housel
2434e5edaa In the head cache, only validate features that the user is responsible for
(closes #8632)

For example, a user can undo some work and an issue will still present in the
head graph, but we don't want to credit the user for causing that issue.
2021-08-13 11:25:36 -04:00
Milos Brzakovic
1fb42bc852 Merge pull request #8636 from openstreetmap/togeojson_package_switch
Switch to more maintained @tmcw/togeojson
2021-08-13 17:13:45 +02:00
Bryan Housel
3e8d33a668 Use coreDifference.complete() instead of entityIDsToValidate()
From what I can tell, this code is nearly the same as what the "complete"
difference already gives us - combined nodes from both previous and current,
multipolygon members, parents of nodes/relations
2021-08-13 10:53:57 -04:00
Milos Brzakovic
2270b5dd9c fixes mac os firefox scroll. closes #8595 2021-08-13 16:51:02 +02:00
Bryan Housel
96c5dd1c7c Store graph with validation cache, give them names, es6 some things 2021-08-12 11:37:57 -04:00
Milos Brzakovic
25e2050bcb switched to more maintained @tmcw/togeojson
Solves few security issues
2021-08-12 13:38:56 +02:00
Milos Brzakovic
b0e3c3c56b Merge pull request #8627 from openstreetmap/nsi_route_master
Treat route_master relations like route relations for matching to NSI
2021-08-09 19:27:38 +02:00
Milos Brzakovic
d0577b0364 Merge pull request #8626 from openstreetmap/validator
Validator improvements
2021-08-09 18:07:01 +02:00
Bryan Housel
0f913113c7 Match a 'route_master' as if it were a 'route'
This code just treats `type=route_master` relations as if they were `type=route`
so they will match the transit networks in NSI.

(closes https://github.com/osmlab/name-suggestion-index/issues/5184)
2021-08-05 22:05:11 -04:00
Bryan Housel
15ee63e875 Improve code for keeping only interesting key/value pairs
Before it was not actually checking that the osmvalue was in the vmap,
so we were testing a bunch of pairs like `highway/crossing` and
`highway/residential` that would never match a NSI category.
2021-08-05 16:59:07 -04:00
Bryan Housel
a46a345647 Only expand a validation set to include parent multipolygon relations
The previous code was grabbing _all_ parent relations, which is too much.
For example: if a user changed a road, the validator was treating it like
the user had changed bus and highway routes along that road.

(closes #8613)
(helps a lot #8612)
2021-08-05 14:49:14 -04:00
Bryan Housel
3b0a850400 If undo'd back to the base graph, don't show head issues as user issues 2021-08-05 12:47:52 -04:00
Bryan Housel
9f58f1fb5c Improve code for focusing a validation issue on a relation
The "center" of the issue might be a spot of map that doesn't contain the relation.
This code chooses a piece of the relation that has been downloaded and focuses on that.
2021-08-05 12:47:40 -04:00
Milos Brzakovic
c8aedcbb79 minor trailing spaces 2021-08-05 18:36:25 +02:00
Milos Brzakovic
bc0c1895f7 bing imagery fallback url template update 2021-08-05 18:17:58 +02:00
Milos Brzakovic
3d24736b8f trailing spaces 2021-08-05 17:36:48 +02:00
Milos Brzakovic
750b4e023f crossing_ways fixing - specially handle crossing nodes 2021-08-05 14:50:38 +02:00
Milos Brzakovic
021d777c9d changelog instead of ideditor.blog 2021-08-03 20:02:37 +02:00
Bryan Housel
0085c41876 Store whether a result is provisional before filtering it
Filtering returns a new array, which was clobbering the "provisional" flag.
This was causing provisionally results to not be reprocessed later,
which meant that certain "outdated_tags" results would not be in the baseCache.
(cache of issues _before_ user edits).
2021-08-02 17:15:25 -04:00
Bryan Housel
857b9c9adf Exclude 'fixme'/'help_request' warnings from changeset tags.
They still appear in the issue list and in the entity editor.
(closes #8603)
2021-08-02 14:34:18 -04:00
Bryan Housel
1d5c8253be NSI matcher shouldn't treat old_name like a name tag
(closes #8617)
2021-08-02 12:21:34 -04:00
Bryan Housel
bd97df6aac In general, preserve existing values for tags that can be toplevel
We'll only _replace_ the tag value if this tag is the toplevel/defining tag for the matched item (`k`)
(closes #8615)
2021-08-02 12:07:13 -04:00
Milos Brzakovic
c6df2a0a6c Set development version number 2021-07-23 16:30:56 +02:00
Milos Brzakovic
33a012e007 v2.20.0 2021-07-23 15:53:43 +02:00
Milos Brzakovic
f9804bd1ca Small reverting on bing imagery api
- Reasoning: concern on traffic amount for p2/josm key
- next release will resolve this properly
2021-07-22 19:03:19 +02:00
Milos Brzakovic
416799ceb6 selectChild as standalone.
Keyboard shortcuts new section - way selected
Moved 'help' section to left in keyboard section
2021-07-14 17:43:54 +02:00
Milos Brzakovic
c8f162b8f0 select - differentiate parent/child selection
introduce more accessible shortcuts
2021-07-13 19:51:32 +02:00
Milos Brzakovic
49abb78251 bing imagery template to https 2021-07-12 20:29:57 +02:00