{"action":"created","issue":{"url":"https://api.github.com/repos/mozilla/firefox-health-dashboard/issues/79","repository_url":"https://api.github.com/repos/mozilla/firefox-health-dashboard","labels_url":"https://api.github.com/repos/mozilla/firefox-health-dashboard/issues/79/labels{/name}","comments_url":"https://api.github.com/repos/mozilla/firefox-health-dashboard/issues/79/comments","events_url":"https://api.github.com/repos/mozilla/firefox-health-dashboard/issues/79/events","html_url":"https://github.com/mozilla/firefox-health-dashboard/issues/79","id":309827820,"number":79,"title":"Have a two tier data fetching approach to improve the expired and no cache scenarios","user":{"login":"armenzg","id":44410,"avatar_url":"https://avatars2.githubusercontent.com/u/44410?v=4","gravatar_id":"","url":"https://api.github.com/users/armenzg","html_url":"https://github.com/armenzg","followers_url":"https://api.github.com/users/armenzg/followers","following_url":"https://api.github.com/users/armenzg/following{/other_user}","gists_url":"https://api.github.com/users/armenzg/gists{/gist_id}","starred_url":"https://api.github.com/users/armenzg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/armenzg/subscriptions","organizations_url":"https://api.github.com/users/armenzg/orgs","repos_url":"https://api.github.com/users/armenzg/repos","events_url":"https://api.github.com/users/armenzg/events{/privacy}","received_events_url":"https://api.github.com/users/armenzg/received_events","type":"User","site_admin":false},"labels":[{"id":873940367,"url":"https://api.github.com/repos/mozilla/firefox-health-dashboard/labels/cost:low","name":"cost:low","color":"f2d99b","default":false},{"id":873958798,"url":"https://api.github.com/repos/mozilla/firefox-health-dashboard/labels/value:%20high","name":"value: high","color":"006b75","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-03-29T16:48:54Z","updated_at":"2018-03-29T19:28:24Z","closed_at":"2018-03-29T19:28:24Z","author_association":"COLLABORATOR","body":"We currently query json-pushes to give us all the pushes in the last day which we then turn into changesets.\r\nAfter we do that, for every changeset we asynchronously query the backend (producing 100-400 fetches) and wait for *all* of them to finish first.\r\nThis is specially bad since the browser allows for a maximum of 6 fetches in parallel.\r\nNothing in the UI is rendered until all fetches have been completed.\r\n\r\nNow, there's a two tier approach I want to implement.\r\nWe first query for every push the tipmost changeset.\r\nFor the pushes that have coverage data we then proceed to fetch the data of all of its changesets. When that batch of changesets is completed we proceed to set the state and the UI will show all changesets for that specific push.\r\n\r\nThis approach would likely cause the main view to show changesets on batches. I don't know how much of a problem it would be from a UX perspective (e.g. about to click on a changeset and it suddenly a new changesets shows up in its place). We will have to see."},"comment":{"url":"https://api.github.com/repos/mozilla/firefox-health-dashboard/issues/comments/377346108","html_url":"https://github.com/mozilla/firefox-health-dashboard/issues/79#issuecomment-377346108","issue_url":"https://api.github.com/repos/mozilla/firefox-health-dashboard/issues/79","id":377346108,"user":{"login":"armenzg","id":44410,"avatar_url":"https://avatars2.githubusercontent.com/u/44410?v=4","gravatar_id":"","url":"https://api.github.com/users/armenzg","html_url":"https://github.com/armenzg","followers_url":"https://api.github.com/users/armenzg/followers","following_url":"https://api.github.com/users/armenzg/following{/other_user}","gists_url":"https://api.github.com/users/armenzg/gists{/gist_id}","starred_url":"https://api.github.com/users/armenzg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/armenzg/subscriptions","organizations_url":"https://api.github.com/users/armenzg/orgs","repos_url":"https://api.github.com/users/armenzg/repos","events_url":"https://api.github.com/users/armenzg/events{/privacy}","received_events_url":"https://api.github.com/users/armenzg/received_events","type":"User","site_admin":false},"created_at":"2018-03-29T19:28:24Z","updated_at":"2018-03-29T19:28:24Z","author_association":"COLLABORATOR","body":"Wrong repo."}}
{"actor":{"display_login":"armenzg"}}