Commit Graph

66 Commits

Author SHA1 Message Date
Quincy Morgan
d5da5a601c Fix error upon revalidating after changing unsquare building threshold (close #6690) 2019-07-26 14:11:15 -04:00
Quincy Morgan
1ed73b6531 Convert validation rules to validate against a specific graph, not always the current graph (re: #6459) 2019-06-06 16:27:31 -04:00
Bryan Housel
511f8ecc82 Allow user to adjust the threshold for the unsquare building warning 2019-05-18 15:44:29 -04:00
Bryan Housel
bdb454e1b3 Remove utilCallWhenIdle, use requestIdleCallback/cancelIdleCallback
Places where a reset or connection switch would be problematic,
we can now cancel the callbacks.
2019-05-16 22:28:56 -04:00
Quincy Morgan
b4b91dcb9e Revalidate the related entities of deleted entities when revalidating (close #6345) 2019-05-10 15:46:04 -04:00
Quincy Morgan
7a6949aa2e Account for the width of open panes when centering the map on issues 2019-05-10 11:33:59 -04:00
Quincy Morgan
1bbd496dfe When selecting an issue in the Issues pane, highlight the issue after selecting the feature
Use the same behavior when selecting an issue in the commit sidebar as in the issues pane
2019-05-10 10:18:46 -04:00
Quincy Morgan
f264cc47f0 Don't flag almost junctions when endpoint is building or parking entrance
Include issues for disabled rules in entity issues
2019-05-09 14:38:19 -04:00
Quincy Morgan
1d797b8fc6 Validate connected ways when validating a way to avoid stale connectivity issues (close #6335) 2019-05-08 14:56:49 -04:00
Bryan Housel
86c6805cf7 Optionally include ids members of modified relations in extantIDs
(closes #6273)
2019-05-08 13:53:48 -04:00
Quincy Morgan
bfc944e30a Fix two potential exceptions and one lint warning 2019-05-02 16:26:33 -07:00
Quincy Morgan
424f6ca72d Don't skip other validations even if there are missing tag issues 2019-05-02 11:51:01 -07:00
Quincy Morgan
b4dacdad2a Reduce very close nodes validation threshold (close #6292)
Use spherical distances for very close nodes validation
Don't flag very close nodes from different ways
Don't flag very close nodes if both have interesting tags
Update very close nodes validation reference string
2019-05-02 11:39:12 -07:00
Quincy Morgan
d061ec6b61 Don't add ignore fix more than once
Tweak hidden issues text
2019-05-01 20:21:47 -07:00
Quincy Morgan
eeaad79cb1 Display info about hidden issues in the "no issues" UI 2019-05-01 14:50:56 -07:00
Quincy Morgan
52d92f125c Add button to reset ignored issues
Don't cache issue extent
2019-04-30 16:32:36 -07:00
Quincy Morgan
375779882d Add ability to ignore warnings
Replace issue's array of entities with array of entity IDs
Improve issue ID hashing
2019-04-29 17:52:32 -07:00
Quincy Morgan
ecc217f5d8 Add validation rule to flag impossible oneway highways and waterways (close #6216) 2019-04-26 12:04:43 -07:00
Quincy Morgan
aa91c2d768 Move old multipolygon warning into Outdated Tags rule (close #6218) 2019-04-24 15:46:50 -07:00
Quincy Morgan
d01bb78707 Reduce circular dependencies caused by importing from indexes, the location of the validation models, and the location of areaKeys (close #6237) 2019-04-24 13:45:59 -07:00
Bryan Housel
7e04175559 Add Enable All / Disable All validation rules links
(closes #5986)
2019-04-23 13:01:15 -04:00
Bryan Housel
3fe9d75f35 Fix issues with issue cache for entities that no longer exist 2019-04-22 19:35:23 -04:00
Bryan Housel
b5c5a00abc Get rid of the many_deletions validation 🔪
It just doesn't fit in with all of the other validations that work on
entities, and it's not an actionable warning anyway.
https://github.com/openstreetmap/iD/pull/6140#issuecomment-483014618
2019-04-19 13:33:29 -04:00
Bryan Housel
ca02f7ed06 Must use context.graph to validate entities instead of validatedgraph
This is because all the validators use it, and it's the right thing to do.
As entites load from the OSM or are restored from history, the most
updated version of them will be in context.graph, not validatedGraph
2019-04-19 10:00:38 -04:00
Bryan Housel
a56c1af725 pacify eslint 2019-04-18 19:26:05 -04:00
Bryan Housel
0eed80e1d2 Persist disabled rules in localStorage 2019-04-18 17:30:55 -04:00
Bryan Housel
7c8a6eac9d Reintroduce disabled rules
- They still run, but results are excluded from lists
- Also make sure to revalidate/dispatch/update when toggling rules
2019-04-18 17:05:33 -04:00
Bryan Housel
9c4881cade Change autofix to accept arguments to perform, implement "fix all" 2019-04-17 17:51:29 -04:00
Bryan Housel
d6327aec56 Make reference function optional
Now it shows the "No documentation available" message if there is not one
2019-04-17 09:05:05 -04:00
Bryan Housel
01d2e3eaf3 Replace validator tooltip with reference function, add tag diff 2019-04-16 17:07:53 -04:00
Bryan Housel
294ce00211 substitute 'info' for 'data' (so I can use 'info' for an info drawer) 2019-04-15 16:56:21 -04:00
Bryan Housel
5a0f21fa7a Add ability for a fix to be auto, and add auto fix buttons
This also changes some of the list items that were previously buttons to divs,
since we can't nest buttons.
2019-04-13 10:50:47 -04:00
Bryan Housel
ce89d7359b Sort issues list by dist from the map center, cutoff at 1000 items 2019-04-12 14:26:05 -04:00
Bryan Housel
efcd6b6bc2 Consolidate idle functions into idle.js, defer validation after merge 2019-04-12 10:49:21 -04:00
Bryan Housel
35049ab40a Replace getErrors/getWarnings with getIssues/getIssuesBySeverity
The idea here is that the validator will now hold onto lots of issues,
but the calling code will only want some small subset of them
(edited/everything) (inview/everywhere) and can pass these as options
so that we don't need filtering code spread throughtout the app.
2019-04-11 14:48:23 -04:00
Bryan Housel
df1a2ea361 Prevent some actions on features that extend beyond the loaded map
(closes #2248)
2019-04-08 21:26:58 -04:00
Bryan Housel
8d66289cba Run validation when switching fields, or when applying an issue fix 2019-04-07 23:10:20 -04:00
Bryan Housel
e377270372 WIP: introduce validatedGraph, try on mode change not history change 2019-04-06 13:39:19 -04:00
Bryan Housel
1bcc0f613c WIP: fix caches, replace id() function with plain id property 2019-04-05 17:41:04 -04:00
Bryan Housel
78acd999c8 WIP: switch from validating everything to validating differences 2019-04-05 13:29:57 -04:00
Bryan Housel
6508edf820 Avoid anonymous functions as validators
Givnig them names makes it easier to understand in the profiler
2019-04-05 09:50:22 -04:00
Bryan Housel
8b1c0551cc WIP: understand state held by the validator, avoid translations
- Make sure all state variables prefixed with `_`
- Add explicit `init`/`reset` methods
  (graph/entity refs should never persist through a save to OSM)
- Thinking of how best cache validation results
2019-04-05 09:28:36 -04:00
Bryan Housel
d18b951c67 Remove lodash flatten and flattenDeep
(re: #6087)
2019-03-28 10:04:46 -04:00
Bryan Housel
5b4aa529de Replace lodash uniq
(re: 6087)
2019-03-27 02:43:25 -04:00
Bryan Housel
76e0d13729 Remove lodash every and filter
(re: #6087)
2019-03-23 01:22:56 -04:00
Quincy Morgan
4addd0e216 Add presets for basic indoor features (close #6082)
Don't use deprecated presets to determine area keys
2019-03-22 11:40:03 -04:00
Quincy Morgan
87e48bc543 Run missing role validation before missing tag 2019-02-25 18:01:34 -05:00
Quincy Morgan
b8ac9a7de3 Add toggle-able list of rules to the Issues pane (close #5979)
Toggling a rule off prevents the validation from running
2019-02-25 15:31:05 -05:00
Quincy Morgan
7936266a7a Improve validation performance by avoiding uniqueWith lodash function
Replace map lodash function with JavaScript array map in validator.js
2019-02-21 12:13:27 -05:00
Quincy Morgan
51972ea78f Cache issues in crossing ways validation to avoid checking the same pairs twice 2019-02-21 11:49:31 -05:00