{"action":"created","issue":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/3715","repository_url":"https://api.github.com/repos/mapbox/mapbox-gl-native","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/3715/labels{/name}","comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/3715/comments","events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/3715/events","html_url":"https://github.com/mapbox/mapbox-gl-native/pull/3715","id":129297508,"number":3715,"title":"Offline","user":{"login":"jfirebaugh","id":98601,"avatar_url":"https://avatars.githubusercontent.com/u/98601?v=3","gravatar_id":"","url":"https://api.github.com/users/jfirebaugh","html_url":"https://github.com/jfirebaugh","followers_url":"https://api.github.com/users/jfirebaugh/followers","following_url":"https://api.github.com/users/jfirebaugh/following{/other_user}","gists_url":"https://api.github.com/users/jfirebaugh/gists{/gist_id}","starred_url":"https://api.github.com/users/jfirebaugh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfirebaugh/subscriptions","organizations_url":"https://api.github.com/users/jfirebaugh/orgs","repos_url":"https://api.github.com/users/jfirebaugh/repos","events_url":"https://api.github.com/users/jfirebaugh/events{/privacy}","received_events_url":"https://api.github.com/users/jfirebaugh/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/in%20progress","name":"in progress","color":"ededed"},{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/%E2%9A%A0%EF%B8%8F%20DO%20NOT%20MERGE","name":"⚠️ DO NOT MERGE","color":"fbca04"},{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/%E2%9C%93%20ready%20for%20review","name":"✓ ready for review","color":"009800"}],"state":"open","locked":false,"assignee":{"login":"jfirebaugh","id":98601,"avatar_url":"https://avatars.githubusercontent.com/u/98601?v=3","gravatar_id":"","url":"https://api.github.com/users/jfirebaugh","html_url":"https://github.com/jfirebaugh","followers_url":"https://api.github.com/users/jfirebaugh/followers","following_url":"https://api.github.com/users/jfirebaugh/following{/other_user}","gists_url":"https://api.github.com/users/jfirebaugh/gists{/gist_id}","starred_url":"https://api.github.com/users/jfirebaugh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfirebaugh/subscriptions","organizations_url":"https://api.github.com/users/jfirebaugh/orgs","repos_url":"https://api.github.com/users/jfirebaugh/repos","events_url":"https://api.github.com/users/jfirebaugh/events{/privacy}","received_events_url":"https://api.github.com/users/jfirebaugh/received_events","type":"User","site_admin":false},"milestone":null,"comments":8,"created_at":"2016-01-27T23:03:40Z","updated_at":"2016-02-10T20:23:30Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/3715","html_url":"https://github.com/mapbox/mapbox-gl-native/pull/3715","diff_url":"https://github.com/mapbox/mapbox-gl-native/pull/3715.diff","patch_url":"https://github.com/mapbox/mapbox-gl-native/pull/3715.patch"},"body":"TODO list:\r\n\r\n* [x] Normalize Mapbox tile URLs to `mapbox://tiles` scheme before requesting, translate back to `api.mapbox.com` URLs inside `OnlineFileSource`.\r\n* [x] Remove `sqlite_cache.{hpp,cpp}`\r\n* [x] Style, source, sprite, glyphs downloading\r\n* [x] Figure out progress semantics when complete file count is indeterminate\r\n* [x] Font stack normalization\r\n* [x] Verify that `LatLngBounds` enforces the correct invariants: https://github.com/mapbox/mapbox-gl-native/issues/3802\r\n* [x] Tiles downloading\r\n* [x] Tile ID wrapping\r\n* [x] Region deletion\r\n* [x] Test cases\r\n  * [x] No sprite\r\n  * [x] No glyphs\r\n  * [x] Inline source\r\n  * [x] GeoJSON source\r\n* [x] Size reporting\r\n* [x] Remove schema version logic; once shipped we need to write migrations rather than dumping existing dbs\r\n* [x] Review use of `Request::Error::NotFound`\r\n* [x] Get status of inactive download\r\n* [x] Error handling\r\n* [x] Resource deletion\r\n* [x] Concurrency\r\n* [ ] Performance\r\n  * [x] [Concurrent request throttling](https://github.com/mapbox/mapbox-gl-native/issues/3858)\r\n  * ~~[ ] [Request pipelining](https://github.com/mapbox/mapbox-gl-native/issues/3647)~~\r\n  * [ ] Add indexes\r\n* [ ] Add `Resource` parameter to observer methods\r\n* [x] Size limits / eviction\r\n* [ ] Ignore `asset://` URLs\r\n\r\n#### Later\r\n\r\n* [ ] Consistently use `?NNN` syntax for prepared statements\r\n* [ ] Rename `Statement::run()` ⇢ `Statement::step()`\r\n\r\n#### Think about\r\n\r\n* [ ] Style spec migrations\r\n* [ ] Static evaluation of font stacks vs. data driven styling\r\n* [ ] Stop tile pyramid recursion when encountering a nodata tile"},"comment":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/comments/182567631","html_url":"https://github.com/mapbox/mapbox-gl-native/pull/3715#issuecomment-182567631","issue_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/3715","id":182567631,"user":{"login":"jfirebaugh","id":98601,"avatar_url":"https://avatars.githubusercontent.com/u/98601?v=3","gravatar_id":"","url":"https://api.github.com/users/jfirebaugh","html_url":"https://github.com/jfirebaugh","followers_url":"https://api.github.com/users/jfirebaugh/followers","following_url":"https://api.github.com/users/jfirebaugh/following{/other_user}","gists_url":"https://api.github.com/users/jfirebaugh/gists{/gist_id}","starred_url":"https://api.github.com/users/jfirebaugh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfirebaugh/subscriptions","organizations_url":"https://api.github.com/users/jfirebaugh/orgs","repos_url":"https://api.github.com/users/jfirebaugh/repos","events_url":"https://api.github.com/users/jfirebaugh/events{/privacy}","received_events_url":"https://api.github.com/users/jfirebaugh/received_events","type":"User","site_admin":false},"created_at":"2016-02-10T20:23:30Z","updated_at":"2016-02-10T20:23:30Z","body":"@tmpsantos How about now?"}}