Commit Graph

473 Commits

Author SHA1 Message Date
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
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
74d28257c4 Fix teh misspellings 2021-01-18 19:48:35 -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
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
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
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
cb7f1c2b3c Update to id-tagging-schema v3.0.0
Add UI for translatable combo fields
2020-12-08 15:23:51 -05:00
Quincy Morgan
102fe6277c Add checks for calling coreLocalizer.tInfo before loading strings 2020-12-02 10:10:20 -05:00
Quincy Morgan
fd6152599f Update the privacy policy to account for the JSDelivr CDN integration 2020-12-02 09:59:16 -05:00
Quincy Morgan
7666f927b5 Fix an issue with fallback preset strings 2020-12-01 11:45:02 -05:00
Quincy Morgan
baabd81987 Unbundle id-tagging-schema data and translations
Update for id-tagging-schema 2.0.0
2020-12-01 11:14:14 -05:00
Quincy Morgan
ba48a861bc Enable curly and block-spacing eslint rules 2020-11-10 14:19:11 -05:00
Quincy Morgan
481b80e5cb Fetch the parent relations when downloading a single entity, e.g. when launching iD with a feature selected (close #6731) 2020-11-10 10:00:44 -05:00
Quincy Morgan
058676c0e1 Set development version number 2020-11-09 15:06:29 -05:00
Quincy Morgan
bbf174c658 v2.19.5 2020-11-09 15:00:57 -05:00
Quincy Morgan
cd1bf16dcd Download, select, and display the feature specified in the URL upon load even if the map parameter is zoomed out beyond the editable extent (close #8122) 2020-11-06 15:51:40 -05:00
Quincy Morgan
b84f95be67 Set development version number 2020-11-02 10:25:42 -05:00
Quincy Morgan
ef2ec3ae9c v2.19.4 2020-11-02 10:19:34 -05:00
Quincy Morgan
047f2ef555 Set development version number 2020-10-29 15:10:39 -04:00
Quincy Morgan
deb652af21 v2.19.3 2020-10-29 15:06:14 -04:00
Quincy Morgan
d1940270be Set development version number 2020-10-28 10:55:35 -04:00
Quincy Morgan
612dfe4073 v2.19.2 2020-10-28 10:49:36 -04:00
Quincy Morgan
4b43c1dff5 Set development version number 2020-10-27 21:20:16 -04:00
Quincy Morgan
24ad7fcb82 v2.19.1 2020-10-27 21:11:06 -04:00
Quincy Morgan
6cd79fc363 Set development version number 2020-10-27 17:40:20 -04:00
Quincy Morgan
3e25e4154c v2.19.0 2020-10-27 17:35:54 -04:00
Quincy Morgan
04b3a788f9 Add lint:fix script
Enable no-trailing-space eslint rule
2020-10-23 13:24:44 -04:00
Quincy Morgan
70619d3634 Reset validator whenever reseting the history (close #8108) 2020-10-21 19:30:18 -04:00
Peter Newman
3919ec11b6 Fix a new typo which snuck in 2020-10-05 23:23:16 +01:00
Quincy Morgan
03c32d2f6a Return empty string instead of empty html element for empty text 2020-09-28 15:36:01 -04:00
Quincy Morgan
bbbf401232 Add en fallback in coreLocalizer instead of utilDetect.browserLocales
Include all preferred and fallback langauges in coreLocalizer.localeCodes even if higher-priority ones have 100% string coverage
Fallback to the user's preferred languages instead of directly to English when querying OSM wikibase documentation and Wikidata (re: #7996)
Add `lang` attribute to tag documentation text loaded from OSM wikibase or Wikidata (re: #7963)
2020-09-23 16:15:34 -04:00
Quincy Morgan
7b5df1bc40 Add lang attribute to issue fix labels (re: #7963) 2020-09-22 17:48:35 -04:00
Quincy Morgan
8883c2f36d Fix uiFlash issues
Clean up a few things from prior commit
2020-09-22 12:19:54 -04:00
Quincy Morgan
5435082d9c Revert t function to returning the plain string by default
Add `t.html` function for getting the string with the `lang` attribute
2020-09-22 12:03:29 -04:00
Quincy Morgan
32f8274929 Make t function return a span element with a lang attribute unless html: false is specified in the options (re: #7963)
Update `text` functions to `html` to support inserting the `span` elements
Specify `html: false` for various instances where a `span` is not desired, e.g. `placeholder` and `title` attributes
2020-09-15 21:56:22 -04:00
Quincy Morgan
7aa6c1d1a3 Fix infinite recursion error for en-US 2020-09-15 18:27:26 -04:00
Quincy Morgan
a9979f6534 Fallback to the user's preferred locales instead of immediately to English (close #7996) 2020-09-15 17:56:13 -04:00
Quincy Morgan
7ab9f268d9 Don't fetch the English strings if the preferred locale has 100% coverage (close #7994) 2020-09-15 16:09:08 -04:00
Quincy Morgan
8ecada3b79 Move languageNames and scriptNames data to the individual locale files instead of always loading them via locales.json (re: #7994) 2020-09-15 14:41:56 -04:00
Quincy Morgan
f28d41b44e Localize the format of numbers in translated strings (close #7993) 2020-09-15 11:34:56 -04:00
Quincy Morgan
a1c2b7f73d Support language-specific pluralization (re: #597, #4964) 2020-09-14 17:21:00 -04:00