diff --git a/.eslintignore b/.eslintignore index 552b0483bf..187484c626 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,3 +1,4 @@ /test/fixtures/**/* !/test/fixtures/factories/** !/test/fixtures/props/** +/test/output/transpiled/**/* diff --git a/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js b/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js index 36c2b89b03..31562618b1 100644 --- a/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js +++ b/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash 192d473345d7132542cc7b88318b7cc1 + * @relayHash 506dea36862f12d2e0edbc78524af987 */ /* eslint-disable */ @@ -86,6 +86,8 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { bodyHTML state submittedAt + lastEditedAt + url author { __typename login @@ -152,6 +154,7 @@ fragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThrea path position createdAt + lastEditedAt url ...emojiReactionsController_reactable __typename @@ -322,11 +325,18 @@ v10 = { v11 = { "kind": "ScalarField", "alias": null, - "name": "avatarUrl", + "name": "lastEditedAt", "args": null, "storageKey": null }, v12 = { + "kind": "ScalarField", + "alias": null, + "name": "avatarUrl", + "args": null, + "storageKey": null +}, +v13 = { "kind": "LinkedField", "alias": null, "name": "reactionGroups", @@ -369,14 +379,14 @@ v12 = { } ] }, -v13 = { +v14 = { "kind": "ScalarField", "alias": null, "name": "viewerCanReact", "args": null, "storageKey": null }, -v14 = [ +v15 = [ { "kind": "Variable", "name": "after", @@ -390,7 +400,7 @@ v14 = [ "type": "Int" } ], -v15 = [ +v16 = [ { "kind": "Variable", "name": "after", @@ -588,6 +598,8 @@ return { "args": null, "storageKey": null }, + (v11/*: any*/), + (v4/*: any*/), { "kind": "LinkedField", "alias": null, @@ -599,12 +611,12 @@ return { "selections": [ (v2/*: any*/), (v5/*: any*/), - (v11/*: any*/), + (v12/*: any*/), (v3/*: any*/) ] }, - (v12/*: any*/), (v13/*: any*/), + (v14/*: any*/), (v2/*: any*/) ] } @@ -626,7 +638,7 @@ return { "alias": null, "name": "reviewThreads", "storageKey": null, - "args": (v14/*: any*/), + "args": (v15/*: any*/), "concreteType": "PullRequestReviewThreadConnection", "plural": false, "selections": [ @@ -690,7 +702,7 @@ return { "alias": null, "name": "comments", "storageKey": null, - "args": (v15/*: any*/), + "args": (v16/*: any*/), "concreteType": "PullRequestReviewCommentConnection", "plural": false, "selections": [ @@ -731,7 +743,7 @@ return { "storageKey": null }, (v10/*: any*/), - (v13/*: any*/), + (v14/*: any*/), { "kind": "LinkedField", "alias": null, @@ -742,7 +754,7 @@ return { "plural": false, "selections": [ (v2/*: any*/), - (v11/*: any*/), + (v12/*: any*/), (v5/*: any*/), (v3/*: any*/) ] @@ -761,8 +773,9 @@ return { "args": null, "storageKey": null }, + (v11/*: any*/), (v4/*: any*/), - (v12/*: any*/), + (v13/*: any*/), (v2/*: any*/) ] } @@ -774,7 +787,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "comments", - "args": (v15/*: any*/), + "args": (v16/*: any*/), "handle": "connection", "key": "ReviewCommentsAccumulator_comments", "filters": null @@ -790,7 +803,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "reviewThreads", - "args": (v14/*: any*/), + "args": (v15/*: any*/), "handle": "connection", "key": "ReviewThreadsAccumulator_reviewThreads", "filters": null @@ -805,7 +818,7 @@ return { "operationKind": "query", "name": "aggregatedReviewsContainerRefetchQuery", "id": null, - "text": "query aggregatedReviewsContainerRefetchQuery(\n $prId: ID!\n $reviewCount: Int!\n $reviewCursor: String\n $threadCount: Int!\n $threadCursor: String\n $commentCount: Int!\n $commentCursor: String\n) {\n pullRequest: node(id: $prId) {\n __typename\n ...prCheckoutController_pullRequest\n ...aggregatedReviewsContainer_pullRequest_qdneZ\n id\n }\n}\n\nfragment prCheckoutController_pullRequest on PullRequest {\n number\n headRefName\n headRepository {\n name\n url\n sshUrl\n owner {\n __typename\n login\n id\n }\n id\n }\n}\n\nfragment aggregatedReviewsContainer_pullRequest_qdneZ on PullRequest {\n id\n ...reviewSummariesAccumulator_pullRequest_2zzc96\n ...reviewThreadsAccumulator_pullRequest_CKDvj\n}\n\nfragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest {\n url\n reviews(first: $reviewCount, after: $reviewCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n bodyHTML\n state\n submittedAt\n author {\n __typename\n login\n avatarUrl\n ... on Node {\n id\n }\n }\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment reviewThreadsAccumulator_pullRequest_CKDvj on PullRequest {\n url\n reviewThreads(first: $threadCount, after: $threadCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n isResolved\n resolvedBy {\n login\n id\n }\n viewerCanResolve\n viewerCanUnresolve\n ...reviewCommentsAccumulator_reviewThread_1VbUmL\n __typename\n }\n }\n }\n}\n\nfragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThread {\n id\n comments(first: $commentCount, after: $commentCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n isMinimized\n state\n viewerCanReact\n path\n position\n createdAt\n url\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n", + "text": "query aggregatedReviewsContainerRefetchQuery(\n $prId: ID!\n $reviewCount: Int!\n $reviewCursor: String\n $threadCount: Int!\n $threadCursor: String\n $commentCount: Int!\n $commentCursor: String\n) {\n pullRequest: node(id: $prId) {\n __typename\n ...prCheckoutController_pullRequest\n ...aggregatedReviewsContainer_pullRequest_qdneZ\n id\n }\n}\n\nfragment prCheckoutController_pullRequest on PullRequest {\n number\n headRefName\n headRepository {\n name\n url\n sshUrl\n owner {\n __typename\n login\n id\n }\n id\n }\n}\n\nfragment aggregatedReviewsContainer_pullRequest_qdneZ on PullRequest {\n id\n ...reviewSummariesAccumulator_pullRequest_2zzc96\n ...reviewThreadsAccumulator_pullRequest_CKDvj\n}\n\nfragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest {\n url\n reviews(first: $reviewCount, after: $reviewCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n bodyHTML\n state\n submittedAt\n lastEditedAt\n url\n author {\n __typename\n login\n avatarUrl\n ... on Node {\n id\n }\n }\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment reviewThreadsAccumulator_pullRequest_CKDvj on PullRequest {\n url\n reviewThreads(first: $threadCount, after: $threadCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n isResolved\n resolvedBy {\n login\n id\n }\n viewerCanResolve\n viewerCanUnresolve\n ...reviewCommentsAccumulator_reviewThread_1VbUmL\n __typename\n }\n }\n }\n}\n\nfragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThread {\n id\n comments(first: $commentCount, after: $commentCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n isMinimized\n state\n viewerCanReact\n path\n position\n createdAt\n lastEditedAt\n url\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n", "metadata": {} } }; diff --git a/lib/containers/__generated__/commentDecorationsContainerQuery.graphql.js b/lib/containers/__generated__/commentDecorationsContainerQuery.graphql.js index fdfeb1a497..65d9c9e5f8 100644 --- a/lib/containers/__generated__/commentDecorationsContainerQuery.graphql.js +++ b/lib/containers/__generated__/commentDecorationsContainerQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash f3382815c97b25306e67683ad4004e03 + * @relayHash 149f75a5dadb3940a285a60d8c3b0e71 */ /* eslint-disable */ @@ -119,6 +119,8 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { bodyHTML state submittedAt + lastEditedAt + url author { __typename login @@ -185,6 +187,7 @@ fragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThrea path position createdAt + lastEditedAt url ...emojiReactionsController_reactable __typename @@ -448,11 +451,18 @@ v16 = { v17 = { "kind": "ScalarField", "alias": null, - "name": "avatarUrl", + "name": "lastEditedAt", "args": null, "storageKey": null }, v18 = { + "kind": "ScalarField", + "alias": null, + "name": "avatarUrl", + "args": null, + "storageKey": null +}, +v19 = { "kind": "LinkedField", "alias": null, "name": "reactionGroups", @@ -489,14 +499,14 @@ v18 = { } ] }, -v19 = { +v20 = { "kind": "ScalarField", "alias": null, "name": "viewerCanReact", "args": null, "storageKey": null }, -v20 = [ +v21 = [ { "kind": "Variable", "name": "after", @@ -510,7 +520,7 @@ v20 = [ "type": "Int" } ], -v21 = [ +v22 = [ { "kind": "Variable", "name": "after", @@ -741,6 +751,8 @@ return { "args": null, "storageKey": null }, + (v17/*: any*/), + (v11/*: any*/), { "kind": "LinkedField", "alias": null, @@ -752,12 +764,12 @@ return { "selections": [ (v7/*: any*/), (v8/*: any*/), - (v17/*: any*/), + (v18/*: any*/), (v9/*: any*/) ] }, - (v18/*: any*/), (v19/*: any*/), + (v20/*: any*/), (v7/*: any*/) ] } @@ -779,7 +791,7 @@ return { "alias": null, "name": "reviewThreads", "storageKey": null, - "args": (v20/*: any*/), + "args": (v21/*: any*/), "concreteType": "PullRequestReviewThreadConnection", "plural": false, "selections": [ @@ -843,7 +855,7 @@ return { "alias": null, "name": "comments", "storageKey": null, - "args": (v21/*: any*/), + "args": (v22/*: any*/), "concreteType": "PullRequestReviewCommentConnection", "plural": false, "selections": [ @@ -884,7 +896,7 @@ return { "storageKey": null }, (v16/*: any*/), - (v19/*: any*/), + (v20/*: any*/), { "kind": "LinkedField", "alias": null, @@ -895,7 +907,7 @@ return { "plural": false, "selections": [ (v7/*: any*/), - (v17/*: any*/), + (v18/*: any*/), (v8/*: any*/), (v9/*: any*/) ] @@ -914,8 +926,9 @@ return { "args": null, "storageKey": null }, + (v17/*: any*/), (v11/*: any*/), - (v18/*: any*/), + (v19/*: any*/), (v7/*: any*/) ] } @@ -927,7 +940,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "comments", - "args": (v21/*: any*/), + "args": (v22/*: any*/), "handle": "connection", "key": "ReviewCommentsAccumulator_comments", "filters": null @@ -943,7 +956,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "reviewThreads", - "args": (v20/*: any*/), + "args": (v21/*: any*/), "handle": "connection", "key": "ReviewThreadsAccumulator_reviewThreads", "filters": null @@ -964,7 +977,7 @@ return { "operationKind": "query", "name": "commentDecorationsContainerQuery", "id": null, - "text": "query commentDecorationsContainerQuery(\n $headOwner: String!\n $headName: String!\n $headRef: String!\n $reviewCount: Int!\n $reviewCursor: String\n $threadCount: Int!\n $threadCursor: String\n $commentCount: Int!\n $commentCursor: String\n $first: Int!\n) {\n repository(owner: $headOwner, name: $headName) {\n ref(qualifiedName: $headRef) {\n associatedPullRequests(first: $first, states: [OPEN]) {\n totalCount\n nodes {\n number\n headRefOid\n ...commentDecorationsController_pullRequests\n ...aggregatedReviewsContainer_pullRequest_qdneZ\n id\n }\n }\n id\n }\n id\n }\n}\n\nfragment commentDecorationsController_pullRequests on PullRequest {\n number\n headRefName\n headRefOid\n headRepository {\n name\n owner {\n __typename\n login\n id\n }\n id\n }\n repository {\n name\n owner {\n __typename\n login\n id\n }\n id\n }\n}\n\nfragment aggregatedReviewsContainer_pullRequest_qdneZ on PullRequest {\n id\n ...reviewSummariesAccumulator_pullRequest_2zzc96\n ...reviewThreadsAccumulator_pullRequest_CKDvj\n}\n\nfragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest {\n url\n reviews(first: $reviewCount, after: $reviewCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n bodyHTML\n state\n submittedAt\n author {\n __typename\n login\n avatarUrl\n ... on Node {\n id\n }\n }\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment reviewThreadsAccumulator_pullRequest_CKDvj on PullRequest {\n url\n reviewThreads(first: $threadCount, after: $threadCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n isResolved\n resolvedBy {\n login\n id\n }\n viewerCanResolve\n viewerCanUnresolve\n ...reviewCommentsAccumulator_reviewThread_1VbUmL\n __typename\n }\n }\n }\n}\n\nfragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThread {\n id\n comments(first: $commentCount, after: $commentCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n isMinimized\n state\n viewerCanReact\n path\n position\n createdAt\n url\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n", + "text": "query commentDecorationsContainerQuery(\n $headOwner: String!\n $headName: String!\n $headRef: String!\n $reviewCount: Int!\n $reviewCursor: String\n $threadCount: Int!\n $threadCursor: String\n $commentCount: Int!\n $commentCursor: String\n $first: Int!\n) {\n repository(owner: $headOwner, name: $headName) {\n ref(qualifiedName: $headRef) {\n associatedPullRequests(first: $first, states: [OPEN]) {\n totalCount\n nodes {\n number\n headRefOid\n ...commentDecorationsController_pullRequests\n ...aggregatedReviewsContainer_pullRequest_qdneZ\n id\n }\n }\n id\n }\n id\n }\n}\n\nfragment commentDecorationsController_pullRequests on PullRequest {\n number\n headRefName\n headRefOid\n headRepository {\n name\n owner {\n __typename\n login\n id\n }\n id\n }\n repository {\n name\n owner {\n __typename\n login\n id\n }\n id\n }\n}\n\nfragment aggregatedReviewsContainer_pullRequest_qdneZ on PullRequest {\n id\n ...reviewSummariesAccumulator_pullRequest_2zzc96\n ...reviewThreadsAccumulator_pullRequest_CKDvj\n}\n\nfragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest {\n url\n reviews(first: $reviewCount, after: $reviewCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n bodyHTML\n state\n submittedAt\n lastEditedAt\n url\n author {\n __typename\n login\n avatarUrl\n ... on Node {\n id\n }\n }\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment reviewThreadsAccumulator_pullRequest_CKDvj on PullRequest {\n url\n reviewThreads(first: $threadCount, after: $threadCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n isResolved\n resolvedBy {\n login\n id\n }\n viewerCanResolve\n viewerCanUnresolve\n ...reviewCommentsAccumulator_reviewThread_1VbUmL\n __typename\n }\n }\n }\n}\n\nfragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThread {\n id\n comments(first: $commentCount, after: $commentCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n isMinimized\n state\n viewerCanReact\n path\n position\n createdAt\n lastEditedAt\n url\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n", "metadata": {} } }; diff --git a/lib/containers/__generated__/issueishDetailContainerQuery.graphql.js b/lib/containers/__generated__/issueishDetailContainerQuery.graphql.js index 137363001b..938d4f9cdc 100644 --- a/lib/containers/__generated__/issueishDetailContainerQuery.graphql.js +++ b/lib/containers/__generated__/issueishDetailContainerQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash 5bfca2d5db66bb24b86a6c3580b37bd0 + * @relayHash 7185b2a4ff3b97fb74d3ac01b242f815 */ /* eslint-disable */ @@ -562,6 +562,8 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { bodyHTML state submittedAt + lastEditedAt + url author { __typename login @@ -628,6 +630,7 @@ fragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThrea path position createdAt + lastEditedAt url ...emojiReactionsController_reactable __typename @@ -826,24 +829,31 @@ v12 = { v13 = { "kind": "ScalarField", "alias": null, - "name": "login", + "name": "lastEditedAt", "args": null, "storageKey": null }, v14 = { + "kind": "ScalarField", + "alias": null, + "name": "login", + "args": null, + "storageKey": null +}, +v15 = { "kind": "ScalarField", "alias": null, "name": "avatarUrl", "args": null, "storageKey": null }, -v15 = [ +v16 = [ (v3/*: any*/), - (v13/*: any*/), (v14/*: any*/), + (v15/*: any*/), (v4/*: any*/) ], -v16 = { +v17 = { "kind": "LinkedField", "alias": null, "name": "author", @@ -851,9 +861,9 @@ v16 = { "args": null, "concreteType": null, "plural": false, - "selections": (v15/*: any*/) + "selections": (v16/*: any*/) }, -v17 = [ +v18 = [ { "kind": "ScalarField", "alias": null, @@ -862,7 +872,7 @@ v17 = [ "storageKey": null } ], -v18 = { +v19 = { "kind": "LinkedField", "alias": null, "name": "reactionGroups", @@ -893,18 +903,18 @@ v18 = { "args": null, "concreteType": "ReactingUserConnection", "plural": false, - "selections": (v17/*: any*/) + "selections": (v18/*: any*/) } ] }, -v19 = { +v20 = { "kind": "ScalarField", "alias": null, "name": "viewerCanReact", "args": null, "storageKey": null }, -v20 = [ +v21 = [ { "kind": "Variable", "name": "after", @@ -918,11 +928,11 @@ v20 = [ "type": "Int" } ], -v21 = [ - (v13/*: any*/), +v22 = [ + (v14/*: any*/), (v4/*: any*/) ], -v22 = [ +v23 = [ { "kind": "Variable", "name": "after", @@ -936,20 +946,20 @@ v22 = [ "type": "Int" } ], -v23 = { +v24 = { "kind": "ScalarField", "alias": null, "name": "path", "args": null, "storageKey": null }, -v24 = [ +v25 = [ (v3/*: any*/), + (v15/*: any*/), (v14/*: any*/), - (v13/*: any*/), (v4/*: any*/) ], -v25 = { +v26 = { "kind": "LinkedField", "alias": null, "name": "author", @@ -957,35 +967,35 @@ v25 = { "args": null, "concreteType": null, "plural": false, - "selections": (v24/*: any*/) + "selections": (v25/*: any*/) }, -v26 = { +v27 = { "kind": "ScalarField", "alias": null, "name": "position", "args": null, "storageKey": null }, -v27 = { +v28 = { "kind": "ScalarField", "alias": null, "name": "createdAt", "args": null, "storageKey": null }, -v28 = { +v29 = { "kind": "ScalarField", "alias": null, "name": "name", "args": null, "storageKey": null }, -v29 = [ +v30 = [ (v3/*: any*/), - (v13/*: any*/), + (v14/*: any*/), (v4/*: any*/) ], -v30 = { +v31 = { "kind": "LinkedField", "alias": null, "name": "owner", @@ -993,23 +1003,23 @@ v30 = { "args": null, "concreteType": null, "plural": false, - "selections": (v29/*: any*/) + "selections": (v30/*: any*/) }, -v31 = { +v32 = { "kind": "ScalarField", "alias": null, "name": "title", "args": null, "storageKey": null }, -v32 = { +v33 = { "kind": "ScalarField", "alias": null, "name": "number", "args": null, "storageKey": null }, -v33 = { +v34 = { "kind": "LinkedField", "alias": null, "name": "author", @@ -1019,13 +1029,13 @@ v33 = { "plural": false, "selections": [ (v3/*: any*/), - (v13/*: any*/), (v14/*: any*/), + (v15/*: any*/), (v5/*: any*/), (v4/*: any*/) ] }, -v34 = [ +v35 = [ { "kind": "Variable", "name": "after", @@ -1039,7 +1049,7 @@ v34 = [ "type": "Int" } ], -v35 = { +v36 = { "kind": "LinkedField", "alias": null, "name": "pageInfo", @@ -1052,14 +1062,14 @@ v35 = { (v7/*: any*/) ] }, -v36 = { +v37 = { "kind": "ScalarField", "alias": null, "name": "isCrossRepository", "args": null, "storageKey": null }, -v37 = { +v38 = { "kind": "InlineFragment", "type": "CrossReferencedEvent", "selections": [ @@ -1070,7 +1080,7 @@ v37 = { "args": null, "storageKey": null }, - (v36/*: any*/), + (v37/*: any*/), { "kind": "LinkedField", "alias": null, @@ -1079,7 +1089,7 @@ v37 = { "args": null, "concreteType": null, "plural": false, - "selections": (v15/*: any*/) + "selections": (v16/*: any*/) }, { "kind": "LinkedField", @@ -1100,8 +1110,8 @@ v37 = { "concreteType": "Repository", "plural": false, "selections": [ - (v28/*: any*/), - (v30/*: any*/), + (v29/*: any*/), + (v31/*: any*/), (v4/*: any*/), { "kind": "ScalarField", @@ -1117,8 +1127,8 @@ v37 = { "kind": "InlineFragment", "type": "PullRequest", "selections": [ + (v33/*: any*/), (v32/*: any*/), - (v31/*: any*/), (v5/*: any*/), { "kind": "ScalarField", @@ -1133,8 +1143,8 @@ v37 = { "kind": "InlineFragment", "type": "Issue", "selections": [ + (v33/*: any*/), (v32/*: any*/), - (v31/*: any*/), (v5/*: any*/), { "kind": "ScalarField", @@ -1149,17 +1159,17 @@ v37 = { } ] }, -v38 = { +v39 = { "kind": "InlineFragment", "type": "IssueComment", "selections": [ - (v25/*: any*/), + (v26/*: any*/), (v11/*: any*/), - (v27/*: any*/), + (v28/*: any*/), (v5/*: any*/) ] }, -v39 = { +v40 = { "kind": "LinkedField", "alias": null, "name": "user", @@ -1167,16 +1177,16 @@ v39 = { "args": null, "concreteType": "User", "plural": false, - "selections": (v21/*: any*/) + "selections": (v22/*: any*/) }, -v40 = { +v41 = { "kind": "ScalarField", "alias": "sha", "name": "oid", "args": null, "storageKey": null }, -v41 = { +v42 = { "kind": "InlineFragment", "type": "Commit", "selections": [ @@ -1189,9 +1199,9 @@ v41 = { "concreteType": "GitActor", "plural": false, "selections": [ - (v28/*: any*/), - (v39/*: any*/), - (v14/*: any*/) + (v29/*: any*/), + (v40/*: any*/), + (v15/*: any*/) ] }, { @@ -1203,9 +1213,9 @@ v41 = { "concreteType": "GitActor", "plural": false, "selections": [ - (v28/*: any*/), - (v14/*: any*/), - (v39/*: any*/) + (v29/*: any*/), + (v15/*: any*/), + (v40/*: any*/) ] }, { @@ -1215,7 +1225,7 @@ v41 = { "args": null, "storageKey": null }, - (v40/*: any*/), + (v41/*: any*/), { "kind": "ScalarField", "alias": null, @@ -1239,7 +1249,7 @@ v41 = { } ] }, -v42 = [ +v43 = [ { "kind": "Variable", "name": "after", @@ -1253,7 +1263,7 @@ v42 = [ "type": "Int" } ], -v43 = [ +v44 = [ { "kind": "ScalarField", "alias": null, @@ -1263,7 +1273,7 @@ v43 = [ }, (v4/*: any*/) ], -v44 = { +v45 = { "kind": "LinkedField", "alias": null, "name": "commit", @@ -1271,9 +1281,9 @@ v44 = { "args": null, "concreteType": "Commit", "plural": false, - "selections": (v43/*: any*/) + "selections": (v44/*: any*/) }, -v45 = { +v46 = { "kind": "LinkedField", "alias": null, "name": "actor", @@ -1281,7 +1291,7 @@ v45 = { "args": null, "concreteType": null, "plural": false, - "selections": (v24/*: any*/) + "selections": (v25/*: any*/) }; return { "kind": "Request", @@ -1470,9 +1480,11 @@ return { "args": null, "storageKey": null }, - (v16/*: any*/), - (v18/*: any*/), + (v13/*: any*/), + (v5/*: any*/), + (v17/*: any*/), (v19/*: any*/), + (v20/*: any*/), (v3/*: any*/) ] } @@ -1494,7 +1506,7 @@ return { "alias": null, "name": "reviewThreads", "storageKey": null, - "args": (v20/*: any*/), + "args": (v21/*: any*/), "concreteType": "PullRequestReviewThreadConnection", "plural": false, "selections": [ @@ -1534,7 +1546,7 @@ return { "args": null, "concreteType": "User", "plural": false, - "selections": (v21/*: any*/) + "selections": (v22/*: any*/) }, { "kind": "ScalarField", @@ -1555,7 +1567,7 @@ return { "alias": null, "name": "comments", "storageKey": null, - "args": (v22/*: any*/), + "args": (v23/*: any*/), "concreteType": "PullRequestReviewCommentConnection", "plural": false, "selections": [ @@ -1579,7 +1591,7 @@ return { "concreteType": "PullRequestReviewComment", "plural": false, "selections": [ - (v23/*: any*/), + (v24/*: any*/), (v4/*: any*/), (v11/*: any*/), { @@ -1590,12 +1602,13 @@ return { "storageKey": null }, (v12/*: any*/), - (v19/*: any*/), - (v25/*: any*/), + (v20/*: any*/), (v26/*: any*/), (v27/*: any*/), + (v28/*: any*/), + (v13/*: any*/), (v5/*: any*/), - (v18/*: any*/), + (v19/*: any*/), (v3/*: any*/) ] } @@ -1607,7 +1620,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "comments", - "args": (v22/*: any*/), + "args": (v23/*: any*/), "handle": "connection", "key": "ReviewCommentsAccumulator_comments", "filters": null @@ -1623,7 +1636,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "reviewThreads", - "args": (v20/*: any*/), + "args": (v21/*: any*/), "handle": "connection", "key": "ReviewThreadsAccumulator_reviewThreads", "filters": null @@ -1633,8 +1646,8 @@ return { ] }, (v4/*: any*/), - (v28/*: any*/), - (v30/*: any*/), + (v29/*: any*/), + (v31/*: any*/), { "kind": "LinkedField", "alias": "issue", @@ -1651,21 +1664,21 @@ return { "type": "Issue", "selections": [ (v12/*: any*/), - (v31/*: any*/), - (v5/*: any*/), (v32/*: any*/), - (v11/*: any*/), + (v5/*: any*/), (v33/*: any*/), + (v11/*: any*/), + (v34/*: any*/), { "kind": "LinkedField", "alias": null, "name": "timeline", "storageKey": null, - "args": (v34/*: any*/), + "args": (v35/*: any*/), "concreteType": "IssueTimelineConnection", "plural": false, "selections": [ - (v35/*: any*/), + (v36/*: any*/), { "kind": "LinkedField", "alias": null, @@ -1687,9 +1700,9 @@ return { "selections": [ (v3/*: any*/), (v4/*: any*/), - (v37/*: any*/), (v38/*: any*/), - (v41/*: any*/) + (v39/*: any*/), + (v42/*: any*/) ] } ] @@ -1700,13 +1713,13 @@ return { "kind": "LinkedHandle", "alias": null, "name": "timeline", - "args": (v34/*: any*/), + "args": (v35/*: any*/), "handle": "connection", "key": "IssueTimelineController_timeline", "filters": null }, - (v18/*: any*/), - (v19/*: any*/) + (v19/*: any*/), + (v20/*: any*/) ] } ] @@ -1727,7 +1740,7 @@ return { "type": "PullRequest", "selections": [ (v11/*: any*/), - (v31/*: any*/), + (v32/*: any*/), { "kind": "ScalarField", "alias": null, @@ -1744,7 +1757,7 @@ return { "concreteType": "Repository", "plural": false, "selections": [ - (v28/*: any*/), + (v29/*: any*/), (v5/*: any*/), { "kind": "ScalarField", @@ -1753,12 +1766,12 @@ return { "args": null, "storageKey": null }, - (v30/*: any*/), + (v31/*: any*/), (v4/*: any*/) ] }, (v5/*: any*/), - (v36/*: any*/), + (v37/*: any*/), { "kind": "ScalarField", "alias": null, @@ -1767,7 +1780,7 @@ return { "storageKey": null }, (v12/*: any*/), - (v32/*: any*/), + (v33/*: any*/), { "kind": "ScalarField", "alias": null, @@ -1783,19 +1796,19 @@ return { "args": null, "concreteType": "PullRequestCommitConnection", "plural": false, - "selections": (v17/*: any*/) + "selections": (v18/*: any*/) }, - (v33/*: any*/), + (v34/*: any*/), { "kind": "LinkedField", "alias": null, "name": "commits", "storageKey": null, - "args": (v42/*: any*/), + "args": (v43/*: any*/), "concreteType": "PullRequestCommitConnection", "plural": false, "selections": [ - (v35/*: any*/), + (v36/*: any*/), { "kind": "LinkedField", "alias": null, @@ -1834,8 +1847,8 @@ return { "concreteType": "GitActor", "plural": false, "selections": [ - (v14/*: any*/), - (v28/*: any*/), + (v15/*: any*/), + (v29/*: any*/), { "kind": "ScalarField", "alias": null, @@ -1866,7 +1879,7 @@ return { "args": null, "storageKey": null }, - (v40/*: any*/), + (v41/*: any*/), (v5/*: any*/) ] }, @@ -1882,7 +1895,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "commits", - "args": (v42/*: any*/), + "args": (v43/*: any*/), "handle": "connection", "key": "prCommitsView_commits", "filters": null @@ -1995,7 +2008,7 @@ return { "args": null, "concreteType": null, "plural": false, - "selections": (v29/*: any*/) + "selections": (v30/*: any*/) }, { "kind": "LinkedField", @@ -2006,7 +2019,7 @@ return { "concreteType": "Repository", "plural": false, "selections": [ - (v30/*: any*/), + (v31/*: any*/), (v4/*: any*/) ] }, @@ -2015,11 +2028,11 @@ return { "alias": null, "name": "timeline", "storageKey": null, - "args": (v34/*: any*/), + "args": (v35/*: any*/), "concreteType": "PullRequestTimelineConnection", "plural": false, "selections": [ - (v35/*: any*/), + (v36/*: any*/), { "kind": "LinkedField", "alias": null, @@ -2041,12 +2054,12 @@ return { "selections": [ (v3/*: any*/), (v4/*: any*/), - (v37/*: any*/), + (v38/*: any*/), { "kind": "InlineFragment", "type": "CommitCommentThread", "selections": [ - (v44/*: any*/), + (v45/*: any*/), { "kind": "LinkedField", "alias": null, @@ -2082,12 +2095,12 @@ return { "plural": false, "selections": [ (v4/*: any*/), - (v16/*: any*/), - (v44/*: any*/), + (v17/*: any*/), + (v45/*: any*/), (v11/*: any*/), - (v27/*: any*/), - (v23/*: any*/), - (v26/*: any*/) + (v28/*: any*/), + (v24/*: any*/), + (v27/*: any*/) ] } ] @@ -2100,7 +2113,7 @@ return { "kind": "InlineFragment", "type": "HeadRefForcePushedEvent", "selections": [ - (v45/*: any*/), + (v46/*: any*/), { "kind": "LinkedField", "alias": null, @@ -2109,7 +2122,7 @@ return { "args": null, "concreteType": "Commit", "plural": false, - "selections": (v43/*: any*/) + "selections": (v44/*: any*/) }, { "kind": "LinkedField", @@ -2119,17 +2132,17 @@ return { "args": null, "concreteType": "Commit", "plural": false, - "selections": (v43/*: any*/) + "selections": (v44/*: any*/) }, - (v27/*: any*/) + (v28/*: any*/) ] }, { "kind": "InlineFragment", "type": "MergedEvent", "selections": [ + (v46/*: any*/), (v45/*: any*/), - (v44/*: any*/), { "kind": "ScalarField", "alias": null, @@ -2137,11 +2150,11 @@ return { "args": null, "storageKey": null }, - (v27/*: any*/) + (v28/*: any*/) ] }, - (v38/*: any*/), - (v41/*: any*/) + (v39/*: any*/), + (v42/*: any*/) ] } ] @@ -2152,13 +2165,13 @@ return { "kind": "LinkedHandle", "alias": null, "name": "timeline", - "args": (v34/*: any*/), + "args": (v35/*: any*/), "handle": "connection", "key": "prTimelineContainer_timeline", "filters": null }, - (v18/*: any*/), - (v19/*: any*/) + (v19/*: any*/), + (v20/*: any*/) ] } ] @@ -2171,7 +2184,7 @@ return { "operationKind": "query", "name": "issueishDetailContainerQuery", "id": null, - "text": "query issueishDetailContainerQuery(\n $repoOwner: String!\n $repoName: String!\n $issueishNumber: Int!\n $timelineCount: Int!\n $timelineCursor: String\n $commitCount: Int!\n $commitCursor: String\n $reviewCount: Int!\n $reviewCursor: String\n $threadCount: Int!\n $threadCursor: String\n $commentCount: Int!\n $commentCursor: String\n) {\n repository(owner: $repoOwner, name: $repoName) {\n issueish: issueOrPullRequest(number: $issueishNumber) {\n __typename\n ... on PullRequest {\n ...aggregatedReviewsContainer_pullRequest_qdneZ\n }\n ... on Node {\n id\n }\n }\n ...issueishDetailController_repository_1mXVvq\n id\n }\n}\n\nfragment aggregatedReviewsContainer_pullRequest_qdneZ on PullRequest {\n id\n ...reviewSummariesAccumulator_pullRequest_2zzc96\n ...reviewThreadsAccumulator_pullRequest_CKDvj\n}\n\nfragment issueishDetailController_repository_1mXVvq on Repository {\n ...issueDetailView_repository\n ...prCheckoutController_repository\n ...prDetailView_repository\n name\n owner {\n __typename\n login\n id\n }\n issue: issueOrPullRequest(number: $issueishNumber) {\n __typename\n ... on Issue {\n title\n number\n ...issueDetailView_issue_3D8CP9\n }\n ... on Node {\n id\n }\n }\n pullRequest: issueOrPullRequest(number: $issueishNumber) {\n __typename\n ... on PullRequest {\n title\n number\n ...prCheckoutController_pullRequest\n ...prDetailView_pullRequest_1TnD8A\n }\n ... on Node {\n id\n }\n }\n}\n\nfragment issueDetailView_repository on Repository {\n id\n name\n owner {\n __typename\n login\n id\n }\n}\n\nfragment prCheckoutController_repository on Repository {\n name\n owner {\n __typename\n login\n id\n }\n}\n\nfragment prDetailView_repository on Repository {\n id\n name\n owner {\n __typename\n login\n id\n }\n}\n\nfragment issueDetailView_issue_3D8CP9 on Issue {\n id\n __typename\n url\n state\n number\n title\n bodyHTML\n author {\n __typename\n login\n avatarUrl\n url\n ... on Node {\n id\n }\n }\n ...issueTimelineController_issue_3D8CP9\n ...emojiReactionsView_reactable\n}\n\nfragment prCheckoutController_pullRequest on PullRequest {\n number\n headRefName\n headRepository {\n name\n url\n sshUrl\n owner {\n __typename\n login\n id\n }\n id\n }\n}\n\nfragment prDetailView_pullRequest_1TnD8A on PullRequest {\n id\n __typename\n url\n isCrossRepository\n changedFiles\n state\n number\n title\n bodyHTML\n baseRefName\n headRefName\n countedCommits: commits {\n totalCount\n }\n author {\n __typename\n login\n avatarUrl\n url\n ... on Node {\n id\n }\n }\n ...prCommitsView_pullRequest_38TpXw\n ...prStatusesView_pullRequest\n ...prTimelineController_pullRequest_3D8CP9\n ...emojiReactionsController_reactable\n}\n\nfragment prCommitsView_pullRequest_38TpXw on PullRequest {\n url\n commits(first: $commitCount, after: $commitCursor) {\n pageInfo {\n endCursor\n hasNextPage\n }\n edges {\n cursor\n node {\n commit {\n id\n ...prCommitView_item\n }\n id\n __typename\n }\n }\n }\n}\n\nfragment prStatusesView_pullRequest on PullRequest {\n id\n recentCommits: commits(last: 1) {\n edges {\n node {\n commit {\n status {\n state\n contexts {\n id\n state\n ...prStatusContextView_context\n }\n id\n }\n id\n }\n id\n }\n }\n }\n}\n\nfragment prTimelineController_pullRequest_3D8CP9 on PullRequest {\n url\n ...headRefForcePushedEventView_issueish\n timeline(first: $timelineCount, after: $timelineCursor) {\n pageInfo {\n endCursor\n hasNextPage\n }\n edges {\n cursor\n node {\n __typename\n ...commitsView_nodes\n ...issueCommentView_item\n ...mergedEventView_item\n ...headRefForcePushedEventView_item\n ...commitCommentThreadView_item\n ...crossReferencedEventsView_nodes\n ... on Node {\n id\n }\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n\nfragment headRefForcePushedEventView_issueish on PullRequest {\n headRefName\n headRepositoryOwner {\n __typename\n login\n id\n }\n repository {\n owner {\n __typename\n login\n id\n }\n id\n }\n}\n\nfragment commitsView_nodes on Commit {\n id\n author {\n name\n user {\n login\n id\n }\n }\n ...commitView_commit\n}\n\nfragment issueCommentView_item on IssueComment {\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n createdAt\n url\n}\n\nfragment mergedEventView_item on MergedEvent {\n actor {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n commit {\n oid\n id\n }\n mergeRefName\n createdAt\n}\n\nfragment headRefForcePushedEventView_item on HeadRefForcePushedEvent {\n actor {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n beforeCommit {\n oid\n id\n }\n afterCommit {\n oid\n id\n }\n createdAt\n}\n\nfragment commitCommentThreadView_item on CommitCommentThread {\n commit {\n oid\n id\n }\n comments(first: 100) {\n edges {\n node {\n id\n ...commitCommentView_item\n }\n }\n }\n}\n\nfragment crossReferencedEventsView_nodes on CrossReferencedEvent {\n id\n referencedAt\n isCrossRepository\n actor {\n __typename\n login\n avatarUrl\n ... on Node {\n id\n }\n }\n source {\n __typename\n ... on RepositoryNode {\n repository {\n name\n owner {\n __typename\n login\n id\n }\n id\n }\n }\n ... on Node {\n id\n }\n }\n ...crossReferencedEventView_item\n}\n\nfragment crossReferencedEventView_item on CrossReferencedEvent {\n id\n isCrossRepository\n source {\n __typename\n ... on Issue {\n number\n title\n url\n issueState: state\n }\n ... on PullRequest {\n number\n title\n url\n prState: state\n }\n ... on RepositoryNode {\n repository {\n name\n isPrivate\n owner {\n __typename\n login\n id\n }\n id\n }\n }\n ... on Node {\n id\n }\n }\n}\n\nfragment commitCommentView_item on CommitComment {\n author {\n __typename\n login\n avatarUrl\n ... on Node {\n id\n }\n }\n commit {\n oid\n id\n }\n bodyHTML\n createdAt\n path\n position\n}\n\nfragment commitView_commit on Commit {\n author {\n name\n avatarUrl\n user {\n login\n id\n }\n }\n committer {\n name\n avatarUrl\n user {\n login\n id\n }\n }\n authoredByCommitter\n sha: oid\n message\n messageHeadlineHTML\n commitUrl\n}\n\nfragment prStatusContextView_context on StatusContext {\n context\n description\n state\n targetUrl\n}\n\nfragment prCommitView_item on Commit {\n committer {\n avatarUrl\n name\n date\n }\n messageHeadline\n messageBody\n shortSha: abbreviatedOid\n sha: oid\n url\n}\n\nfragment issueTimelineController_issue_3D8CP9 on Issue {\n url\n timeline(first: $timelineCount, after: $timelineCursor) {\n pageInfo {\n endCursor\n hasNextPage\n }\n edges {\n cursor\n node {\n __typename\n ...commitsView_nodes\n ...issueCommentView_item\n ...crossReferencedEventsView_nodes\n ... on Node {\n id\n }\n }\n }\n }\n}\n\nfragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest {\n url\n reviews(first: $reviewCount, after: $reviewCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n bodyHTML\n state\n submittedAt\n author {\n __typename\n login\n avatarUrl\n ... on Node {\n id\n }\n }\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment reviewThreadsAccumulator_pullRequest_CKDvj on PullRequest {\n url\n reviewThreads(first: $threadCount, after: $threadCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n isResolved\n resolvedBy {\n login\n id\n }\n viewerCanResolve\n viewerCanUnresolve\n ...reviewCommentsAccumulator_reviewThread_1VbUmL\n __typename\n }\n }\n }\n}\n\nfragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThread {\n id\n comments(first: $commentCount, after: $commentCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n isMinimized\n state\n viewerCanReact\n path\n position\n createdAt\n url\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n", + "text": "query issueishDetailContainerQuery(\n $repoOwner: String!\n $repoName: String!\n $issueishNumber: Int!\n $timelineCount: Int!\n $timelineCursor: String\n $commitCount: Int!\n $commitCursor: String\n $reviewCount: Int!\n $reviewCursor: String\n $threadCount: Int!\n $threadCursor: String\n $commentCount: Int!\n $commentCursor: String\n) {\n repository(owner: $repoOwner, name: $repoName) {\n issueish: issueOrPullRequest(number: $issueishNumber) {\n __typename\n ... on PullRequest {\n ...aggregatedReviewsContainer_pullRequest_qdneZ\n }\n ... on Node {\n id\n }\n }\n ...issueishDetailController_repository_1mXVvq\n id\n }\n}\n\nfragment aggregatedReviewsContainer_pullRequest_qdneZ on PullRequest {\n id\n ...reviewSummariesAccumulator_pullRequest_2zzc96\n ...reviewThreadsAccumulator_pullRequest_CKDvj\n}\n\nfragment issueishDetailController_repository_1mXVvq on Repository {\n ...issueDetailView_repository\n ...prCheckoutController_repository\n ...prDetailView_repository\n name\n owner {\n __typename\n login\n id\n }\n issue: issueOrPullRequest(number: $issueishNumber) {\n __typename\n ... on Issue {\n title\n number\n ...issueDetailView_issue_3D8CP9\n }\n ... on Node {\n id\n }\n }\n pullRequest: issueOrPullRequest(number: $issueishNumber) {\n __typename\n ... on PullRequest {\n title\n number\n ...prCheckoutController_pullRequest\n ...prDetailView_pullRequest_1TnD8A\n }\n ... on Node {\n id\n }\n }\n}\n\nfragment issueDetailView_repository on Repository {\n id\n name\n owner {\n __typename\n login\n id\n }\n}\n\nfragment prCheckoutController_repository on Repository {\n name\n owner {\n __typename\n login\n id\n }\n}\n\nfragment prDetailView_repository on Repository {\n id\n name\n owner {\n __typename\n login\n id\n }\n}\n\nfragment issueDetailView_issue_3D8CP9 on Issue {\n id\n __typename\n url\n state\n number\n title\n bodyHTML\n author {\n __typename\n login\n avatarUrl\n url\n ... on Node {\n id\n }\n }\n ...issueTimelineController_issue_3D8CP9\n ...emojiReactionsView_reactable\n}\n\nfragment prCheckoutController_pullRequest on PullRequest {\n number\n headRefName\n headRepository {\n name\n url\n sshUrl\n owner {\n __typename\n login\n id\n }\n id\n }\n}\n\nfragment prDetailView_pullRequest_1TnD8A on PullRequest {\n id\n __typename\n url\n isCrossRepository\n changedFiles\n state\n number\n title\n bodyHTML\n baseRefName\n headRefName\n countedCommits: commits {\n totalCount\n }\n author {\n __typename\n login\n avatarUrl\n url\n ... on Node {\n id\n }\n }\n ...prCommitsView_pullRequest_38TpXw\n ...prStatusesView_pullRequest\n ...prTimelineController_pullRequest_3D8CP9\n ...emojiReactionsController_reactable\n}\n\nfragment prCommitsView_pullRequest_38TpXw on PullRequest {\n url\n commits(first: $commitCount, after: $commitCursor) {\n pageInfo {\n endCursor\n hasNextPage\n }\n edges {\n cursor\n node {\n commit {\n id\n ...prCommitView_item\n }\n id\n __typename\n }\n }\n }\n}\n\nfragment prStatusesView_pullRequest on PullRequest {\n id\n recentCommits: commits(last: 1) {\n edges {\n node {\n commit {\n status {\n state\n contexts {\n id\n state\n ...prStatusContextView_context\n }\n id\n }\n id\n }\n id\n }\n }\n }\n}\n\nfragment prTimelineController_pullRequest_3D8CP9 on PullRequest {\n url\n ...headRefForcePushedEventView_issueish\n timeline(first: $timelineCount, after: $timelineCursor) {\n pageInfo {\n endCursor\n hasNextPage\n }\n edges {\n cursor\n node {\n __typename\n ...commitsView_nodes\n ...issueCommentView_item\n ...mergedEventView_item\n ...headRefForcePushedEventView_item\n ...commitCommentThreadView_item\n ...crossReferencedEventsView_nodes\n ... on Node {\n id\n }\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n\nfragment headRefForcePushedEventView_issueish on PullRequest {\n headRefName\n headRepositoryOwner {\n __typename\n login\n id\n }\n repository {\n owner {\n __typename\n login\n id\n }\n id\n }\n}\n\nfragment commitsView_nodes on Commit {\n id\n author {\n name\n user {\n login\n id\n }\n }\n ...commitView_commit\n}\n\nfragment issueCommentView_item on IssueComment {\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n createdAt\n url\n}\n\nfragment mergedEventView_item on MergedEvent {\n actor {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n commit {\n oid\n id\n }\n mergeRefName\n createdAt\n}\n\nfragment headRefForcePushedEventView_item on HeadRefForcePushedEvent {\n actor {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n beforeCommit {\n oid\n id\n }\n afterCommit {\n oid\n id\n }\n createdAt\n}\n\nfragment commitCommentThreadView_item on CommitCommentThread {\n commit {\n oid\n id\n }\n comments(first: 100) {\n edges {\n node {\n id\n ...commitCommentView_item\n }\n }\n }\n}\n\nfragment crossReferencedEventsView_nodes on CrossReferencedEvent {\n id\n referencedAt\n isCrossRepository\n actor {\n __typename\n login\n avatarUrl\n ... on Node {\n id\n }\n }\n source {\n __typename\n ... on RepositoryNode {\n repository {\n name\n owner {\n __typename\n login\n id\n }\n id\n }\n }\n ... on Node {\n id\n }\n }\n ...crossReferencedEventView_item\n}\n\nfragment crossReferencedEventView_item on CrossReferencedEvent {\n id\n isCrossRepository\n source {\n __typename\n ... on Issue {\n number\n title\n url\n issueState: state\n }\n ... on PullRequest {\n number\n title\n url\n prState: state\n }\n ... on RepositoryNode {\n repository {\n name\n isPrivate\n owner {\n __typename\n login\n id\n }\n id\n }\n }\n ... on Node {\n id\n }\n }\n}\n\nfragment commitCommentView_item on CommitComment {\n author {\n __typename\n login\n avatarUrl\n ... on Node {\n id\n }\n }\n commit {\n oid\n id\n }\n bodyHTML\n createdAt\n path\n position\n}\n\nfragment commitView_commit on Commit {\n author {\n name\n avatarUrl\n user {\n login\n id\n }\n }\n committer {\n name\n avatarUrl\n user {\n login\n id\n }\n }\n authoredByCommitter\n sha: oid\n message\n messageHeadlineHTML\n commitUrl\n}\n\nfragment prStatusContextView_context on StatusContext {\n context\n description\n state\n targetUrl\n}\n\nfragment prCommitView_item on Commit {\n committer {\n avatarUrl\n name\n date\n }\n messageHeadline\n messageBody\n shortSha: abbreviatedOid\n sha: oid\n url\n}\n\nfragment issueTimelineController_issue_3D8CP9 on Issue {\n url\n timeline(first: $timelineCount, after: $timelineCursor) {\n pageInfo {\n endCursor\n hasNextPage\n }\n edges {\n cursor\n node {\n __typename\n ...commitsView_nodes\n ...issueCommentView_item\n ...crossReferencedEventsView_nodes\n ... on Node {\n id\n }\n }\n }\n }\n}\n\nfragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest {\n url\n reviews(first: $reviewCount, after: $reviewCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n bodyHTML\n state\n submittedAt\n lastEditedAt\n url\n author {\n __typename\n login\n avatarUrl\n ... on Node {\n id\n }\n }\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment reviewThreadsAccumulator_pullRequest_CKDvj on PullRequest {\n url\n reviewThreads(first: $threadCount, after: $threadCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n isResolved\n resolvedBy {\n login\n id\n }\n viewerCanResolve\n viewerCanUnresolve\n ...reviewCommentsAccumulator_reviewThread_1VbUmL\n __typename\n }\n }\n }\n}\n\nfragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThread {\n id\n comments(first: $commentCount, after: $commentCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n isMinimized\n state\n viewerCanReact\n path\n position\n createdAt\n lastEditedAt\n url\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n", "metadata": {} } }; diff --git a/lib/containers/__generated__/reviewsContainerQuery.graphql.js b/lib/containers/__generated__/reviewsContainerQuery.graphql.js index 3250f39226..ecdb60375c 100644 --- a/lib/containers/__generated__/reviewsContainerQuery.graphql.js +++ b/lib/containers/__generated__/reviewsContainerQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash 355ceb5683604e00779a908b661ad662 + * @relayHash 5cd00052ea5dd9b378ca9864c9d5a7fb */ /* eslint-disable */ @@ -122,6 +122,8 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { bodyHTML state submittedAt + lastEditedAt + url author { __typename login @@ -188,6 +190,7 @@ fragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThrea path position createdAt + lastEditedAt url ...emojiReactionsController_reactable __typename @@ -421,11 +424,18 @@ v14 = { v15 = { "kind": "ScalarField", "alias": null, - "name": "avatarUrl", + "name": "lastEditedAt", "args": null, "storageKey": null }, v16 = { + "kind": "ScalarField", + "alias": null, + "name": "avatarUrl", + "args": null, + "storageKey": null +}, +v17 = { "kind": "LinkedField", "alias": null, "name": "reactionGroups", @@ -468,14 +478,14 @@ v16 = { } ] }, -v17 = { +v18 = { "kind": "ScalarField", "alias": null, "name": "viewerCanReact", "args": null, "storageKey": null }, -v18 = [ +v19 = [ { "kind": "Variable", "name": "after", @@ -489,7 +499,7 @@ v18 = [ "type": "Int" } ], -v19 = [ +v20 = [ { "kind": "Variable", "name": "after", @@ -672,6 +682,8 @@ return { "args": null, "storageKey": null }, + (v15/*: any*/), + (v9/*: any*/), { "kind": "LinkedField", "alias": null, @@ -683,12 +695,12 @@ return { "selections": [ (v5/*: any*/), (v6/*: any*/), - (v15/*: any*/), + (v16/*: any*/), (v7/*: any*/) ] }, - (v16/*: any*/), (v17/*: any*/), + (v18/*: any*/), (v5/*: any*/) ] } @@ -710,7 +722,7 @@ return { "alias": null, "name": "reviewThreads", "storageKey": null, - "args": (v18/*: any*/), + "args": (v19/*: any*/), "concreteType": "PullRequestReviewThreadConnection", "plural": false, "selections": [ @@ -774,7 +786,7 @@ return { "alias": null, "name": "comments", "storageKey": null, - "args": (v19/*: any*/), + "args": (v20/*: any*/), "concreteType": "PullRequestReviewCommentConnection", "plural": false, "selections": [ @@ -815,7 +827,7 @@ return { "storageKey": null }, (v14/*: any*/), - (v17/*: any*/), + (v18/*: any*/), { "kind": "LinkedField", "alias": null, @@ -826,7 +838,7 @@ return { "plural": false, "selections": [ (v5/*: any*/), - (v15/*: any*/), + (v16/*: any*/), (v6/*: any*/), (v7/*: any*/) ] @@ -845,8 +857,9 @@ return { "args": null, "storageKey": null }, + (v15/*: any*/), (v9/*: any*/), - (v16/*: any*/), + (v17/*: any*/), (v5/*: any*/) ] } @@ -858,7 +871,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "comments", - "args": (v19/*: any*/), + "args": (v20/*: any*/), "handle": "connection", "key": "ReviewCommentsAccumulator_comments", "filters": null @@ -874,7 +887,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "reviewThreads", - "args": (v18/*: any*/), + "args": (v19/*: any*/), "handle": "connection", "key": "ReviewThreadsAccumulator_reviewThreads", "filters": null @@ -931,7 +944,7 @@ return { "selections": [ (v7/*: any*/), (v6/*: any*/), - (v15/*: any*/) + (v16/*: any*/) ] } ] @@ -940,7 +953,7 @@ return { "operationKind": "query", "name": "reviewsContainerQuery", "id": null, - "text": "query reviewsContainerQuery(\n $repoOwner: String!\n $repoName: String!\n $prNumber: Int!\n $reviewCount: Int!\n $reviewCursor: String\n $threadCount: Int!\n $threadCursor: String\n $commentCount: Int!\n $commentCursor: String\n) {\n repository(owner: $repoOwner, name: $repoName) {\n ...reviewsController_repository\n pullRequest(number: $prNumber) {\n headRefOid\n ...aggregatedReviewsContainer_pullRequest_qdneZ\n ...reviewsController_pullRequest\n id\n }\n id\n }\n viewer {\n ...reviewsController_viewer\n id\n }\n}\n\nfragment reviewsController_repository on Repository {\n ...prCheckoutController_repository\n}\n\nfragment aggregatedReviewsContainer_pullRequest_qdneZ on PullRequest {\n id\n ...reviewSummariesAccumulator_pullRequest_2zzc96\n ...reviewThreadsAccumulator_pullRequest_CKDvj\n}\n\nfragment reviewsController_pullRequest on PullRequest {\n id\n ...prCheckoutController_pullRequest\n}\n\nfragment reviewsController_viewer on User {\n id\n login\n avatarUrl\n}\n\nfragment prCheckoutController_pullRequest on PullRequest {\n number\n headRefName\n headRepository {\n name\n url\n sshUrl\n owner {\n __typename\n login\n id\n }\n id\n }\n}\n\nfragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest {\n url\n reviews(first: $reviewCount, after: $reviewCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n bodyHTML\n state\n submittedAt\n author {\n __typename\n login\n avatarUrl\n ... on Node {\n id\n }\n }\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment reviewThreadsAccumulator_pullRequest_CKDvj on PullRequest {\n url\n reviewThreads(first: $threadCount, after: $threadCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n isResolved\n resolvedBy {\n login\n id\n }\n viewerCanResolve\n viewerCanUnresolve\n ...reviewCommentsAccumulator_reviewThread_1VbUmL\n __typename\n }\n }\n }\n}\n\nfragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThread {\n id\n comments(first: $commentCount, after: $commentCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n isMinimized\n state\n viewerCanReact\n path\n position\n createdAt\n url\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n\nfragment prCheckoutController_repository on Repository {\n name\n owner {\n __typename\n login\n id\n }\n}\n", + "text": "query reviewsContainerQuery(\n $repoOwner: String!\n $repoName: String!\n $prNumber: Int!\n $reviewCount: Int!\n $reviewCursor: String\n $threadCount: Int!\n $threadCursor: String\n $commentCount: Int!\n $commentCursor: String\n) {\n repository(owner: $repoOwner, name: $repoName) {\n ...reviewsController_repository\n pullRequest(number: $prNumber) {\n headRefOid\n ...aggregatedReviewsContainer_pullRequest_qdneZ\n ...reviewsController_pullRequest\n id\n }\n id\n }\n viewer {\n ...reviewsController_viewer\n id\n }\n}\n\nfragment reviewsController_repository on Repository {\n ...prCheckoutController_repository\n}\n\nfragment aggregatedReviewsContainer_pullRequest_qdneZ on PullRequest {\n id\n ...reviewSummariesAccumulator_pullRequest_2zzc96\n ...reviewThreadsAccumulator_pullRequest_CKDvj\n}\n\nfragment reviewsController_pullRequest on PullRequest {\n id\n ...prCheckoutController_pullRequest\n}\n\nfragment reviewsController_viewer on User {\n id\n login\n avatarUrl\n}\n\nfragment prCheckoutController_pullRequest on PullRequest {\n number\n headRefName\n headRepository {\n name\n url\n sshUrl\n owner {\n __typename\n login\n id\n }\n id\n }\n}\n\nfragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest {\n url\n reviews(first: $reviewCount, after: $reviewCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n bodyHTML\n state\n submittedAt\n lastEditedAt\n url\n author {\n __typename\n login\n avatarUrl\n ... on Node {\n id\n }\n }\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment reviewThreadsAccumulator_pullRequest_CKDvj on PullRequest {\n url\n reviewThreads(first: $threadCount, after: $threadCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n isResolved\n resolvedBy {\n login\n id\n }\n viewerCanResolve\n viewerCanUnresolve\n ...reviewCommentsAccumulator_reviewThread_1VbUmL\n __typename\n }\n }\n }\n}\n\nfragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThread {\n id\n comments(first: $commentCount, after: $commentCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n isMinimized\n state\n viewerCanReact\n path\n position\n createdAt\n lastEditedAt\n url\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n\nfragment prCheckoutController_repository on Repository {\n name\n owner {\n __typename\n login\n id\n }\n}\n", "metadata": {} } }; diff --git a/lib/containers/accumulators/__generated__/reviewCommentsAccumulatorQuery.graphql.js b/lib/containers/accumulators/__generated__/reviewCommentsAccumulatorQuery.graphql.js index 256d1cf54b..a8e17395fb 100644 --- a/lib/containers/accumulators/__generated__/reviewCommentsAccumulatorQuery.graphql.js +++ b/lib/containers/accumulators/__generated__/reviewCommentsAccumulatorQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash c409978f3cddca5654e502573335ffd9 + * @relayHash cbea83eed5e8044de14e1a883429921c */ /* eslint-disable */ @@ -68,6 +68,7 @@ fragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThrea path position createdAt + lastEditedAt url ...emojiReactionsController_reactable __typename @@ -353,6 +354,13 @@ return { "args": null, "storageKey": null }, + { + "kind": "ScalarField", + "alias": null, + "name": "lastEditedAt", + "args": null, + "storageKey": null + }, { "kind": "ScalarField", "alias": null, @@ -429,7 +437,7 @@ return { "operationKind": "query", "name": "reviewCommentsAccumulatorQuery", "id": null, - "text": "query reviewCommentsAccumulatorQuery(\n $id: ID!\n $commentCount: Int!\n $commentCursor: String\n) {\n node(id: $id) {\n __typename\n ... on PullRequestReviewThread {\n ...reviewCommentsAccumulator_reviewThread_1VbUmL\n }\n id\n }\n}\n\nfragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThread {\n id\n comments(first: $commentCount, after: $commentCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n isMinimized\n state\n viewerCanReact\n path\n position\n createdAt\n url\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n", + "text": "query reviewCommentsAccumulatorQuery(\n $id: ID!\n $commentCount: Int!\n $commentCursor: String\n) {\n node(id: $id) {\n __typename\n ... on PullRequestReviewThread {\n ...reviewCommentsAccumulator_reviewThread_1VbUmL\n }\n id\n }\n}\n\nfragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThread {\n id\n comments(first: $commentCount, after: $commentCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n isMinimized\n state\n viewerCanReact\n path\n position\n createdAt\n lastEditedAt\n url\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n", "metadata": {} } }; diff --git a/lib/containers/accumulators/__generated__/reviewCommentsAccumulator_reviewThread.graphql.js b/lib/containers/accumulators/__generated__/reviewCommentsAccumulator_reviewThread.graphql.js index 92ebd27226..e2da0ec6c9 100644 --- a/lib/containers/accumulators/__generated__/reviewCommentsAccumulator_reviewThread.graphql.js +++ b/lib/containers/accumulators/__generated__/reviewCommentsAccumulator_reviewThread.graphql.js @@ -34,6 +34,7 @@ export type reviewCommentsAccumulator_reviewThread = {| +path: string, +position: ?number, +createdAt: any, + +lastEditedAt: ?any, +url: any, +$fragmentRefs: emojiReactionsController_reactable$ref, |}, @@ -218,6 +219,13 @@ return { "args": null, "storageKey": null }, + { + "kind": "ScalarField", + "alias": null, + "name": "lastEditedAt", + "args": null, + "storageKey": null + }, { "kind": "ScalarField", "alias": null, @@ -247,5 +255,5 @@ return { }; })(); // prettier-ignore -(node/*: any*/).hash = '8bb0ae25941d9a3b1f4aaa5cbddf89f0'; +(node/*: any*/).hash = 'e6db5422c3f3469415e9508b3db26c50'; module.exports = node; diff --git a/lib/containers/accumulators/__generated__/reviewSummariesAccumulatorQuery.graphql.js b/lib/containers/accumulators/__generated__/reviewSummariesAccumulatorQuery.graphql.js index fb6ac52636..5e07a41a25 100644 --- a/lib/containers/accumulators/__generated__/reviewSummariesAccumulatorQuery.graphql.js +++ b/lib/containers/accumulators/__generated__/reviewSummariesAccumulatorQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash a29994c80b3e7d4d9deaee2718fcb51c + * @relayHash 343297dc87b3ae95d77e805a5098c02e */ /* eslint-disable */ @@ -58,6 +58,8 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { bodyHTML state submittedAt + lastEditedAt + url author { __typename login @@ -134,7 +136,14 @@ v3 = { "args": null, "storageKey": null }, -v4 = [ +v4 = { + "kind": "ScalarField", + "alias": null, + "name": "url", + "args": null, + "storageKey": null +}, +v5 = [ { "kind": "Variable", "name": "after", @@ -214,19 +223,13 @@ return { "kind": "InlineFragment", "type": "PullRequest", "selections": [ - { - "kind": "ScalarField", - "alias": null, - "name": "url", - "args": null, - "storageKey": null - }, + (v4/*: any*/), { "kind": "LinkedField", "alias": null, "name": "reviews", "storageKey": null, - "args": (v4/*: any*/), + "args": (v5/*: any*/), "concreteType": "PullRequestReviewConnection", "plural": false, "selections": [ @@ -302,6 +305,14 @@ return { "args": null, "storageKey": null }, + { + "kind": "ScalarField", + "alias": null, + "name": "lastEditedAt", + "args": null, + "storageKey": null + }, + (v4/*: any*/), { "kind": "LinkedField", "alias": null, @@ -390,7 +401,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "reviews", - "args": (v4/*: any*/), + "args": (v5/*: any*/), "handle": "connection", "key": "ReviewSummariesAccumulator_reviews", "filters": null @@ -405,7 +416,7 @@ return { "operationKind": "query", "name": "reviewSummariesAccumulatorQuery", "id": null, - "text": "query reviewSummariesAccumulatorQuery(\n $url: URI!\n $reviewCount: Int!\n $reviewCursor: String\n) {\n resource(url: $url) {\n __typename\n ... on PullRequest {\n ...reviewSummariesAccumulator_pullRequest_2zzc96\n }\n ... on Node {\n id\n }\n }\n}\n\nfragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest {\n url\n reviews(first: $reviewCount, after: $reviewCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n bodyHTML\n state\n submittedAt\n author {\n __typename\n login\n avatarUrl\n ... on Node {\n id\n }\n }\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n", + "text": "query reviewSummariesAccumulatorQuery(\n $url: URI!\n $reviewCount: Int!\n $reviewCursor: String\n) {\n resource(url: $url) {\n __typename\n ... on PullRequest {\n ...reviewSummariesAccumulator_pullRequest_2zzc96\n }\n ... on Node {\n id\n }\n }\n}\n\nfragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest {\n url\n reviews(first: $reviewCount, after: $reviewCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n bodyHTML\n state\n submittedAt\n lastEditedAt\n url\n author {\n __typename\n login\n avatarUrl\n ... on Node {\n id\n }\n }\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n", "metadata": {} } }; diff --git a/lib/containers/accumulators/__generated__/reviewSummariesAccumulator_pullRequest.graphql.js b/lib/containers/accumulators/__generated__/reviewSummariesAccumulator_pullRequest.graphql.js index b5732e3de3..784979ce6b 100644 --- a/lib/containers/accumulators/__generated__/reviewSummariesAccumulator_pullRequest.graphql.js +++ b/lib/containers/accumulators/__generated__/reviewSummariesAccumulator_pullRequest.graphql.js @@ -26,6 +26,8 @@ export type reviewSummariesAccumulator_pullRequest = {| +bodyHTML: any, +state: PullRequestReviewState, +submittedAt: ?any, + +lastEditedAt: ?any, + +url: any, +author: ?{| +login: string, +avatarUrl: any, @@ -39,7 +41,15 @@ export type reviewSummariesAccumulator_pullRequest = {| */ -const node/*: ReaderFragment*/ = { +const node/*: ReaderFragment*/ = (function(){ +var v0 = { + "kind": "ScalarField", + "alias": null, + "name": "url", + "args": null, + "storageKey": null +}; +return { "kind": "Fragment", "name": "reviewSummariesAccumulator_pullRequest", "type": "PullRequest", @@ -70,13 +80,7 @@ const node/*: ReaderFragment*/ = { } ], "selections": [ - { - "kind": "ScalarField", - "alias": null, - "name": "url", - "args": null, - "storageKey": null - }, + (v0/*: any*/), { "kind": "LinkedField", "alias": "reviews", @@ -164,6 +168,14 @@ const node/*: ReaderFragment*/ = { "args": null, "storageKey": null }, + { + "kind": "ScalarField", + "alias": null, + "name": "lastEditedAt", + "args": null, + "storageKey": null + }, + (v0/*: any*/), { "kind": "LinkedField", "alias": null, @@ -209,6 +221,7 @@ const node/*: ReaderFragment*/ = { } ] }; +})(); // prettier-ignore -(node/*: any*/).hash = '08f32f28800f3ddd075e6be89d54f2ad'; +(node/*: any*/).hash = '1e0ba0b2a960b9606a55b7d058ec12d1'; module.exports = node; diff --git a/lib/containers/accumulators/__generated__/reviewThreadsAccumulatorQuery.graphql.js b/lib/containers/accumulators/__generated__/reviewThreadsAccumulatorQuery.graphql.js index 6756192b3c..3577a0fa1b 100644 --- a/lib/containers/accumulators/__generated__/reviewThreadsAccumulatorQuery.graphql.js +++ b/lib/containers/accumulators/__generated__/reviewThreadsAccumulatorQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash f0af3447e7179f4aea01607011f88420 + * @relayHash 761c6f217743b5ff38c3b6489afd87bd */ /* eslint-disable */ @@ -97,6 +97,7 @@ fragment reviewCommentsAccumulator_reviewThread_1UlnwR on PullRequestReviewThrea path position createdAt + lastEditedAt url ...emojiReactionsController_reactable __typename @@ -477,6 +478,13 @@ return { "args": null, "storageKey": null }, + { + "kind": "ScalarField", + "alias": null, + "name": "lastEditedAt", + "args": null, + "storageKey": null + }, (v4/*: any*/), { "kind": "LinkedField", @@ -563,7 +571,7 @@ return { "operationKind": "query", "name": "reviewThreadsAccumulatorQuery", "id": null, - "text": "query reviewThreadsAccumulatorQuery(\n $url: URI!\n $threadCount: Int!\n $threadCursor: String\n $commentCount: Int!\n) {\n resource(url: $url) {\n __typename\n ... on PullRequest {\n ...reviewThreadsAccumulator_pullRequest_3dVVow\n }\n ... on Node {\n id\n }\n }\n}\n\nfragment reviewThreadsAccumulator_pullRequest_3dVVow on PullRequest {\n url\n reviewThreads(first: $threadCount, after: $threadCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n isResolved\n resolvedBy {\n login\n id\n }\n viewerCanResolve\n viewerCanUnresolve\n ...reviewCommentsAccumulator_reviewThread_1UlnwR\n __typename\n }\n }\n }\n}\n\nfragment reviewCommentsAccumulator_reviewThread_1UlnwR on PullRequestReviewThread {\n id\n comments(first: $commentCount) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n isMinimized\n state\n viewerCanReact\n path\n position\n createdAt\n url\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n", + "text": "query reviewThreadsAccumulatorQuery(\n $url: URI!\n $threadCount: Int!\n $threadCursor: String\n $commentCount: Int!\n) {\n resource(url: $url) {\n __typename\n ... on PullRequest {\n ...reviewThreadsAccumulator_pullRequest_3dVVow\n }\n ... on Node {\n id\n }\n }\n}\n\nfragment reviewThreadsAccumulator_pullRequest_3dVVow on PullRequest {\n url\n reviewThreads(first: $threadCount, after: $threadCursor) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n isResolved\n resolvedBy {\n login\n id\n }\n viewerCanResolve\n viewerCanUnresolve\n ...reviewCommentsAccumulator_reviewThread_1UlnwR\n __typename\n }\n }\n }\n}\n\nfragment reviewCommentsAccumulator_reviewThread_1UlnwR on PullRequestReviewThread {\n id\n comments(first: $commentCount) {\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n cursor\n node {\n id\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n isMinimized\n state\n viewerCanReact\n path\n position\n createdAt\n lastEditedAt\n url\n ...emojiReactionsController_reactable\n __typename\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n", "metadata": {} } }; diff --git a/lib/containers/accumulators/review-comments-accumulator.js b/lib/containers/accumulators/review-comments-accumulator.js index 4eccf8e223..593837e6b3 100644 --- a/lib/containers/accumulators/review-comments-accumulator.js +++ b/lib/containers/accumulators/review-comments-accumulator.js @@ -75,6 +75,7 @@ export default createPaginationContainer(BareReviewCommentsAccumulator, { path position createdAt + lastEditedAt url ...emojiReactionsController_reactable } diff --git a/lib/containers/accumulators/review-summaries-accumulator.js b/lib/containers/accumulators/review-summaries-accumulator.js index 248c3ff6fe..82b72eaf8e 100644 --- a/lib/containers/accumulators/review-summaries-accumulator.js +++ b/lib/containers/accumulators/review-summaries-accumulator.js @@ -73,6 +73,8 @@ export default createPaginationContainer(BareReviewSummariesAccumulator, { bodyHTML state submittedAt + lastEditedAt + url author { login avatarUrl diff --git a/lib/mutations/__generated__/addPrReviewCommentMutation.graphql.js b/lib/mutations/__generated__/addPrReviewCommentMutation.graphql.js index 48a72fc002..3cd20757fb 100644 --- a/lib/mutations/__generated__/addPrReviewCommentMutation.graphql.js +++ b/lib/mutations/__generated__/addPrReviewCommentMutation.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash 565ec2aecd4101a6f349746557180729 + * @relayHash 02c4f7e8379153b1311c7882780e1970 */ /* eslint-disable */ @@ -37,6 +37,7 @@ export type addPrReviewCommentMutationResponse = {| +path: string, +position: ?number, +createdAt: any, + +lastEditedAt: ?any, +url: any, +$fragmentRefs: emojiReactionsController_reactable$ref, |} @@ -72,6 +73,7 @@ mutation addPrReviewCommentMutation( path position createdAt + lastEditedAt url ...emojiReactionsController_reactable } @@ -117,49 +119,49 @@ v1 = [ v2 = { "kind": "ScalarField", "alias": null, - "name": "id", + "name": "path", "args": null, "storageKey": null }, v3 = { "kind": "ScalarField", "alias": null, - "name": "avatarUrl", + "name": "id", "args": null, "storageKey": null }, v4 = { "kind": "ScalarField", "alias": null, - "name": "login", + "name": "bodyHTML", "args": null, "storageKey": null }, v5 = { "kind": "ScalarField", "alias": null, - "name": "bodyHTML", + "name": "isMinimized", "args": null, "storageKey": null }, v6 = { "kind": "ScalarField", "alias": null, - "name": "isMinimized", + "name": "viewerCanReact", "args": null, "storageKey": null }, v7 = { "kind": "ScalarField", "alias": null, - "name": "viewerCanReact", + "name": "avatarUrl", "args": null, "storageKey": null }, v8 = { "kind": "ScalarField", "alias": null, - "name": "path", + "name": "login", "args": null, "storageKey": null }, @@ -178,6 +180,13 @@ v10 = { "storageKey": null }, v11 = { + "kind": "ScalarField", + "alias": null, + "name": "lastEditedAt", + "args": null, + "storageKey": null +}, +v12 = { "kind": "ScalarField", "alias": null, "name": "url", @@ -221,6 +230,10 @@ return { "plural": false, "selections": [ (v2/*: any*/), + (v3/*: any*/), + (v4/*: any*/), + (v5/*: any*/), + (v6/*: any*/), { "kind": "LinkedField", "alias": null, @@ -230,17 +243,14 @@ return { "concreteType": null, "plural": false, "selections": [ - (v3/*: any*/), - (v4/*: any*/) + (v7/*: any*/), + (v8/*: any*/) ] }, - (v5/*: any*/), - (v6/*: any*/), - (v7/*: any*/), - (v8/*: any*/), (v9/*: any*/), (v10/*: any*/), (v11/*: any*/), + (v12/*: any*/), { "kind": "FragmentSpread", "name": "emojiReactionsController_reactable", @@ -287,6 +297,10 @@ return { "plural": false, "selections": [ (v2/*: any*/), + (v3/*: any*/), + (v4/*: any*/), + (v5/*: any*/), + (v6/*: any*/), { "kind": "LinkedField", "alias": null, @@ -303,18 +317,15 @@ return { "args": null, "storageKey": null }, - (v3/*: any*/), - (v4/*: any*/), - (v2/*: any*/) + (v7/*: any*/), + (v8/*: any*/), + (v3/*: any*/) ] }, - (v5/*: any*/), - (v6/*: any*/), - (v7/*: any*/), - (v8/*: any*/), (v9/*: any*/), (v10/*: any*/), (v11/*: any*/), + (v12/*: any*/), { "kind": "LinkedField", "alias": null, @@ -370,11 +381,11 @@ return { "operationKind": "mutation", "name": "addPrReviewCommentMutation", "id": null, - "text": "mutation addPrReviewCommentMutation(\n $input: AddPullRequestReviewCommentInput!\n) {\n addPullRequestReviewComment(input: $input) {\n commentEdge {\n node {\n id\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n isMinimized\n viewerCanReact\n path\n position\n createdAt\n url\n ...emojiReactionsController_reactable\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n", + "text": "mutation addPrReviewCommentMutation(\n $input: AddPullRequestReviewCommentInput!\n) {\n addPullRequestReviewComment(input: $input) {\n commentEdge {\n node {\n id\n author {\n __typename\n avatarUrl\n login\n ... on Node {\n id\n }\n }\n bodyHTML\n isMinimized\n viewerCanReact\n path\n position\n createdAt\n lastEditedAt\n url\n ...emojiReactionsController_reactable\n }\n }\n }\n}\n\nfragment emojiReactionsController_reactable on Reactable {\n id\n ...emojiReactionsView_reactable\n}\n\nfragment emojiReactionsView_reactable on Reactable {\n id\n reactionGroups {\n content\n viewerHasReacted\n users {\n totalCount\n }\n }\n viewerCanReact\n}\n", "metadata": {} } }; })(); // prettier-ignore -(node/*: any*/).hash = 'ee13078483d102b11a0919624bd400f6'; +(node/*: any*/).hash = '0da3e8cff62cf69dcbb7d5c461616030'; module.exports = node; diff --git a/lib/mutations/add-pr-review-comment.js b/lib/mutations/add-pr-review-comment.js index 8a1f63d3f6..32e38dc1b5 100644 --- a/lib/mutations/add-pr-review-comment.js +++ b/lib/mutations/add-pr-review-comment.js @@ -20,6 +20,7 @@ const mutation = graphql` path position createdAt + lastEditedAt url ...emojiReactionsController_reactable } @@ -60,6 +61,7 @@ export default (environment, {body, inReplyTo, reviewID, threadID, viewerID, pat comment.setValue(false, 'viewerCanMinimize'); comment.setValue(false, 'viewerCanReact'); comment.setValue(moment().toISOString(), 'createdAt'); + comment.setValue(null, 'lastEditedAt'); comment.setValue('https://github.com', 'url'); comment.setValue(path, 'path'); comment.setValue(position, 'position'); diff --git a/lib/views/reviews-view.js b/lib/views/reviews-view.js index 7d52746b3e..3f42f5bf09 100644 --- a/lib/views/reviews-view.js +++ b/lib/views/reviews-view.js @@ -270,6 +270,7 @@ export default class ReviewsView extends React.Component { /> {reviewAuthor} {copy} + {this.renderEditedLink(review)}
@@ -494,6 +495,19 @@ export default class ReviewsView extends React.Component { } } + renderEditedLink(entity) { + if (!entity.lastEditedAt) { + return null; + } else { + return ( + +  •  + edited + + ); + } + } + renderComment = comment => { if (comment.isMinimized) { return ( @@ -518,6 +532,7 @@ export default class ReviewsView extends React.Component { + {this.renderEditedLink(comment)} {comment.state === 'PENDING' && ( pending )} diff --git a/styles/review.less b/styles/review.less index 28e098cf6b..68e4abea60 100644 --- a/styles/review.less +++ b/styles/review.less @@ -398,7 +398,7 @@ font-weight: 500; } - &-timeAgo, &-reportAbuseLink { + &-timeAgo, &-reportAbuseLink, &-edited { color: @text-color-subtle; } diff --git a/test/builder/graphql/pr.js b/test/builder/graphql/pr.js index a2a394b5d0..140ee2898f 100644 --- a/test/builder/graphql/pr.js +++ b/test/builder/graphql/pr.js @@ -33,6 +33,7 @@ export const CommentBuilder = createSpecBuilderClass('PullRequestReviewComment', reactionGroups: {linked: ReactionGroupBuilder, plural: true, singularName: 'reactionGroup'}, url: {default: 'https://github.com/atom/github/pull/1829/files#r242224689'}, createdAt: {default: '2018-12-27T17:51:17Z'}, + lastEditedAt: {default: null}, bodyHTML: {default: 'Lorem ipsum dolor sit amet, te urbanitas appellantur est.'}, replyTo: {default: null, nullable: true}, isMinimized: {default: false}, @@ -58,6 +59,8 @@ export const ReviewBuilder = createSpecBuilderClass('PullRequestReview', { __typename: {default: 'PullRequestReview'}, id: {default: nextID}, submittedAt: {default: '2018-12-28T20:40:55Z'}, + lastEditedAt: {default: null}, + url: {default: 'https://github.com/atom/github/pull/1995#pullrequestreview-223120384'}, bodyHTML: {default: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit'}, state: {default: 'COMMENTED'}, author: {linked: UserBuilder}, diff --git a/test/views/reviews-view.test.js b/test/views/reviews-view.test.js index 8b91f053c1..ab3914051c 100644 --- a/test/views/reviews-view.test.js +++ b/test/views/reviews-view.test.js @@ -238,6 +238,53 @@ describe('ReviewsView', function() { assert.strictEqual(comment.find('em').text(), 'This comment was hidden'); }); + it('indicates that a review summary comment has been edited', function() { + const summary = wrapper.find('.github-ReviewSummary').at(0); + + assert.isFalse(summary.exists('.github-Review-edited')); + + const commentUrl = 'https://github.com/atom/github/pull/1995#discussion_r272475592'; + const updatedProps = aggregatedReviewsBuilder() + .addReviewSummary(r => r.id(0).lastEditedAt('2018-12-27T17:51:17Z').url(commentUrl)) + .build(); + + wrapper.setProps({...updatedProps}); + + const updatedSummary = wrapper.find('.github-ReviewSummary').at(0); + assert.isTrue(updatedSummary.exists('.github-Review-edited')); + const editedWrapper = updatedSummary.find('a.github-Review-edited'); + assert.strictEqual(editedWrapper.text(), 'edited'); + assert.strictEqual(editedWrapper.prop('href'), commentUrl); + }); + + it('indicates that a thread comment has been edited', function() { + const comment = wrapper.find('details.github-Review').at(0).find('.github-Review-comment').at(0); + assert.isFalse(comment.exists('.github-Review-edited')); + + const commentUrl = 'https://github.com/atom/github/pull/1995#discussion_r272475592'; + const updatedProps = aggregatedReviewsBuilder() + .addReviewSummary(r => r.id(0)) + .addReviewThread(t => { + t.thread(t0 => t0.id('abcd')); + t.addComment(c => + c.id(0).path('dir/file0').position(10).bodyHTML('i have opinions.').author(a => a.login('user0').avatarUrl('user0.jpg')) + .lastEditedAt('2018-12-27T17:51:17Z').url(commentUrl), + ); + t.addComment(c => + c.id(1).path('file0').position(10).bodyHTML('i disagree.').author(a => a.login('user1').avatarUrl('user1.jpg')).isMinimized(true), + ); + }) + .build(); + + wrapper.setProps({...updatedProps}); + + const updatedComment = wrapper.find('details.github-Review').at(0).find('.github-Review-comment').at(0); + assert.isTrue(updatedComment.exists('.github-Review-edited')); + const editedWrapper = updatedComment.find('a.github-Review-edited'); + assert.strictEqual(editedWrapper.text(), 'edited'); + assert.strictEqual(editedWrapper.prop('href'), commentUrl); + }); + describe('each thread', function() { it('displays correct data', function() { const thread = wrapper.find('details.github-Review').at(0);