69 Commits

Author SHA1 Message Date
Jon Atkins
299ae1cadc niantic have increased the tiles-per-request setting to, at least, 10
(with some experiments of larger values - 25 and 50 - that have been reverted for now)
2014-09-25 20:24:52 +01:00
Jon Atkins
b58aff8a54 remove references to niantic variables in their 'nemesis.' object - not available since they introduced minification 2014-08-15 00:48:58 +01:00
Jon Atkins
368b647114 reduce the delay before repeating a 'error: TIMEOUT' map data request 2014-08-13 03:42:26 +01:00
Jon Atkins
1a200269bd map data requesting: the stock site no longer performs unlimited retries on 'error: TIMEOUT' map data tiles, so update IITC to match
split tiles that are retried into smaller requests - might help things at the server side??? no harm in it...
2014-08-12 18:47:48 +01:00
Jon Atkins
963232a98e niantic are experimenting with different values for 'tiles per request' - so let's be nice and make IITC follow the same setting 2014-08-08 00:50:20 +01:00
Jon Atkins
25f9b9b19b tweaks to render queue - on mobile, increase the delay, rather than decreasing the number of items, to help speed things up 2014-06-23 02:40:31 +01:00
Jon Atkins
b3da632948 allow a higher number of tile retries if the config value exists in the stock site 2014-06-16 17:16:00 +01:00
Jon Atkins
fe2542902c reduce the delay between requests - now we always send 4 at a time, rather than larger batches, a shorter delay is better 2014-06-16 16:39:42 +01:00
Jon Atkins
665dad0bab trying some tweaks to render queue processing... 2014-06-13 21:58:50 +01:00
Jon Atkins
a83688a4c2 niantic have removed all munging from the network protocol, so update IITC to match
improvements could be made to our version handling (currently we just take their version string and assume it'll work, with no checks for changes - needs some thoughts on sensible handling)
2014-05-30 22:42:00 +01:00
Jon Atkins
95ed0ddd7b some refactoring and improvements in rendering
- don't render portals or links outside the bounds. the backend returns lots of link, and some portals, outside of the data tiles
- moved more of the render pass start process inside startRenderPass function, rather than having to call separate functions in the data request code
2014-03-23 01:23:36 +00:00
Jon Atkins
4d72137e12 render queue: when using canvas-based L.Path-s, it's most efficient to draw as much as possible every time - so quick-n-dirty change to the batch limits 2014-03-22 03:42:59 +00:00
Jon Atkins
6b13984468 adjust the timers used at the start of a refresh, so IITC does it's work later. should give users a chance to interact a 2nd time
move the render queue batch size to the class - and use smaller values on mobile
2014-03-21 05:16:07 +00:00
Jon Atkins
8eeec788df experimental: render queue. rather than dumping all retrieved data into the render code immediately, queue it up and feed it in a bit at a time
also, we pause a very short time between processing sections of the queue - should help ensure things are responsive if user interacts while rendering
todo: better status bar updates while queue is being processed
2014-03-21 04:43:33 +00:00
Jon Atkins
584b8bcd72 changes to queue processing timeouts after errors - should be friendlier to the servers when things fail 2014-03-18 22:16:20 +00:00
Jon Atkins
2f7635a175 comment converning cache-related optimisation that might be added 2014-03-09 05:53:53 +00:00
Jon Atkins
b173f778a5 debug tiles: clear on a timer rather than at the end of the requests 2014-03-02 01:33:22 +00:00
Jon Atkins
0a506d3027 debug tile display: remove the 'ok' tiles from screen when the refresh completes - makes it practical to leave the layer on at all times 2014-03-02 01:02:40 +00:00
Jon Atkins
333c1a6daf add tweaks of data retrieval zoom level, to make better use of the cache and be friendlier to the API in some cases
also, default-intel-detail and show-more-portals plugins fixed - the logic has been moved into IITC core, with the plugins just setting flags to change behaviour
2014-02-22 19:30:12 +00:00
Jon Atkins
8ce28334cc internal cleanups on the API used to convert map zoom levels to the parameters needed to generate quadkeys for data tiles.
this should also prevent mixed release plugins/test IITC builds causing issues with it's 'show more portals' plugin
further changes are planned - by lying to the backend about the map zoom to optimise the portal detail level (density) returned and make better use of the data cache. needs some practical experimentation to get good adjustments, and a cleaner API for these plugins
2014-02-22 05:48:52 +00:00
Jon Atkins
9c3e47ec40 protocol changes 2014-02-22 - quadkeys have gone back to using map zoom, rather than portal level, in their names 2014-02-22 02:58:52 +00:00
Jon Atkins
457f4f8049 test: remove code that rendered stale map data tiles from cache before retrieving from the network - will try it for a while and see if it makes things noticably more responsive 2014-02-21 16:37:47 +00:00
Jon Atkins
cdf9c83801 simplify map data request batching - doesn't need to be so complex now we never request more than 4 tiles per request 2014-02-21 07:29:42 +00:00
Jon Atkins
05cd342051 sort the queued tiles by the distance from the centre of the screen
this mirrors the changes to the stock intel site as of 2014-01-13 (and is something i'd been considering before they did this)
2014-01-13 22:25:18 +00:00
Jon Atkins
08dc8ca464 add 'TODO' comment 2014-01-13 20:37:52 +00:00
fkloft
a1d03ec69b mobile: show loading progress in title bar 2014-01-05 16:42:59 +01:00
Jon Atkins
18d5708043 tweaks to the request/retry settings 2013-12-17 03:52:12 +00:00
Jon Atkins
8c810e4e73 decrease retry count on failed requests, and increase delay before retrying. another step to help reduce issues when IITC breaks due to site changes 2013-11-30 05:48:33 +00:00
Jon Atkins
b9c8e9c6c5 new reduced map data: first pass at loading the new format 2013-11-30 04:15:17 +00:00
Jon Atkins
f22d185b5b updates to the portal detail level handling
- iitc now defaults to lower detail than the standard intel site when zoomed out - it loads much faster, shows more than enough for general use, and is less likely to trigger 'excessive requests' issues
- show more portals plugin: updated for interface changes
- show-less-portals-zoomed-out: deleted (this is now the IITC default)
- new plugin: default-intel-detail - restores the original IITC behaviour on zoom to portal detail level mapping. not recommended

for #656 number 3
2013-11-24 04:59:41 +00:00
Mike Castle
27806a3be7 Spell check, missed one. 2013-11-23 19:24:43 -08:00
Mike Castle
bba6519860 Spell checking, h-r. 2013-11-23 19:16:20 -08:00
Jon Atkins
10e48fe449 increase parallel requests - this matces behaviour of stock intel site, and speeds things up a bit 2013-11-18 06:59:25 +00:00
Jon Atkins
8f8a2ad8d6 the stock site was updated to only request 4 tiles per request - so match this in iitc
(the response has only managed 4 tiles for a long time, with the rest returning 'timeout' and silently retried)
2013-11-12 06:28:58 +00:00
Jon Atkins
278a8e7536 missed from previous artifact commit - render artifact portals quickly from the available data 2013-11-07 04:25:44 +00:00
Jon Atkins
a428dcf54d add comment about potential improvement to request handling 2013-10-29 20:41:36 +00:00
Jon Atkins
e7fe4bb1dd first pass at a fix for protocol changes - #618 2013-10-29 20:29:08 +00:00
Jon Atkins
7230e2f44a run the requestFinished callback after updating visibility/render of cached data
technically, not a finished request, but makes sense from the point of view of plugins
2013-10-27 16:33:42 +00:00
Jon Atkins
d268b0a79f remove the delay before requeueing 'error==TIMEOUT' tiles. it's not needed (stock site has no delay), and the other delay (before processing the queue again) has more than enough effect to batch multiple retries together when it's useful 2013-10-25 08:01:45 +01:00
Jon Atkins
8270812406 experimental change: render stale map data tiles before downloading fresh data - should give a more responsive appearance of data
also increase cache expiry time to 15 mins
2013-10-25 07:10:35 +01:00
Jon Atkins
3aeaefa428 tweaks to the refresh timers used after a move/on startup 2013-10-17 01:32:56 +01:00
Jon Atkins
34410bd047 map data request handling - tweaks to the timers, and immediate 'finished' processing when all data came from the cache 2013-10-16 07:11:01 +01:00
Jon Atkins
1eea47ca99 update code to match stock site changes 2013-10-16
- new munge set
- modified map data tile ID/QK - now based on portal level rather than map zoom
2013-10-16 03:11:19 +01:00
Jon Atkins
51b24386e6 disable 'timestampMs' map data requests. either i've misunderstood what their code is doing, or it's an incomplete feature in the stock site.
extensive testing has never found an instance where it reduced response size from the server
2013-10-14 17:59:53 +01:00
Jon Atkins
d2661874c6 some work-in-progress. from a read of the far-less-obfsucated code on the stock site it looks like map data can be retrieved as an update to an earlier query
i.e. pass the timestamp of the last data request, and the server should only send the changed data rather than everything
2013-10-07 20:29:05 +01:00
Jon Atkins
68cf5d0aa4 fix idle resume sometimes triggering during an existing request 2013-09-14 08:28:24 +01:00
Jon Atkins
01fe9bf51c only add link entities to the layer if they're long enough to be visible
an improvement on 4838de6788ad27bbf6357e1ac9099744483a9e01 to prevent excessive links being drawn when lots of portals are loaded
2013-09-14 07:31:13 +01:00
Jon Atkins
b83cf459c8 more tweaks to the request code
- delay briefly before retrying a timeout, and a bit longer before other errors
- also delay briefly before running the queue after a request, to give a chance of more than one request's requeued entries being handled atr once
- add a min tiles per request, to avoid sending multiple requests when only a few queued items remain
these are attempts to be nicer to the niantic servers, particularly in error cases, with some based on my best guess of the stock site behaviour, and others based on what seems reasonable to me
2013-09-06 22:32:57 +01:00
Jon Atkins
cb8547a0b9 refresh tweaks, reduced logging 2013-09-06 00:20:45 +01:00
Jon Atkins
a77cf50e42 more improvements to the data requesting
- fix idle resume, so it only occurs if the existing timer has been cancelled
- re-instate the cache, and updates for interface changes
- add a short delay between the initialisation of map data retreival, and actually starting network requests
2013-09-04 04:34:11 +01:00