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);