Commit Graph

4113 Commits

Author SHA1 Message Date
Bryan Housel
f5b6024988 Revise name/branch splitting code
This now breaks the name into fragments and reruns the fragments against the NSi matcher
rather than using flaky regular expressions. Has a few advantages:
(re: https://github.com/osmlab/name-suggestion-index/issues/4543#issuecomment-797577999)
2021-03-12 15:03:50 -05:00
Bryan Housel
3cf5f69082 Allow missing locationSetID on presets, fields, categories
This simplifies the code a bit, just treat it as worldwide if missing
2021-03-12 12:27:50 -05:00
Bryan Housel
f95e7db8c9 Create the categories like the presets
The lack of locationSet was causing them to not show up, which indirectly
broke the tutorial at the step where user needs to pick the road category.
2021-03-12 12:04:52 -05:00
Bryan Housel
d282140999 If we match a generic name, stop looking
This is for "nextbike"
(re: https://github.com/osmlab/name-suggestion-index/issues/4543#issuecomment-796126041)
2021-03-11 17:51:09 -05:00
Bryan Housel
98a622f41a Make sure a name is either primary or alternate (can't be both) 2021-03-11 17:46:09 -05:00
Bryan Housel
19a8fd16d2 Be smarter about identifying what tree an osm feature might be in
Needed this after I added `highway=bus_stop` to the transit tree
2021-03-11 16:28:26 -05:00
Bryan Housel
9f30ebf551 Adjust verbose utilDisplayLabel call, use for more validation messages
(re: https://github.com/osmlab/name-suggestion-index/issues/4543#issuecomment-794527259)
2021-03-10 10:30:57 -05:00
Bryan Housel
2b7adf89fa Remember user's preference for expanding issue-info section
This shows the tag diff, and other helpful information about the detected issues.
It is expanded by default now
(closes #6408, closes #8143)
2021-03-08 15:10:30 -05:00
Bryan Housel
c3e9e8c8ff Support a more verbose format for listing issues
Includes the feature type in the label
(re: https://github.com/osmlab/name-suggestion-index/issues/4543#issuecomment-791919134)
2021-03-08 12:15:17 -05:00
Bryan Housel
a827e13a6d Be less aggressive about removing toplevel tags
(re: https://github.com/openstreetmap/iD/pull/8305#issuecomment-792871448)
2021-03-08 11:36:41 -05:00
Bryan Housel
7a82dba825 Only match alternate amenity/yes if it actually is tagged that way 2021-03-05 10:59:15 -05:00
Bryan Housel
3f8faec413 Improvements to name gathering
- Actually bail out properly if namelike values contain semicolon ';'
- Prioritize the canonical tags like `brand:wikidata`, `operator:wikidata`
- Don't insert a name into 'alternate' set if it's already in 'primary' set
2021-03-05 10:40:06 -05:00
Bryan Housel
1b1bf8eed2 Don't offer upgrades to dissolved items 2021-03-05 10:04:29 -05:00
Bryan Housel
bbed217625 For some names, consider splitting name into name and branch.. 2021-03-05 09:54:47 -05:00
Bryan Housel
1f6a2121c4 Move all of NSI into a service, rewrite matcher code 2021-03-03 12:04:37 -05:00
Bryan Housel
76943351ca Better handling of headGraph, separate head and base queues
This involves a few things to make the validator less weird
- _headGraph shouldn't be allowed to change while validation is happening..
- So we don't allow that to happen anymore, and keep track of _headPromise and _headIsCurrent
- If head graph falls behind, kick off another validation to catch it up
- Separate head and base work queues, so we aren't waiting for the base entities to validate
  before providing feedback to the user about what they are editing
  (the base queue can get quite large around metropolitan areas)
2021-02-12 18:07:36 -05:00
Bryan Housel
90bbe38fe8 Remove the brand combo from the name field
This has caused problems going back a long time, and now that we have a validator
and very visible brand presets with logos, it's not necessary anymore.
(re: #5558, closes #8271, closes #8304)
2021-02-12 10:41:47 -05:00
Bryan Housel
3665f80d46 Also include operator:wikidata as a wikidata tag
osmEntity#hasWikipedia was only used by the suspicious_name validator
2021-01-29 11:11:59 -05:00
Bryan Housel
b032cd9f01 Adust NSI matching validation code:
- don't try matching semicolon-separated lists to NSI
- better matching for flagpoles with a `country` tag
- better lists of namelike keys (don't match flag operator)

see: https://github.com/openstreetmap/iD/pull/8305#issuecomment-769174070
2021-01-28 17:17:49 -05:00
Bryan Housel
3640e15fa2 Fix misspelling "coprorate" -> "corporate" 2021-01-27 11:54:39 -05:00
Bryan Housel
f87c2d9357 Allow validators to return provisional results, revalidate after delay
Also add a ton of commments to validator.js
2021-01-27 10:38:48 -05:00
Bryan Housel
11201eb822 Rewrite the validator in ES6/Promises, several improvements here:
- implements a validation work queue, jobs are run during browser idle callbacks
- when merging base entities, don't run validations 2x on both base and head graphs (this was wasteful)
- keep track of resolved issues in a separate set (it's not a simple compare of base/head anymore)
  this happens after validation queue is empty and avoids race conditions and inaccurate resolved counts
2021-01-25 12:50:11 -05:00
Bryan Housel
96298f2836 Preserve name value if this preset shows brand or operator field
This also fixes the logic for calculating whether the preset shows a
`brand` or `operator` field - it needs to use `fields()` to actually
resolve the fields, as these fields can be inherited from another preset.

This also includes a change to match "primary" names before
"alternate" names (aka the "Baby Gap" / "Gap" problem)
2021-01-19 13:15:16 -05:00
Bryan Housel
f61a3ef5e3 Don't replace flag:name tag - it's expected to be in local language 2021-01-18 21:44:27 -05:00
Bryan Housel
a32553595c name:pronunciation is not namelike 2021-01-18 21:39:06 -05:00
Bryan Housel
74d28257c4 Fix teh misspellings 2021-01-18 19:48:35 -05:00
Bryan Housel
4228b65602 Support more *:wikidata tags for field locking and pin styling 2021-01-18 17:18:37 -05:00
Bryan Housel
f39f73e3ae Make sure suggestion preset terms get used in the search 2021-01-18 15:02:07 -05:00
Bryan Housel
a38a93c073 Actually assign the locationSetID properties on the given objects
(should have been in 868db8819)
2021-01-18 13:41:46 -05:00
Bryan Housel
0b3795cde3 NSI match returns an object now 2021-01-15 17:25:24 -05:00
Bryan Housel
d3fb8c60f9 Upgrade validations outdated_tags, suspicious_names to NSI v5 2021-01-13 13:46:00 -05:00
Bryan Housel
2d8c90786f coreLocation tests, documentation 2021-01-11 13:01:30 -05:00
Bryan Housel
868db8819f Have mergeLocationSets work on Objects, add locationSetID property
This means less work for the other parts of the code,
now they don't need to chain that extra step after the promise.
2021-01-09 10:34:58 -05:00
Bryan Housel
c4daf1b377 Use locationManager to resolve/query community index 2021-01-08 17:05:37 -05:00
Bryan Housel
271e1c2e19 Use locationManager to filter fields/presets/defaults 2021-01-08 16:06:57 -05:00
Bryan Housel
ab85590eb4 Pre-resolve the world locationSet 2021-01-08 14:00:49 -05:00
Bryan Housel
0ad7de0f10 Move the location index and resolver into a global coreLocations 2021-01-08 11:29:51 -05:00
Bryan Housel
9eb6f8781f Update presetIndex to resolve and index locationSets
Added a deferred work queue to do this with requestIdleCallback in the background
2021-01-06 16:26:12 -05:00
Bryan Housel
b0800c10ed Update to name-suggestion-index v5
Merge in NSI presets after UI has initialized
2021-01-05 12:44:33 -05:00
Quincy Morgan
2c2eabb145 Don't count tags under the name namespace as descriptive tags (close #8273)
Don't count `description`, `note`, `start_date`, or tags under those namespaces as descriptive tags
2021-01-05 09:56:19 -05:00
Quincy Morgan
af4acaec79 Don't clear power output tag when changing between power presets (close #8159) 2020-12-21 13:17:18 -05:00
Quincy Morgan
6cd81df1a2 Fix preset search result sorting (re: #8242) 2020-12-21 11:26:34 -05:00
Quincy Morgan
2591a13f9c Honor diacritics on preset search value but still compare to stripped preset names (re: #8242) 2020-12-21 11:14:10 -05:00
Quincy Morgan
c61924407d Add icon styling for Mountain Biking Route preset (re: https://github.com/openstreetmap/id-tagging-schema/issues/99) 2020-12-21 10:08:55 -05:00
Quincy Morgan
d57ed85e98 Merge branch develop 2020-12-16 11:43:36 -05:00
Bryan Housel
9e93701c58 Update osm-community-index to v3.0.1
The major version bump is because
- it no longer distributes index.js/index.mjs code bundles
   (which iD hasn't needed in a long time anyway)
- renamed dist/features.json -> dist/featureCollection.json
2020-12-16 09:25:11 -05:00
Quincy Morgan
0a0e2dcf75 Fix issue where extracting points could results in off placements (close #8246) 2020-12-11 12:50:32 -05:00
Quincy Morgan
b3ad282f40 Ignore diacritics when searching presets (close #8242) 2020-12-09 17:12:43 -05:00
Quincy Morgan
c8c288d6a3 Support using delete/backspace on focused, readonly combo fields
Make custom combo field values lowercase if they're also made snake_case
2020-12-09 15:26:45 -05:00
Quincy Morgan
cb7f1c2b3c Update to id-tagging-schema v3.0.0
Add UI for translatable combo fields
2020-12-08 15:23:51 -05:00