{"action":"created","issue":{"url":"https://api.github.com/repos/Automattic/wp-calypso/issues/27926","repository_url":"https://api.github.com/repos/Automattic/wp-calypso","labels_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/27926/labels{/name}","comments_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/27926/comments","events_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/27926/events","html_url":"https://github.com/Automattic/wp-calypso/pull/27926","id":371485363,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIzOTIxMDM3","number":27926,"title":"Improve WpcomChecklist: reduce re-renders and load dynamically in stats","user":{"login":"sgomes","id":409615,"node_id":"MDQ6VXNlcjQwOTYxNQ==","avatar_url":"https://avatars1.githubusercontent.com/u/409615?v=4","gravatar_id":"","url":"https://api.github.com/users/sgomes","html_url":"https://github.com/sgomes","followers_url":"https://api.github.com/users/sgomes/followers","following_url":"https://api.github.com/users/sgomes/following{/other_user}","gists_url":"https://api.github.com/users/sgomes/gists{/gist_id}","starred_url":"https://api.github.com/users/sgomes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sgomes/subscriptions","organizations_url":"https://api.github.com/users/sgomes/orgs","repos_url":"https://api.github.com/users/sgomes/repos","events_url":"https://api.github.com/users/sgomes/events{/privacy}","received_events_url":"https://api.github.com/users/sgomes/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-18T11:30:34Z","updated_at":"2018-10-18T11:30:35Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/Automattic/wp-calypso/pulls/27926","html_url":"https://github.com/Automattic/wp-calypso/pull/27926","diff_url":"https://github.com/Automattic/wp-calypso/pull/27926.diff","patch_url":"https://github.com/Automattic/wp-calypso/pull/27926.patch"},"body":"This PR optimizes performance around `WpcomChecklist` a bit by:\r\n\r\n* Reducing re-renders in the `WpcomChecklist` component, caused by failing shallow comparisons in a prop coming from Redux. Applies memoization to the selector to fix the issue.\r\n* Dynamically loading `WpcomChecklist` in stats, and only doing so when the site qualifies and the checklist hasn't been dismissed.\r\n\r\n**Note to reviewers**: please pay special attention to the memoization code added in the first commit. I still haven't fully grokked the `createSelector` library, so I want to make sure I avoid introducing any subtle bugs. I couldn't find any, but, well, that's why they'd be subtle 😄 \r\n\r\nMeasured deltas in stats page, for sites without a checklist banner:\r\n* ~12% improvement in the `perfmon` metric 👍 \r\n* ~8KB less JS (gzipped) 👍 \r\n\r\nMeasured deltas in stats page, for sites with a checklist banner:\r\n* No apparent performance improvement in the `perfmon` metric (< 5% change)\r\n* ~500B more JS (gzipped) 👎 Seems acceptable, though."},"comment":{"url":"https://api.github.com/repos/Automattic/wp-calypso/issues/comments/430973839","html_url":"https://github.com/Automattic/wp-calypso/pull/27926#issuecomment-430973839","issue_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/27926","id":430973839,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMDk3MzgzOQ==","user":{"login":"matticbot","id":18333116,"node_id":"MDQ6VXNlcjE4MzMzMTE2","avatar_url":"https://avatars2.githubusercontent.com/u/18333116?v=4","gravatar_id":"","url":"https://api.github.com/users/matticbot","html_url":"https://github.com/matticbot","followers_url":"https://api.github.com/users/matticbot/followers","following_url":"https://api.github.com/users/matticbot/following{/other_user}","gists_url":"https://api.github.com/users/matticbot/gists{/gist_id}","starred_url":"https://api.github.com/users/matticbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matticbot/subscriptions","organizations_url":"https://api.github.com/users/matticbot/orgs","repos_url":"https://api.github.com/users/matticbot/repos","events_url":"https://api.github.com/users/matticbot/events{/privacy}","received_events_url":"https://api.github.com/users/matticbot/received_events","type":"User","site_admin":false},"created_at":"2018-10-18T11:30:35Z","updated_at":"2018-10-18T11:30:35Z","author_association":"NONE","body":"Test live: https://calypso.live/?branch=update/improve-wpcom-checklist"}}
{"actor":{"display_login":"matticbot"}}