5051 Commits

Author SHA1 Message Date
Bryan Housel
b47952b369 Move the complicated linkification code from iD to resolveStrings
It's easier to insert the links there, and then the HTML strings are availble for anyone who wants them
2021-04-30 11:26:24 -04:00
Bryan Housel
25bf950458 Upgrade to osm-community-index (oci) v4
The main differences here is:
- oci now supports default strings and exports a "resolveStrings" function
- this makes linkifying any urls embedded in descriptions a bit more complicated
  because urls and descriptions might need resolution, we can't use iD's normal
  t() function to do the token replacement like before
2021-04-29 17:53:53 -04:00
Milos Brzakovic (E-Search)
92a9ef2061 Move CrossEditableZoom event firing.
It should happen after projection is transformed.
2021-04-27 14:10:13 +02:00
Bryan Housel
2651e7ddc9 In move/rotate cancel, check whether graph has changed before popping
(closes #8441)
2021-04-02 09:48:41 -04:00
Bryan Housel
add11432d3 More sophisticated name/branch splitting
(re: https://github.com/openstreetmap/iD/pull/8305#issuecomment-805454952)
2021-03-24 18:03:37 -04:00
Bryan Housel
9537911b68 Add guard code in locationsAt, for testing entities with invalid loc 2021-03-23 14:24:01 -04:00
Bryan Housel
ec787f81ad Location-aware preset matching 2021-03-23 12:39:14 -04:00
Bryan Housel
55d9da9480 Improve logic for matching name fragments like TUI ReiseCenter
(re: https://github.com/osmlab/name-suggestion-index/issues/4543#issuecomment-799732746)
2021-03-22 20:23:22 -04:00
Bryan Housel
77e7620ab8 Switch to published NSI v5 🎉 2021-03-22 14:39:58 -04:00
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
a0b7f9f99f Pass d3_event to click handler 2021-03-12 09:55:38 -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
Nikola Pleša
6cd17713fa Use Mapillary vector tiles for images, sequences and map features 2021-03-01 10:19:41 +01:00
Josh Lee
ac6251cf9e Fix centroid calculation in measurement panel.
Copy/paste of 0a0e2dcf75
2021-02-23 18:11:02 +00:00
Quincy Morgan
4ae7bc9bd5 Update Mapillary.Viewer call for mapillary-js v3 (re: #8245) 2021-02-23 12:27:32 -05:00
Quincy Morgan
9423f61adf Improve some variable names in core/localizer 2021-02-23 11:50:42 -05:00
Quincy Morgan
13ddeecfa7 Fix code tests for #8276 for real this time
Add utilFetchJson to get around some quirks of d3.json and use it for coreFileFetcher
Load real general English locale strings at the beginning of code tests
2021-02-23 11:50:00 -05:00
Quincy Morgan
d0754a9256 Trim whitespace from localized string ids 2021-02-15 11:09:26 -05:00
Quincy Morgan
6f66032237 Fix issue with replacing number tokens in strings when toLocaleString is unavailable, such as when running tests (re: #8276) 2021-02-15 10:59:44 -05:00
Quincy Morgan
e09af9a575 Merge pull request #8322 from rbuffat/fix_wms_axis_ordering_detection
Fix wms detection to determine axis ordering
2021-02-15 10:26:56 -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
Quincy Morgan
3fade479af Merge pull request #8310 from openstreetmap/fix_notes
Fix a few errors in note processing
2021-02-05 11:46:06 -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
4c1d51348d Don't repurpose a node with interesting tags in crossing_ways fix
(closes #8326)
2021-01-27 14:38:11 -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
René Buffat
c721c1ebb5 fix wms detection 2021-01-26 20:30:36 +01: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
f195128968 Fix a few errors in note processing
- Notes still load over the xml api, so when the user is not authenticated,
  we can't use d3_json to fetch them (instead use to d3_xml)
- Make sure to delete the deferred callback handles once the callbacks are
  processed (probably unnecessary, but good housekeeping)
- Remove a stray `if (!json.elements)` block from the `parseUserJSON`
  function. This was preventing the user profile from parsing, as the
  user's JSON has no such property (was probably copied from `parseJSON`)
2021-01-21 14:29:17 -05:00
Bryan Housel
2cd11040b3 Swap out w8r/martinez clipper for mfogel/polygon-clipping
This is a drop in replacement that performs better and yields more correct results
see also https://github.com/ideditor/location-conflation/pull/20
2021-01-21 11:31:29 -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