{"action":"created","issue":{"url":"https://api.github.com/repos/zulip/zulip-mobile/issues/2723","repository_url":"https://api.github.com/repos/zulip/zulip-mobile","labels_url":"https://api.github.com/repos/zulip/zulip-mobile/issues/2723/labels{/name}","comments_url":"https://api.github.com/repos/zulip/zulip-mobile/issues/2723/comments","events_url":"https://api.github.com/repos/zulip/zulip-mobile/issues/2723/events","html_url":"https://github.com/zulip/zulip-mobile/pull/2723","id":335558850,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk3MjI4OTM0","number":2723,"title":"cache: Improve what state data is cached","user":{"login":"borisyankov","id":867242,"node_id":"MDQ6VXNlcjg2NzI0Mg==","avatar_url":"https://avatars3.githubusercontent.com/u/867242?v=4","gravatar_id":"","url":"https://api.github.com/users/borisyankov","html_url":"https://github.com/borisyankov","followers_url":"https://api.github.com/users/borisyankov/followers","following_url":"https://api.github.com/users/borisyankov/following{/other_user}","gists_url":"https://api.github.com/users/borisyankov/gists{/gist_id}","starred_url":"https://api.github.com/users/borisyankov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/borisyankov/subscriptions","organizations_url":"https://api.github.com/users/borisyankov/orgs","repos_url":"https://api.github.com/users/borisyankov/repos","events_url":"https://api.github.com/users/borisyankov/events{/privacy}","received_events_url":"https://api.github.com/users/borisyankov/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-06-25T20:38:17Z","updated_at":"2018-06-27T10:07:04Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/zulip/zulip-mobile/pulls/2723","html_url":"https://github.com/zulip/zulip-mobile/pull/2723","diff_url":"https://github.com/zulip/zulip-mobile/pull/2723.diff","patch_url":"https://github.com/zulip/zulip-mobile/pull/2723.patch"},"body":"* add 'streams' and 'userGroups' to be cached (this makes the app\r\nmore usable when offline)\r\n\r\n* move 'users' from 'storeKeys' to 'cacheKeys' (this does not change\r\nany behavior as both keys are treated the same, but makes it more\r\n'conceptually' correct as we are caching users and not storing them\r\nlocally as a single source of truth)\r\n\r\n* add 'discardKeys' that lists all the rest of the state keys that\r\nwe intentionally do not store or cache; this has no effect but is* add \r\nto make it more explicit; we can also add some tests that check if\r\nall keys we do have are in one of the three structures\r\n\r\n* add a test for 'discardKeys', 'storeKeys', 'cacheKeys'"},"comment":{"url":"https://api.github.com/repos/zulip/zulip-mobile/issues/comments/400617090","html_url":"https://github.com/zulip/zulip-mobile/pull/2723#issuecomment-400617090","issue_url":"https://api.github.com/repos/zulip/zulip-mobile/issues/2723","id":400617090,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMDYxNzA5MA==","user":{"login":"borisyankov","id":867242,"node_id":"MDQ6VXNlcjg2NzI0Mg==","avatar_url":"https://avatars3.githubusercontent.com/u/867242?v=4","gravatar_id":"","url":"https://api.github.com/users/borisyankov","html_url":"https://github.com/borisyankov","followers_url":"https://api.github.com/users/borisyankov/followers","following_url":"https://api.github.com/users/borisyankov/following{/other_user}","gists_url":"https://api.github.com/users/borisyankov/gists{/gist_id}","starred_url":"https://api.github.com/users/borisyankov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/borisyankov/subscriptions","organizations_url":"https://api.github.com/users/borisyankov/orgs","repos_url":"https://api.github.com/users/borisyankov/repos","events_url":"https://api.github.com/users/borisyankov/events{/privacy}","received_events_url":"https://api.github.com/users/borisyankov/received_events","type":"User","site_admin":false},"created_at":"2018-06-27T10:07:04Z","updated_at":"2018-06-27T10:07:04Z","author_association":"CONTRIBUTOR","body":"That is a reasonable approach, but that means we will always fetch for new topics."}}
{"actor":{"display_login":"borisyankov"}}