Commit Graph

117 Commits

Author SHA1 Message Date
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
Quincy Morgan
f8ddfa9224 Use JSON for user and users endpoints (close #8188) 2020-11-10 12:46:43 -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
380473033b Enable no-duplicate-imports eslint rule 2020-10-23 12:02:37 -04:00
Quincy Morgan
03ca12741f Make imageryBlocklists return regex objects instead of strings
Fix performance bug due to checking background source blocks too often
2020-09-04 10:09:47 -04:00
Quincy Morgan
a72a2bb860 Hide background sources from the list if they're blocked (close #7905) 2020-09-03 12:30:59 -04:00
Peter Newman
4205ca1d07 Fix the seemingly safe spellings found by codespell
Untested, only checked by inspection.

(cherry picked from commit 2c47a11008)
2020-08-10 17:32:37 +01:00
Quincy Morgan
0e0148b8f2 Fix JS error caused by possible undefined uid of entities returned by OSM API (close #7858)
Add additional safety checks for undefined entity `version` or `changeset`
2020-07-30 15:45:56 -04:00
Quincy Morgan
8b258d2cbd Load the maximum nodes per way value from the OSM API and add a getter to the service object
Disable the Merge operation if the resultant way would have more than the maximum number of nodes (close #6030)
Simplify some code in operationMerge
2020-06-08 14:38:49 -04:00
Quincy Morgan
bf7b30ace9 Fix unreleased regression where OSM notes were being parsed as JSON and thus not loading (re: #7188) 2020-06-08 13:19:46 -04:00
Quincy Morgan
207badb1a0 Read object visible state when parsing JSON API response (re: #7188) 2020-03-10 09:35:33 -07:00
Quincy Morgan
52222df75f Switch to JSON endpoints of OSM API for fetching entities (re: #3765) 2020-03-02 15:54:46 -08:00
Quincy Morgan
89ce98f510 Don't require services/osm in order to get max OSM character lengths 2020-01-28 09:28:23 -05:00
Quincy Morgan
17ae12b3d7 Address most common places where tag keys or values could exceed the 255 character API limit (close #6817) 2020-01-27 15:57:55 -05:00
Quincy Morgan
d6419ca791 Move OSM tile fetch callback to a named function 2020-01-16 10:29:17 -05:00
Quincy Morgan
37351e0f50 Include the number of active blocks in the OSM user object 2020-01-16 10:19:59 -05:00
mmd-osm
b7ca22f41d OSM API /map call - Overpass JSON format parser 2019-12-27 20:50:47 +01:00
Quincy Morgan
c1f7721197 Reload API status automatically when a response indicates a probable change in status (close #6650)
Make API status messages more informative (close #7021)
Add manual Retry button to "unable to connect" API status message (close #5864)
2019-12-05 17:17:57 -05:00
Quincy Morgan
271a4cbac7 Update rbush to 3.0.1 (close #6359) 2019-11-08 18:17:17 +01:00
Bryan Housel
0ded25885d Back off if the toLoad queue is filling up..
(re #6417)
2019-05-24 09:44:35 -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
Bryan Housel
a8c6ab4d67 Move requestIdleCallback polyfill to id.js, remove utilIdleWorker
`utilIdleWorker` was only used one place.
It just processes a list in an idle callback.

I'm working towards removing the util functions for handling idle work.
We can still do `requestIdleCallback` work throughout the code, however
each place we use it needs to have a strategy for cancellation, which
the existing util functions don't allow for.
2019-05-16 21:19:25 -04:00
Bryan Housel
b48a7d1e1b Workround for status errors thrown by d3-xml
Because the done callback is expecting something that has a `status` property,
(like an XHR would), we need to extract the status out of the error message.
d3-xml includes status in the error message, but we can't access the response itself.
2019-04-26 22:23:08 -04:00
Bryan Housel
b99be67169 When calling an errback from a Promise.catch, pass err.message 2019-04-25 21:58:36 -04:00
Bryan Housel
e6bc9d9e8f Swap out d3-request, swap in d3-fetch 2019-04-24 16:25:25 -04:00
Bryan Housel
e30090996b Add loadTileAtLoc to fetch data tile for a specific location
(closes #4890)

This lets iD request needed tiles outside of the viewport, for example to
properly straighten lines or validate features that may have unloaded
connections.
2019-04-09 23:49:31 -04:00
Bryan Housel
2660a8554b Add isDataLoaded and tilecache rtree for testing
(re: #2248, #5938, maybe others)
2019-04-08 15:59:42 -04:00
Bryan Housel
3673a7c7e7 Remove lodash cloneDeep
(re #6087)

- some were able to do a different approach
    (validations/almost_junction, and settings/*)
- some were replaced with custom speedy cloners
   (in orthogonalize clonePoints and osm.js cloneNoteCache)
- some just replaced with JSON.parse(JSON.stringify()))
2019-03-29 17:18:40 -04:00
Bryan Housel
4a8c20c56e Remove lodash forEach
(re: 6087)
2019-03-28 19:50:20 -04:00
Bryan Housel
3d80e6505f Remove lodash chunk, groupBy
(re: #6087)
2019-03-27 16:18:41 -04:00
Bryan Housel
0edd10001e Removing more lodash: isEmpty, isNumber, some map/reduce/forEach
(re: #6087)
2019-03-27 13:32:35 -04:00
Bryan Housel
5b4aa529de Replace lodash uniq
(re: 6087)
2019-03-27 02:43:25 -04:00
Bryan Housel
7a6c63fcc5 Remove lodash extend (re: #6087) 2019-03-23 00:38:39 -04:00
Bryan Housel
ff4f8f005f Remove lodash find and findIndex
(re: #6087)
2019-03-22 17:31:41 -04:00
Bryan Housel
55a92ca79d Add closed:note changeset tag for closed OSM notes 2019-01-11 10:14:55 -05:00
Bryan Housel
46ebce2d6f Fix error reporting urls and make sure sidebar not showing stale data 2019-01-03 11:37:14 -05:00
Thomas Hervey
31f35b0389 added basics to sidebar 2018-12-19 13:35:26 -05:00
Bryan Housel
a0a54395a7 Fix issue completing uploads that reuse an existing open changeset
(closes #5228)
2018-08-16 10:16:33 -04:00
Bryan Housel
930e865b42 Attempt to prevent users from uploading duplicate changes
(closes #5200)

This removes a users changes stored in localStorage if they try to close
iD while an upload is in progress.  It prevents the possiblity that the
changeset is eventually accepted and closed, but the user can be prompted
to restore those changes the next time they start iD.
2018-08-11 19:15:18 -04:00
Bryan Housel
5d9fc33e24 Simplify osm.js postNoteUpload/update 2018-07-24 16:22:37 -04:00
Bryan Housel
0552a90a9f Remove category field - it's not an osm tag 2018-07-24 14:58:04 -04:00
Bryan Housel
89ad643977 Let new note generate its own id, instead of using -1
Also stringify the note id (because existing notes from OSM are this way)
Also make sure comments is initialized as an Array not an Object
Also clarify some of the tests
2018-07-24 14:11:08 -04:00
Thomas Hervey
e1cb25d824 merge from 'master' 2018-07-23 18:24:02 -04:00
Bryan Housel
2fa593421f Rename scaleExtent to zoomExtent, slightly simplify getTiles() 2018-07-22 01:15:44 -04:00
Bryan Housel
8811933009 Split up loadTiles and loadNotes code
Code is similar but different enough that I'd rather have 2 separate
functions rather than a single function with a bunch of ifs
2018-07-21 22:31:04 -04:00
Bryan Housel
c0b77d8226 remove unneeded dimensions argument (projection clipExtent has it) 2018-07-21 21:44:14 -04:00
Thomas Hervey
baad5f0cc5 added tests for osm/note 2018-07-21 21:44:07 -04:00
Bryan Housel
cd3d576276 rename geoTile -> tiler 2018-07-21 21:27:44 -04:00
Thomas Hervey
c3fe1fedd9 updated categories, added category to note service 2018-07-21 21:09:17 -04:00
Thomas Hervey
b91fa2841b merged from 'master' 2018-07-21 12:12:36 -04:00