{"action":"created","comment":{"url":"https://api.github.com/repos/magento-research/pwa-studio/pulls/comments/221680753","pull_request_review_id":160388592,"id":221680753,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyMTY4MDc1Mw==","diff_hunk":"@@ -0,0 +1,220 @@\n+import { createElement, Component } from 'react';\n+import PropTypes from 'prop-types';\n+import Input from 'src/components/Input';\n+import { HelpTypes } from 'src/components/Input';\n+import Button from 'src/components/Button';\n+import defaultClasses from './createAccount.css';\n+import classify from 'src/classify';\n+import Form from 'src/components/Form';\n+import { debounce } from 'underscore';\n+import { RestApi } from '@magento/peregrine';\n+import ErrorDisplay from 'src/components/ErrorDisplay';\n+import Checkbox from 'src/components/Checkbox';\n+\n+const { request } = RestApi.Magento2;\n+\n+class CreateAccount extends Component {\n+    static propTypes = {\n+        classes: PropTypes.shape({\n+            root: PropTypes.string,\n+            createAccountError: PropTypes.string\n+        }),\n+\n+        createAccountError: PropTypes.object,\n+        createAccount: PropTypes.func\n+    };\n+\n+    state = {\n+        firstName: '',\n+        lastName: '',\n+        email: '',\n+        password: '',\n+        passwordConfirm: '',\n+        subscribe: false,\n+        checkingEmail: false,\n+        emailAvailable: false,\n+        subscribe: false\n+    };\n+\n+    get errorMessage() {\n+        const { createAccountError } = this.props;\n+        return <ErrorDisplay error={createAccountError} />;\n+    }\n+\n+    get hasEmailError() {\n+        return (\n+            !!this.state.email &&\n+            !this.state.emailAvailable &&\n+            !this.state.checkingEmail\n+        );\n+    }\n+\n+    get passwordConfirmError() {\n+        return this.state.password !== this.state.passwordConfirm;\n+    }\n+\n+    get disableAccountCreation() {\n+        return (\n+            this.hasEmailError ||\n+            this.passwordConfirmError ||\n+            !this.state.email ||\n+            !this.state.firstName ||\n+            !this.state.lastName\n+        );\n+    }\n+\n+    get emailHelpText() {\n+        return this.hasEmailError\n+            ? 'This email is already in use'\n+            : 'Use an active email';\n+    }\n+\n+    get emailHelpType() {\n+        return this.hasEmailError ? HelpTypes.error : HelpTypes.hint;\n+    }\n+\n+    get passwordHelpText() {\n+        return this.passwordConfirmError ? 'Passwords do not match' : '';\n+    }\n+\n+    get passwordHelpType() {\n+        return HelpTypes.error;\n+    }\n+\n+    render() {\n+        const { classes } = this.props;\n+        const {\n+            onCreateAccount,\n+            errorMessage,\n+            emailHelpText,\n+            emailHelpType,\n+            passwordHelpText,\n+            passwordHelpType,\n+            disableAccountCreation\n+        } = this;\n+\n+        return (\n+            <div className={classes.root}>\n+                <Form submitForm={onCreateAccount}>\n+                    <div className={classes.rewards}>\n+                        <span>An account gives you access to rewards!</span>\n+                    </div>\n+\n+                    <Input\n+                        onChange={this.updateEmail}\n+                        selected={true}\n+                        label={'Email'}\n+                        helpText={emailHelpText}\n+                        helpType={emailHelpType}\n+                        required={true}\n+                    />\n+\n+                    <Input\n+                        onChange={this.updateFirstName}\n+                        label={'First Name'}\n+                        required={true}\n+                    />\n+\n+                    <Input\n+                        onChange={this.updateLastName}\n+                        label={'Last Name'}\n+                        required={true}\n+                    />\n+\n+                    <Input\n+                        onChange={this.updatePassword}\n+                        label={'Password'}\n+                        type={'password'}\n+                        required={true}\n+                        placeholder={'Enter a password'}\n+                        helpText={\n+                            'Password must be at least 8 characters long and contain 3 or more of the following: Lowercase, Uppercase, Digits, or Special Characters. (ex. Password1)'\n+                        }\n+                    />\n+\n+                    <Input\n+                        onChange={this.updatePasswordConfirm}\n+                        label={'Confirm Password'}\n+                        type={'password'}\n+                        required={true}\n+                        placeholder={'Enter the password again'}\n+                        helpText={passwordHelpText}\n+                        helpType={passwordHelpType}\n+                    />\n+\n+                    <Checkbox\n+                        label={'Subscribe to news and updates'}\n+                        select={this.handleCheckboxChange}\n+                        initialState={this.state.subscribe}\n+                    />\n+                    <div className={classes.createAccountButton}>\n+                        <Button type=\"submit\" disabled={disableAccountCreation}>\n+                            Create Account\n+                        </Button>\n+                    </div>\n+                    {errorMessage}\n+                </Form>\n+            </div>\n+        );\n+    }\n+\n+    onCreateAccount = () => {\n+        if (!this.disableAccountCreation) {\n+            const newCustomer = {\n+                customer: {\n+                    firstname: this.state.firstName,\n+                    lastname: this.state.lastName,\n+                    email: this.state.email\n+                },\n+                password: this.state.password\n+            };\n+            this.props.createAccount(newCustomer);\n+        }\n+    };\n+\n+    handleCheckboxChange = value => {\n+        this.setState({ subscribe: value });\n+    };\n+\n+    checkEmail = debounce(async email => {","path":"packages/venia-concept/src/components/CreateAccount/createAccount.js","position":189,"original_position":179,"commit_id":"b1d9b2d8527e79d4b0fb561b54007a28be1f9220","original_commit_id":"b382769bf9710a220731da3011b1717a1b5fede0","user":{"login":"zetlen","id":1643758,"node_id":"MDQ6VXNlcjE2NDM3NTg=","avatar_url":"https://avatars3.githubusercontent.com/u/1643758?v=4","gravatar_id":"","url":"https://api.github.com/users/zetlen","html_url":"https://github.com/zetlen","followers_url":"https://api.github.com/users/zetlen/followers","following_url":"https://api.github.com/users/zetlen/following{/other_user}","gists_url":"https://api.github.com/users/zetlen/gists{/gist_id}","starred_url":"https://api.github.com/users/zetlen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zetlen/subscriptions","organizations_url":"https://api.github.com/users/zetlen/orgs","repos_url":"https://api.github.com/users/zetlen/repos","events_url":"https://api.github.com/users/zetlen/events{/privacy}","received_events_url":"https://api.github.com/users/zetlen/received_events","type":"User","site_admin":false},"body":"In your code, the debounce is on the instance. The class assignment shorthand means that this method is created per-instance.\r\n\r\nIt's totally fine--just wanted to make sure it was intentional. Usually the mistake goes in the other direction; a debounce on the prototype causes an arguably worse problem where individual calls from individual instances are lost. I put together a [Codepen to demonstrate.](https://codepen.io/zetlen/pen/zmGbyq?editors=0012)","created_at":"2018-10-01T16:51:36Z","updated_at":"2018-10-01T16:51:36Z","html_url":"https://github.com/magento-research/pwa-studio/pull/293#discussion_r221680753","pull_request_url":"https://api.github.com/repos/magento-research/pwa-studio/pulls/293","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/magento-research/pwa-studio/pulls/comments/221680753"},"html":{"href":"https://github.com/magento-research/pwa-studio/pull/293#discussion_r221680753"},"pull_request":{"href":"https://api.github.com/repos/magento-research/pwa-studio/pulls/293"}},"in_reply_to_id":220602007},"pull_request":{"url":"https://api.github.com/repos/magento-research/pwa-studio/pulls/293","id":217027750,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE3MDI3NzUw","html_url":"https://github.com/magento-research/pwa-studio/pull/293","diff_url":"https://github.com/magento-research/pwa-studio/pull/293.diff","patch_url":"https://github.com/magento-research/pwa-studio/pull/293.patch","issue_url":"https://api.github.com/repos/magento-research/pwa-studio/issues/293","number":293,"state":"open","locked":false,"title":" Account creation (issue #250)","user":{"login":"JStein92","id":27716099,"node_id":"MDQ6VXNlcjI3NzE2MDk5","avatar_url":"https://avatars0.githubusercontent.com/u/27716099?v=4","gravatar_id":"","url":"https://api.github.com/users/JStein92","html_url":"https://github.com/JStein92","followers_url":"https://api.github.com/users/JStein92/followers","following_url":"https://api.github.com/users/JStein92/following{/other_user}","gists_url":"https://api.github.com/users/JStein92/gists{/gist_id}","starred_url":"https://api.github.com/users/JStein92/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JStein92/subscriptions","organizations_url":"https://api.github.com/users/JStein92/orgs","repos_url":"https://api.github.com/users/JStein92/repos","events_url":"https://api.github.com/users/JStein92/events{/privacy}","received_events_url":"https://api.github.com/users/JStein92/received_events","type":"User","site_admin":false},"body":"<!-- (REQUIRED) What is the nature of this PR? -->\r\n\r\n## This PR is a:\r\n\r\n[x] New feature\r\n[ ] Enhancement/Optimization\r\n[ ] Refactor\r\n[ ] Bugfix\r\n[ ] Test for existing code\r\n[ ] Documentation\r\n\r\n<!-- (REQUIRED) What does this PR change? -->\r\n\r\n## Summary\r\n\r\nThis pull request is an extension to PR https://github.com/magento-research/pwa-studio/pull/281 - login feature. \r\n\r\nAddresses issue #250 \r\n\r\nWhen this pull request is merged, in addition to the changes of #281, it will enable users to create accounts through Magento's REST api.\r\n\r\n #### New components\r\n- CreateAccount\r\n- Checkbox\r\n- Form\r\n\r\n![create_account_gif](https://user-images.githubusercontent.com/27716099/45830824-c596e000-bcb2-11e8-80f9-2e11b5ec3cc8.gif)\r\n\r\n<!-- (OPTIONAL) What other information can you provide about this PR? -->\r\n\r\n## Additional information\r\n\r\n- User is automatically logged in after creating an account through getUserDetails() in the root index.js\r\n\r\n- signin_token expires after some time but stays in local storage, so it's possible to receive a 401 Unauthorized when the root index.js tries to get user details with an expired token. Automatic token refresh should be addressed in the future.\r\n\r\n- Guest cart is merged into newly created account, but the carts will not show up because getCartDetails still only looks for guest cart ids. Changing this seemed out of scope for this issue so we left it as is.\r\n\r\n- Style changes for Input component to better match Invision designs. \r\n\r\n- Automatic email availability check with debounce using Magento isEmailAvailable endpoint. ","created_at":"2018-09-20T16:06:51Z","updated_at":"2018-10-01T16:51:36Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5492715c9aac82c410a951c1ba5b801a46af2904","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":1060595922,"node_id":"MDU6TGFiZWwxMDYwNTk1OTIy","url":"https://api.github.com/repos/magento-research/pwa-studio/labels/2.x%20release","name":"2.x release","color":"00c775","default":false},{"id":963879487,"node_id":"MDU6TGFiZWw5NjM4Nzk0ODc=","url":"https://api.github.com/repos/magento-research/pwa-studio/labels/enhancement","name":"enhancement","color":"a2eeef","default":true}],"milestone":null,"commits_url":"https://api.github.com/repos/magento-research/pwa-studio/pulls/293/commits","review_comments_url":"https://api.github.com/repos/magento-research/pwa-studio/pulls/293/comments","review_comment_url":"https://api.github.com/repos/magento-research/pwa-studio/pulls/comments{/number}","comments_url":"https://api.github.com/repos/magento-research/pwa-studio/issues/293/comments","statuses_url":"https://api.github.com/repos/magento-research/pwa-studio/statuses/b1d9b2d8527e79d4b0fb561b54007a28be1f9220","head":{"label":"bargreenellingson:account_creation","ref":"account_creation","sha":"b1d9b2d8527e79d4b0fb561b54007a28be1f9220","user":{"login":"bargreenellingson","id":14302431,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MzAyNDMx","avatar_url":"https://avatars2.githubusercontent.com/u/14302431?v=4","gravatar_id":"","url":"https://api.github.com/users/bargreenellingson","html_url":"https://github.com/bargreenellingson","followers_url":"https://api.github.com/users/bargreenellingson/followers","following_url":"https://api.github.com/users/bargreenellingson/following{/other_user}","gists_url":"https://api.github.com/users/bargreenellingson/gists{/gist_id}","starred_url":"https://api.github.com/users/bargreenellingson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bargreenellingson/subscriptions","organizations_url":"https://api.github.com/users/bargreenellingson/orgs","repos_url":"https://api.github.com/users/bargreenellingson/repos","events_url":"https://api.github.com/users/bargreenellingson/events{/privacy}","received_events_url":"https://api.github.com/users/bargreenellingson/received_events","type":"Organization","site_admin":false},"repo":{"id":145859607,"node_id":"MDEwOlJlcG9zaXRvcnkxNDU4NTk2MDc=","name":"pwa-studio","full_name":"bargreenellingson/pwa-studio","private":false,"owner":{"login":"bargreenellingson","id":14302431,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MzAyNDMx","avatar_url":"https://avatars2.githubusercontent.com/u/14302431?v=4","gravatar_id":"","url":"https://api.github.com/users/bargreenellingson","html_url":"https://github.com/bargreenellingson","followers_url":"https://api.github.com/users/bargreenellingson/followers","following_url":"https://api.github.com/users/bargreenellingson/following{/other_user}","gists_url":"https://api.github.com/users/bargreenellingson/gists{/gist_id}","starred_url":"https://api.github.com/users/bargreenellingson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bargreenellingson/subscriptions","organizations_url":"https://api.github.com/users/bargreenellingson/orgs","repos_url":"https://api.github.com/users/bargreenellingson/repos","events_url":"https://api.github.com/users/bargreenellingson/events{/privacy}","received_events_url":"https://api.github.com/users/bargreenellingson/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/bargreenellingson/pwa-studio","description":"🛠A collection of tools that enables developers to build complex Progressive Web Applications for Magento 2 stores.","fork":true,"url":"https://api.github.com/repos/bargreenellingson/pwa-studio","forks_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/forks","keys_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/teams","hooks_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/hooks","issue_events_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/issues/events{/number}","events_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/events","assignees_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/assignees{/user}","branches_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/branches{/branch}","tags_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/tags","blobs_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/git/refs{/sha}","trees_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/statuses/{sha}","languages_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/languages","stargazers_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/stargazers","contributors_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/contributors","subscribers_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/subscribers","subscription_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/subscription","commits_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/commits{/sha}","git_commits_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/git/commits{/sha}","comments_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/comments{/number}","issue_comment_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/issues/comments{/number}","contents_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/contents/{+path}","compare_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/merges","archive_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/downloads","issues_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/issues{/number}","pulls_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/pulls{/number}","milestones_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/milestones{/number}","notifications_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/labels{/name}","releases_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/releases{/id}","deployments_url":"https://api.github.com/repos/bargreenellingson/pwa-studio/deployments","created_at":"2018-08-23T13:45:42Z","updated_at":"2018-09-24T17:41:48Z","pushed_at":"2018-10-01T15:53:52Z","git_url":"git://github.com/bargreenellingson/pwa-studio.git","ssh_url":"git@github.com:bargreenellingson/pwa-studio.git","clone_url":"https://github.com/bargreenellingson/pwa-studio.git","svn_url":"https://github.com/bargreenellingson/pwa-studio","homepage":"https://magento-research.github.io/pwa-studio/","size":7906,"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":1,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"NOASSERTION","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"magento-research:release/2.0","ref":"release/2.0","sha":"8f387edf83c5416a9e379e1be5557bda0d12309a","user":{"login":"magento-research","id":26729824,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI2NzI5ODI0","avatar_url":"https://avatars0.githubusercontent.com/u/26729824?v=4","gravatar_id":"","url":"https://api.github.com/users/magento-research","html_url":"https://github.com/magento-research","followers_url":"https://api.github.com/users/magento-research/followers","following_url":"https://api.github.com/users/magento-research/following{/other_user}","gists_url":"https://api.github.com/users/magento-research/gists{/gist_id}","starred_url":"https://api.github.com/users/magento-research/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magento-research/subscriptions","organizations_url":"https://api.github.com/users/magento-research/orgs","repos_url":"https://api.github.com/users/magento-research/repos","events_url":"https://api.github.com/users/magento-research/events{/privacy}","received_events_url":"https://api.github.com/users/magento-research/received_events","type":"Organization","site_admin":false},"repo":{"id":137249745,"node_id":"MDEwOlJlcG9zaXRvcnkxMzcyNDk3NDU=","name":"pwa-studio","full_name":"magento-research/pwa-studio","private":false,"owner":{"login":"magento-research","id":26729824,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI2NzI5ODI0","avatar_url":"https://avatars0.githubusercontent.com/u/26729824?v=4","gravatar_id":"","url":"https://api.github.com/users/magento-research","html_url":"https://github.com/magento-research","followers_url":"https://api.github.com/users/magento-research/followers","following_url":"https://api.github.com/users/magento-research/following{/other_user}","gists_url":"https://api.github.com/users/magento-research/gists{/gist_id}","starred_url":"https://api.github.com/users/magento-research/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magento-research/subscriptions","organizations_url":"https://api.github.com/users/magento-research/orgs","repos_url":"https://api.github.com/users/magento-research/repos","events_url":"https://api.github.com/users/magento-research/events{/privacy}","received_events_url":"https://api.github.com/users/magento-research/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/magento-research/pwa-studio","description":"🛠Development tools to build, optimize and deploy Progressive Web Applications for Magento 2.","fork":false,"url":"https://api.github.com/repos/magento-research/pwa-studio","forks_url":"https://api.github.com/repos/magento-research/pwa-studio/forks","keys_url":"https://api.github.com/repos/magento-research/pwa-studio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/magento-research/pwa-studio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/magento-research/pwa-studio/teams","hooks_url":"https://api.github.com/repos/magento-research/pwa-studio/hooks","issue_events_url":"https://api.github.com/repos/magento-research/pwa-studio/issues/events{/number}","events_url":"https://api.github.com/repos/magento-research/pwa-studio/events","assignees_url":"https://api.github.com/repos/magento-research/pwa-studio/assignees{/user}","branches_url":"https://api.github.com/repos/magento-research/pwa-studio/branches{/branch}","tags_url":"https://api.github.com/repos/magento-research/pwa-studio/tags","blobs_url":"https://api.github.com/repos/magento-research/pwa-studio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/magento-research/pwa-studio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/magento-research/pwa-studio/git/refs{/sha}","trees_url":"https://api.github.com/repos/magento-research/pwa-studio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/magento-research/pwa-studio/statuses/{sha}","languages_url":"https://api.github.com/repos/magento-research/pwa-studio/languages","stargazers_url":"https://api.github.com/repos/magento-research/pwa-studio/stargazers","contributors_url":"https://api.github.com/repos/magento-research/pwa-studio/contributors","subscribers_url":"https://api.github.com/repos/magento-research/pwa-studio/subscribers","subscription_url":"https://api.github.com/repos/magento-research/pwa-studio/subscription","commits_url":"https://api.github.com/repos/magento-research/pwa-studio/commits{/sha}","git_commits_url":"https://api.github.com/repos/magento-research/pwa-studio/git/commits{/sha}","comments_url":"https://api.github.com/repos/magento-research/pwa-studio/comments{/number}","issue_comment_url":"https://api.github.com/repos/magento-research/pwa-studio/issues/comments{/number}","contents_url":"https://api.github.com/repos/magento-research/pwa-studio/contents/{+path}","compare_url":"https://api.github.com/repos/magento-research/pwa-studio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/magento-research/pwa-studio/merges","archive_url":"https://api.github.com/repos/magento-research/pwa-studio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/magento-research/pwa-studio/downloads","issues_url":"https://api.github.com/repos/magento-research/pwa-studio/issues{/number}","pulls_url":"https://api.github.com/repos/magento-research/pwa-studio/pulls{/number}","milestones_url":"https://api.github.com/repos/magento-research/pwa-studio/milestones{/number}","notifications_url":"https://api.github.com/repos/magento-research/pwa-studio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/magento-research/pwa-studio/labels{/name}","releases_url":"https://api.github.com/repos/magento-research/pwa-studio/releases{/id}","deployments_url":"https://api.github.com/repos/magento-research/pwa-studio/deployments","created_at":"2018-06-13T17:35:05Z","updated_at":"2018-10-01T16:04:55Z","pushed_at":"2018-10-01T16:05:36Z","git_url":"git://github.com/magento-research/pwa-studio.git","ssh_url":"git@github.com:magento-research/pwa-studio.git","clone_url":"https://github.com/magento-research/pwa-studio.git","svn_url":"https://github.com/magento-research/pwa-studio","homepage":"http://pwastudio.io","size":8411,"stargazers_count":96,"watchers_count":96,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":35,"mirror_url":null,"archived":false,"open_issues_count":129,"license":{"key":"other","name":"NOASSERTION","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":35,"open_issues":129,"watchers":96,"default_branch":"release/2.0"}},"_links":{"self":{"href":"https://api.github.com/repos/magento-research/pwa-studio/pulls/293"},"html":{"href":"https://github.com/magento-research/pwa-studio/pull/293"},"issue":{"href":"https://api.github.com/repos/magento-research/pwa-studio/issues/293"},"comments":{"href":"https://api.github.com/repos/magento-research/pwa-studio/issues/293/comments"},"review_comments":{"href":"https://api.github.com/repos/magento-research/pwa-studio/pulls/293/comments"},"review_comment":{"href":"https://api.github.com/repos/magento-research/pwa-studio/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/magento-research/pwa-studio/pulls/293/commits"},"statuses":{"href":"https://api.github.com/repos/magento-research/pwa-studio/statuses/b1d9b2d8527e79d4b0fb561b54007a28be1f9220"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"zetlen"}}