{"action":"opened","number":55,"pull_request":{"url":"https://api.github.com/repos/Ticketmaster/prism/pulls/55","id":202398261,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAyMzk4MjYx","html_url":"https://github.com/Ticketmaster/prism/pull/55","diff_url":"https://github.com/Ticketmaster/prism/pull/55.diff","patch_url":"https://github.com/Ticketmaster/prism/pull/55.patch","issue_url":"https://api.github.com/repos/Ticketmaster/prism/issues/55","number":55,"state":"open","locked":false,"title":"fix(DeviceSize): refactor fallback detection to only apply before med…","user":{"login":"shYkiSto","id":5937440,"node_id":"MDQ6VXNlcjU5Mzc0NDA=","avatar_url":"https://avatars2.githubusercontent.com/u/5937440?v=4","gravatar_id":"","url":"https://api.github.com/users/shYkiSto","html_url":"https://github.com/shYkiSto","followers_url":"https://api.github.com/users/shYkiSto/followers","following_url":"https://api.github.com/users/shYkiSto/following{/other_user}","gists_url":"https://api.github.com/users/shYkiSto/gists{/gist_id}","starred_url":"https://api.github.com/users/shYkiSto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shYkiSto/subscriptions","organizations_url":"https://api.github.com/users/shYkiSto/orgs","repos_url":"https://api.github.com/users/shYkiSto/repos","events_url":"https://api.github.com/users/shYkiSto/events{/privacy}","received_events_url":"https://api.github.com/users/shYkiSto/received_events","type":"User","site_admin":false},"body":"<!--\r\nThanks for your interest in the project. Bugs filed and PRs submitted are appreciated!\r\n\r\nPlease make sure that you are familiar with and follow the Code of Conduct for\r\nthis project (found in the CODE_OF_CONDUCT.md file).\r\n\r\nAlso, please make sure you're familiar with and follow the instructions in the\r\ncontributing guidelines (found in the CONTRIBUTING.md file).\r\n\r\nPlease fill out the information below to expedite the review and (hopefully)\r\nmerge of your pull request!\r\n-->\r\n\r\n<!-- What changes are being made? (What feature/bug is being fixed here?) -->\r\n\r\n**What**:\r\nDeviceSizeProvider's logic for fallbackDetection prop needs to change. At the moment it overrides any information in state that has been captured by matching media queries on componentDidMount(). \r\n\r\n<!-- Why are these changes necessary? -->\r\n\r\n**Why**:\r\n`fallbackDetection` prop is being used to initialize state in DeviceSizeProvider during SSR. Issue here is that when it comes to initial render on the client - the state in DeviceSizeProvider is diverged from the state used during SSR and hydration done on client side messes up DOM resulting in broken UI. \r\n\r\n> React expects that the rendered content is identical between the server and the client. It can patch up differences in text content, but you should treat mismatches as bugs and fix them. In development mode, React warns about mismatches during hydration. There are no guarantees that attribute differences will be patched up in case of mismatches. This is important for performance reasons because in most apps, mismatches are rare, and so validating all markup would be prohibitively expensive.\r\nQuote from : https://reactjs.org/docs/react-dom.html#hydrate\r\n\r\n<!-- How were these changes implemented? -->\r\n\r\n**How**:\r\nUpdated DeviceSizeProvider to initialize state using `fallbackDetection` until match media queries are being initialized\r\n\r\n<!-- Have you done all of these things?  -->\r\n\r\n**Checklist**:\r\n\r\n<!-- add \"N/A\" to the end of each line that's irrelevant to your changes -->\r\n\r\n<!-- to check an item, place an \"x\" in the box like so: \"- [x] Documentation\" -->\r\n\r\n* [ ] Documentation\r\n* [ ] Tests\r\n* [ ] Ready to be merged <!-- In your opinion, is this ready to be merged as soon as it's reviewed? -->\r\n\r\n<!-- feel free to add additional comments -->\r\n","created_at":"2018-07-18T22:31:34Z","updated_at":"2018-07-18T22:31:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Ticketmaster/prism/pulls/55/commits","review_comments_url":"https://api.github.com/repos/Ticketmaster/prism/pulls/55/comments","review_comment_url":"https://api.github.com/repos/Ticketmaster/prism/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Ticketmaster/prism/issues/55/comments","statuses_url":"https://api.github.com/repos/Ticketmaster/prism/statuses/6ed4c84e33200c03be3dd829014f2a7d6c331dd3","head":{"label":"shYkiSto:fix-device-size-provider-fallback-detection","ref":"fix-device-size-provider-fallback-detection","sha":"6ed4c84e33200c03be3dd829014f2a7d6c331dd3","user":{"login":"shYkiSto","id":5937440,"node_id":"MDQ6VXNlcjU5Mzc0NDA=","avatar_url":"https://avatars2.githubusercontent.com/u/5937440?v=4","gravatar_id":"","url":"https://api.github.com/users/shYkiSto","html_url":"https://github.com/shYkiSto","followers_url":"https://api.github.com/users/shYkiSto/followers","following_url":"https://api.github.com/users/shYkiSto/following{/other_user}","gists_url":"https://api.github.com/users/shYkiSto/gists{/gist_id}","starred_url":"https://api.github.com/users/shYkiSto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shYkiSto/subscriptions","organizations_url":"https://api.github.com/users/shYkiSto/orgs","repos_url":"https://api.github.com/users/shYkiSto/repos","events_url":"https://api.github.com/users/shYkiSto/events{/privacy}","received_events_url":"https://api.github.com/users/shYkiSto/received_events","type":"User","site_admin":false},"repo":{"id":141343322,"node_id":"MDEwOlJlcG9zaXRvcnkxNDEzNDMzMjI=","name":"prism","full_name":"shYkiSto/prism","owner":{"login":"shYkiSto","id":5937440,"node_id":"MDQ6VXNlcjU5Mzc0NDA=","avatar_url":"https://avatars2.githubusercontent.com/u/5937440?v=4","gravatar_id":"","url":"https://api.github.com/users/shYkiSto","html_url":"https://github.com/shYkiSto","followers_url":"https://api.github.com/users/shYkiSto/followers","following_url":"https://api.github.com/users/shYkiSto/following{/other_user}","gists_url":"https://api.github.com/users/shYkiSto/gists{/gist_id}","starred_url":"https://api.github.com/users/shYkiSto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shYkiSto/subscriptions","organizations_url":"https://api.github.com/users/shYkiSto/orgs","repos_url":"https://api.github.com/users/shYkiSto/repos","events_url":"https://api.github.com/users/shYkiSto/events{/privacy}","received_events_url":"https://api.github.com/users/shYkiSto/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/shYkiSto/prism","description":"Shared UI Library for Ticketmaster","fork":true,"url":"https://api.github.com/repos/shYkiSto/prism","forks_url":"https://api.github.com/repos/shYkiSto/prism/forks","keys_url":"https://api.github.com/repos/shYkiSto/prism/keys{/key_id}","collaborators_url":"https://api.github.com/repos/shYkiSto/prism/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/shYkiSto/prism/teams","hooks_url":"https://api.github.com/repos/shYkiSto/prism/hooks","issue_events_url":"https://api.github.com/repos/shYkiSto/prism/issues/events{/number}","events_url":"https://api.github.com/repos/shYkiSto/prism/events","assignees_url":"https://api.github.com/repos/shYkiSto/prism/assignees{/user}","branches_url":"https://api.github.com/repos/shYkiSto/prism/branches{/branch}","tags_url":"https://api.github.com/repos/shYkiSto/prism/tags","blobs_url":"https://api.github.com/repos/shYkiSto/prism/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/shYkiSto/prism/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/shYkiSto/prism/git/refs{/sha}","trees_url":"https://api.github.com/repos/shYkiSto/prism/git/trees{/sha}","statuses_url":"https://api.github.com/repos/shYkiSto/prism/statuses/{sha}","languages_url":"https://api.github.com/repos/shYkiSto/prism/languages","stargazers_url":"https://api.github.com/repos/shYkiSto/prism/stargazers","contributors_url":"https://api.github.com/repos/shYkiSto/prism/contributors","subscribers_url":"https://api.github.com/repos/shYkiSto/prism/subscribers","subscription_url":"https://api.github.com/repos/shYkiSto/prism/subscription","commits_url":"https://api.github.com/repos/shYkiSto/prism/commits{/sha}","git_commits_url":"https://api.github.com/repos/shYkiSto/prism/git/commits{/sha}","comments_url":"https://api.github.com/repos/shYkiSto/prism/comments{/number}","issue_comment_url":"https://api.github.com/repos/shYkiSto/prism/issues/comments{/number}","contents_url":"https://api.github.com/repos/shYkiSto/prism/contents/{+path}","compare_url":"https://api.github.com/repos/shYkiSto/prism/compare/{base}...{head}","merges_url":"https://api.github.com/repos/shYkiSto/prism/merges","archive_url":"https://api.github.com/repos/shYkiSto/prism/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/shYkiSto/prism/downloads","issues_url":"https://api.github.com/repos/shYkiSto/prism/issues{/number}","pulls_url":"https://api.github.com/repos/shYkiSto/prism/pulls{/number}","milestones_url":"https://api.github.com/repos/shYkiSto/prism/milestones{/number}","notifications_url":"https://api.github.com/repos/shYkiSto/prism/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/shYkiSto/prism/labels{/name}","releases_url":"https://api.github.com/repos/shYkiSto/prism/releases{/id}","deployments_url":"https://api.github.com/repos/shYkiSto/prism/deployments","created_at":"2018-07-17T21:02:39Z","updated_at":"2018-07-17T21:02:41Z","pushed_at":"2018-07-17T21:11:38Z","git_url":"git://github.com/shYkiSto/prism.git","ssh_url":"git@github.com:shYkiSto/prism.git","clone_url":"https://github.com/shYkiSto/prism.git","svn_url":"https://github.com/shYkiSto/prism","homepage":"https://code.ticketmaster.com/prism/","size":11532,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Ticketmaster:master","ref":"master","sha":"7725a4f9eee90f90dd40f44c243df4da0b294ae9","user":{"login":"Ticketmaster","id":5680728,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2ODA3Mjg=","avatar_url":"https://avatars2.githubusercontent.com/u/5680728?v=4","gravatar_id":"","url":"https://api.github.com/users/Ticketmaster","html_url":"https://github.com/Ticketmaster","followers_url":"https://api.github.com/users/Ticketmaster/followers","following_url":"https://api.github.com/users/Ticketmaster/following{/other_user}","gists_url":"https://api.github.com/users/Ticketmaster/gists{/gist_id}","starred_url":"https://api.github.com/users/Ticketmaster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ticketmaster/subscriptions","organizations_url":"https://api.github.com/users/Ticketmaster/orgs","repos_url":"https://api.github.com/users/Ticketmaster/repos","events_url":"https://api.github.com/users/Ticketmaster/events{/privacy}","received_events_url":"https://api.github.com/users/Ticketmaster/received_events","type":"Organization","site_admin":false},"repo":{"id":131040509,"node_id":"MDEwOlJlcG9zaXRvcnkxMzEwNDA1MDk=","name":"prism","full_name":"Ticketmaster/prism","owner":{"login":"Ticketmaster","id":5680728,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2ODA3Mjg=","avatar_url":"https://avatars2.githubusercontent.com/u/5680728?v=4","gravatar_id":"","url":"https://api.github.com/users/Ticketmaster","html_url":"https://github.com/Ticketmaster","followers_url":"https://api.github.com/users/Ticketmaster/followers","following_url":"https://api.github.com/users/Ticketmaster/following{/other_user}","gists_url":"https://api.github.com/users/Ticketmaster/gists{/gist_id}","starred_url":"https://api.github.com/users/Ticketmaster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ticketmaster/subscriptions","organizations_url":"https://api.github.com/users/Ticketmaster/orgs","repos_url":"https://api.github.com/users/Ticketmaster/repos","events_url":"https://api.github.com/users/Ticketmaster/events{/privacy}","received_events_url":"https://api.github.com/users/Ticketmaster/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Ticketmaster/prism","description":"Shared UI Library for Ticketmaster","fork":false,"url":"https://api.github.com/repos/Ticketmaster/prism","forks_url":"https://api.github.com/repos/Ticketmaster/prism/forks","keys_url":"https://api.github.com/repos/Ticketmaster/prism/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Ticketmaster/prism/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Ticketmaster/prism/teams","hooks_url":"https://api.github.com/repos/Ticketmaster/prism/hooks","issue_events_url":"https://api.github.com/repos/Ticketmaster/prism/issues/events{/number}","events_url":"https://api.github.com/repos/Ticketmaster/prism/events","assignees_url":"https://api.github.com/repos/Ticketmaster/prism/assignees{/user}","branches_url":"https://api.github.com/repos/Ticketmaster/prism/branches{/branch}","tags_url":"https://api.github.com/repos/Ticketmaster/prism/tags","blobs_url":"https://api.github.com/repos/Ticketmaster/prism/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Ticketmaster/prism/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Ticketmaster/prism/git/refs{/sha}","trees_url":"https://api.github.com/repos/Ticketmaster/prism/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Ticketmaster/prism/statuses/{sha}","languages_url":"https://api.github.com/repos/Ticketmaster/prism/languages","stargazers_url":"https://api.github.com/repos/Ticketmaster/prism/stargazers","contributors_url":"https://api.github.com/repos/Ticketmaster/prism/contributors","subscribers_url":"https://api.github.com/repos/Ticketmaster/prism/subscribers","subscription_url":"https://api.github.com/repos/Ticketmaster/prism/subscription","commits_url":"https://api.github.com/repos/Ticketmaster/prism/commits{/sha}","git_commits_url":"https://api.github.com/repos/Ticketmaster/prism/git/commits{/sha}","comments_url":"https://api.github.com/repos/Ticketmaster/prism/comments{/number}","issue_comment_url":"https://api.github.com/repos/Ticketmaster/prism/issues/comments{/number}","contents_url":"https://api.github.com/repos/Ticketmaster/prism/contents/{+path}","compare_url":"https://api.github.com/repos/Ticketmaster/prism/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Ticketmaster/prism/merges","archive_url":"https://api.github.com/repos/Ticketmaster/prism/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Ticketmaster/prism/downloads","issues_url":"https://api.github.com/repos/Ticketmaster/prism/issues{/number}","pulls_url":"https://api.github.com/repos/Ticketmaster/prism/pulls{/number}","milestones_url":"https://api.github.com/repos/Ticketmaster/prism/milestones{/number}","notifications_url":"https://api.github.com/repos/Ticketmaster/prism/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Ticketmaster/prism/labels{/name}","releases_url":"https://api.github.com/repos/Ticketmaster/prism/releases{/id}","deployments_url":"https://api.github.com/repos/Ticketmaster/prism/deployments","created_at":"2018-04-25T17:21:56Z","updated_at":"2018-07-17T23:54:51Z","pushed_at":"2018-07-18T20:52:55Z","git_url":"git://github.com/Ticketmaster/prism.git","ssh_url":"git@github.com:Ticketmaster/prism.git","clone_url":"https://github.com/Ticketmaster/prism.git","svn_url":"https://github.com/Ticketmaster/prism","homepage":"https://code.ticketmaster.com/prism/","size":13307,"stargazers_count":4,"watchers_count":4,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":6,"mirror_url":null,"archived":false,"open_issues_count":8,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":6,"open_issues":8,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Ticketmaster/prism/pulls/55"},"html":{"href":"https://github.com/Ticketmaster/prism/pull/55"},"issue":{"href":"https://api.github.com/repos/Ticketmaster/prism/issues/55"},"comments":{"href":"https://api.github.com/repos/Ticketmaster/prism/issues/55/comments"},"review_comments":{"href":"https://api.github.com/repos/Ticketmaster/prism/pulls/55/comments"},"review_comment":{"href":"https://api.github.com/repos/Ticketmaster/prism/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Ticketmaster/prism/pulls/55/commits"},"statuses":{"href":"https://api.github.com/repos/Ticketmaster/prism/statuses/6ed4c84e33200c03be3dd829014f2a7d6c331dd3"}},"author_association":"NONE","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":22,"deletions":8,"changed_files":1}}
{"actor":{"display_login":"shYkiSto"}}