From b3953e4a31b74d8789c515da0f72a1a3fca2a4e3 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 22 Jan 2019 23:20:17 -0500 Subject: [PATCH] Don't mix up inflight tile requests with inflight keepright updates (closes #5748) --- modules/services/keepRight.js | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/modules/services/keepRight.js b/modules/services/keepRight.js index cf3b70ef9..aa59acbaf 100644 --- a/modules/services/keepRight.js +++ b/modules/services/keepRight.js @@ -41,13 +41,13 @@ function abortRequest(i) { } function abortUnwantedRequests(cache, tiles) { - _forEach(cache.inflight, function(v, k) { + _forEach(cache.inflightTile, function(v, k) { var wanted = _find(tiles, function(tile) { return k === tile.id; }); if (!wanted) { abortRequest(v); - delete cache.inflight[k]; + delete cache.inflightTile[k]; } }); } @@ -279,12 +279,13 @@ export default { reset: function() { if (_krCache) { - _forEach(_krCache.inflight, abortRequest); + _forEach(_krCache.inflightTile, abortRequest); } _krCache = { data: {}, - loaded: {}, - inflight: {}, + loadedTile: {}, + inflightTile: {}, + inflightPost: {}, closed: {}, rtree: rbush() }; @@ -306,18 +307,18 @@ export default { // issue new requests.. tiles.forEach(function(tile) { - if (_krCache.loaded[tile.id] || _krCache.inflight[tile.id]) return; + if (_krCache.loadedTile[tile.id] || _krCache.inflightTile[tile.id]) return; var rect = tile.extent.rectangle(); var params = _extend({}, options, { left: rect[0], bottom: rect[3], right: rect[2], top: rect[1] }); var url = _krUrlRoot + 'export.php?' + utilQsString(params) + '&ch=' + rules; - _krCache.inflight[tile.id] = d3_json(url, + _krCache.inflightTile[tile.id] = d3_json(url, function(err, data) { - delete _krCache.inflight[tile.id]; + delete _krCache.inflightTile[tile.id]; if (err) return; - _krCache.loaded[tile.id] = true; + _krCache.loadedTile[tile.id] = true; if (!data.features || !data.features.length) return; @@ -404,7 +405,7 @@ export default { postKeepRightUpdate: function(d, callback) { - if (_krCache.inflight[d.id]) { + if (_krCache.inflightPost[d.id]) { return callback({ message: 'Error update already inflight', status: -2 }, d); } @@ -421,9 +422,9 @@ export default { // NOTE: This throws a CORS err, but it seems successful. // We don't care too much about the response, so this is fine. var url = _krUrlRoot + 'comment.php?' + utilQsString(params); - _krCache.inflight[d.id] = d3_request(url) + _krCache.inflightPost[d.id] = d3_request(url) .post(function(err) { - delete _krCache.inflight[d.id]; + delete _krCache.inflightPost[d.id]; if (d.state === 'ignore') { // ignore permanently (false positive) that.removeError(d);