From 8dcabfe61e7b17f21be6643f314dc9489b9d9bd6 Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Wed, 10 Apr 2019 14:44:31 -0700 Subject: [PATCH 01/15] Indicate that review comment was edited --- ...aggregatedReviewsContainerRefetchQuery.graphql.js | 12 ++++++++++-- .../commentDecorationsContainerQuery.graphql.js | 12 ++++++++++-- .../issueishDetailContainerQuery.graphql.js | 12 ++++++++++-- .../__generated__/reviewsContainerQuery.graphql.js | 12 ++++++++++-- .../reviewCommentsAccumulatorQuery.graphql.js | 12 ++++++++++-- ...reviewCommentsAccumulator_reviewThread.graphql.js | 10 +++++++++- .../reviewThreadsAccumulatorQuery.graphql.js | 12 ++++++++++-- .../accumulators/review-comments-accumulator.js | 1 + lib/views/reviews-view.js | 3 +++ 9 files changed, 73 insertions(+), 13 deletions(-) diff --git a/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js b/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js index 36c2b89b03..ddb753e0b7 100644 --- a/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js +++ b/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash 192d473345d7132542cc7b88318b7cc1 + * @relayHash 3d00175213f781a2343e9d00aa17b4be */ /* eslint-disable */ @@ -152,6 +152,7 @@ fragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThrea path position createdAt + lastEditedAt url ...emojiReactionsController_reactable __typename @@ -761,6 +762,13 @@ return { "args": null, "storageKey": null }, + { + "kind": "ScalarField", + "alias": null, + "name": "lastEditedAt", + "args": null, + "storageKey": null + }, (v4/*: any*/), (v12/*: any*/), (v2/*: any*/) @@ -805,7 +813,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 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..35f66b9fb6 100644 --- a/lib/containers/__generated__/commentDecorationsContainerQuery.graphql.js +++ b/lib/containers/__generated__/commentDecorationsContainerQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash f3382815c97b25306e67683ad4004e03 + * @relayHash 63a4d7b3d1770a20cb3db7304f4794b4 */ /* eslint-disable */ @@ -185,6 +185,7 @@ fragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThrea path position createdAt + lastEditedAt url ...emojiReactionsController_reactable __typename @@ -914,6 +915,13 @@ return { "args": null, "storageKey": null }, + { + "kind": "ScalarField", + "alias": null, + "name": "lastEditedAt", + "args": null, + "storageKey": null + }, (v11/*: any*/), (v18/*: any*/), (v7/*: any*/) @@ -964,7 +972,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 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..fbed676ae6 100644 --- a/lib/containers/__generated__/issueishDetailContainerQuery.graphql.js +++ b/lib/containers/__generated__/issueishDetailContainerQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash 5bfca2d5db66bb24b86a6c3580b37bd0 + * @relayHash c8082d64027972247e99af5d0ffd98b5 */ /* eslint-disable */ @@ -628,6 +628,7 @@ fragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThrea path position createdAt + lastEditedAt url ...emojiReactionsController_reactable __typename @@ -1594,6 +1595,13 @@ return { (v25/*: any*/), (v26/*: any*/), (v27/*: any*/), + { + "kind": "ScalarField", + "alias": null, + "name": "lastEditedAt", + "args": null, + "storageKey": null + }, (v5/*: any*/), (v18/*: any*/), (v3/*: any*/) @@ -2171,7 +2179,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 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..497afa0f16 100644 --- a/lib/containers/__generated__/reviewsContainerQuery.graphql.js +++ b/lib/containers/__generated__/reviewsContainerQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash 355ceb5683604e00779a908b661ad662 + * @relayHash c4b9e1176aca0a1308d1c0558dd5df83 */ /* eslint-disable */ @@ -188,6 +188,7 @@ fragment reviewCommentsAccumulator_reviewThread_1VbUmL on PullRequestReviewThrea path position createdAt + lastEditedAt url ...emojiReactionsController_reactable __typename @@ -845,6 +846,13 @@ return { "args": null, "storageKey": null }, + { + "kind": "ScalarField", + "alias": null, + "name": "lastEditedAt", + "args": null, + "storageKey": null + }, (v9/*: any*/), (v16/*: any*/), (v5/*: any*/) @@ -940,7 +948,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 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__/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/views/reviews-view.js b/lib/views/reviews-view.js index 7d52746b3e..11afdcfe39 100644 --- a/lib/views/reviews-view.js +++ b/lib/views/reviews-view.js @@ -518,6 +518,9 @@ export default class ReviewsView extends React.Component { + {comment.lastEditedAt !== null && ( + • edited + )} {comment.state === 'PENDING' && ( pending )} From 3b51d5f791f07251061e3bcafd1134cb829ed63f Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Wed, 10 Apr 2019 14:50:34 -0700 Subject: [PATCH 02/15] Indicate that review summary was edited --- ...tedReviewsContainerRefetchQuery.graphql.js | 47 ++-- ...ommentDecorationsContainerQuery.graphql.js | 47 ++-- .../issueishDetailContainerQuery.graphql.js | 255 +++++++++--------- .../reviewsContainerQuery.graphql.js | 49 ++-- ...reviewSummariesAccumulatorQuery.graphql.js | 12 +- ...ummariesAccumulator_pullRequest.graphql.js | 10 +- .../review-summaries-accumulator.js | 1 + lib/views/reviews-view.js | 5 +- 8 files changed, 229 insertions(+), 197 deletions(-) diff --git a/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js b/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js index ddb753e0b7..98f69de324 100644 --- a/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js +++ b/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash 3d00175213f781a2343e9d00aa17b4be + * @relayHash 15cb82eb9aa7927a9affdb90a14c8fa3 */ /* eslint-disable */ @@ -86,6 +86,7 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { bodyHTML state submittedAt + lastEditedAt author { __typename login @@ -323,11 +324,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", @@ -370,14 +378,14 @@ v12 = { } ] }, -v13 = { +v14 = { "kind": "ScalarField", "alias": null, "name": "viewerCanReact", "args": null, "storageKey": null }, -v14 = [ +v15 = [ { "kind": "Variable", "name": "after", @@ -391,7 +399,7 @@ v14 = [ "type": "Int" } ], -v15 = [ +v16 = [ { "kind": "Variable", "name": "after", @@ -589,6 +597,7 @@ return { "args": null, "storageKey": null }, + (v11/*: any*/), { "kind": "LinkedField", "alias": null, @@ -600,12 +609,12 @@ return { "selections": [ (v2/*: any*/), (v5/*: any*/), - (v11/*: any*/), + (v12/*: any*/), (v3/*: any*/) ] }, - (v12/*: any*/), (v13/*: any*/), + (v14/*: any*/), (v2/*: any*/) ] } @@ -627,7 +636,7 @@ return { "alias": null, "name": "reviewThreads", "storageKey": null, - "args": (v14/*: any*/), + "args": (v15/*: any*/), "concreteType": "PullRequestReviewThreadConnection", "plural": false, "selections": [ @@ -691,7 +700,7 @@ return { "alias": null, "name": "comments", "storageKey": null, - "args": (v15/*: any*/), + "args": (v16/*: any*/), "concreteType": "PullRequestReviewCommentConnection", "plural": false, "selections": [ @@ -732,7 +741,7 @@ return { "storageKey": null }, (v10/*: any*/), - (v13/*: any*/), + (v14/*: any*/), { "kind": "LinkedField", "alias": null, @@ -743,7 +752,7 @@ return { "plural": false, "selections": [ (v2/*: any*/), - (v11/*: any*/), + (v12/*: any*/), (v5/*: any*/), (v3/*: any*/) ] @@ -762,15 +771,9 @@ return { "args": null, "storageKey": null }, - { - "kind": "ScalarField", - "alias": null, - "name": "lastEditedAt", - "args": null, - "storageKey": null - }, + (v11/*: any*/), (v4/*: any*/), - (v12/*: any*/), + (v13/*: any*/), (v2/*: any*/) ] } @@ -782,7 +785,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "comments", - "args": (v15/*: any*/), + "args": (v16/*: any*/), "handle": "connection", "key": "ReviewCommentsAccumulator_comments", "filters": null @@ -798,7 +801,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "reviewThreads", - "args": (v14/*: any*/), + "args": (v15/*: any*/), "handle": "connection", "key": "ReviewThreadsAccumulator_reviewThreads", "filters": null @@ -813,7 +816,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 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", + "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 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 35f66b9fb6..dc183bba2d 100644 --- a/lib/containers/__generated__/commentDecorationsContainerQuery.graphql.js +++ b/lib/containers/__generated__/commentDecorationsContainerQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash 63a4d7b3d1770a20cb3db7304f4794b4 + * @relayHash 1c6873b48bac1f124cab8f2f775c87a3 */ /* eslint-disable */ @@ -119,6 +119,7 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { bodyHTML state submittedAt + lastEditedAt author { __typename login @@ -449,11 +450,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", @@ -490,14 +498,14 @@ v18 = { } ] }, -v19 = { +v20 = { "kind": "ScalarField", "alias": null, "name": "viewerCanReact", "args": null, "storageKey": null }, -v20 = [ +v21 = [ { "kind": "Variable", "name": "after", @@ -511,7 +519,7 @@ v20 = [ "type": "Int" } ], -v21 = [ +v22 = [ { "kind": "Variable", "name": "after", @@ -742,6 +750,7 @@ return { "args": null, "storageKey": null }, + (v17/*: any*/), { "kind": "LinkedField", "alias": null, @@ -753,12 +762,12 @@ return { "selections": [ (v7/*: any*/), (v8/*: any*/), - (v17/*: any*/), + (v18/*: any*/), (v9/*: any*/) ] }, - (v18/*: any*/), (v19/*: any*/), + (v20/*: any*/), (v7/*: any*/) ] } @@ -780,7 +789,7 @@ return { "alias": null, "name": "reviewThreads", "storageKey": null, - "args": (v20/*: any*/), + "args": (v21/*: any*/), "concreteType": "PullRequestReviewThreadConnection", "plural": false, "selections": [ @@ -844,7 +853,7 @@ return { "alias": null, "name": "comments", "storageKey": null, - "args": (v21/*: any*/), + "args": (v22/*: any*/), "concreteType": "PullRequestReviewCommentConnection", "plural": false, "selections": [ @@ -885,7 +894,7 @@ return { "storageKey": null }, (v16/*: any*/), - (v19/*: any*/), + (v20/*: any*/), { "kind": "LinkedField", "alias": null, @@ -896,7 +905,7 @@ return { "plural": false, "selections": [ (v7/*: any*/), - (v17/*: any*/), + (v18/*: any*/), (v8/*: any*/), (v9/*: any*/) ] @@ -915,15 +924,9 @@ return { "args": null, "storageKey": null }, - { - "kind": "ScalarField", - "alias": null, - "name": "lastEditedAt", - "args": null, - "storageKey": null - }, + (v17/*: any*/), (v11/*: any*/), - (v18/*: any*/), + (v19/*: any*/), (v7/*: any*/) ] } @@ -935,7 +938,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "comments", - "args": (v21/*: any*/), + "args": (v22/*: any*/), "handle": "connection", "key": "ReviewCommentsAccumulator_comments", "filters": null @@ -951,7 +954,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "reviewThreads", - "args": (v20/*: any*/), + "args": (v21/*: any*/), "handle": "connection", "key": "ReviewThreadsAccumulator_reviewThreads", "filters": null @@ -972,7 +975,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 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", + "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 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 fbed676ae6..b761654974 100644 --- a/lib/containers/__generated__/issueishDetailContainerQuery.graphql.js +++ b/lib/containers/__generated__/issueishDetailContainerQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash c8082d64027972247e99af5d0ffd98b5 + * @relayHash 89264966a9c4554b228ad2cd84af9407 */ /* eslint-disable */ @@ -562,6 +562,7 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { bodyHTML state submittedAt + lastEditedAt author { __typename login @@ -827,24 +828,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", @@ -852,9 +860,9 @@ v16 = { "args": null, "concreteType": null, "plural": false, - "selections": (v15/*: any*/) + "selections": (v16/*: any*/) }, -v17 = [ +v18 = [ { "kind": "ScalarField", "alias": null, @@ -863,7 +871,7 @@ v17 = [ "storageKey": null } ], -v18 = { +v19 = { "kind": "LinkedField", "alias": null, "name": "reactionGroups", @@ -894,18 +902,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", @@ -919,11 +927,11 @@ v20 = [ "type": "Int" } ], -v21 = [ - (v13/*: any*/), +v22 = [ + (v14/*: any*/), (v4/*: any*/) ], -v22 = [ +v23 = [ { "kind": "Variable", "name": "after", @@ -937,20 +945,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", @@ -958,35 +966,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", @@ -994,23 +1002,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", @@ -1020,13 +1028,13 @@ v33 = { "plural": false, "selections": [ (v3/*: any*/), - (v13/*: any*/), (v14/*: any*/), + (v15/*: any*/), (v5/*: any*/), (v4/*: any*/) ] }, -v34 = [ +v35 = [ { "kind": "Variable", "name": "after", @@ -1040,7 +1048,7 @@ v34 = [ "type": "Int" } ], -v35 = { +v36 = { "kind": "LinkedField", "alias": null, "name": "pageInfo", @@ -1053,14 +1061,14 @@ v35 = { (v7/*: any*/) ] }, -v36 = { +v37 = { "kind": "ScalarField", "alias": null, "name": "isCrossRepository", "args": null, "storageKey": null }, -v37 = { +v38 = { "kind": "InlineFragment", "type": "CrossReferencedEvent", "selections": [ @@ -1071,7 +1079,7 @@ v37 = { "args": null, "storageKey": null }, - (v36/*: any*/), + (v37/*: any*/), { "kind": "LinkedField", "alias": null, @@ -1080,7 +1088,7 @@ v37 = { "args": null, "concreteType": null, "plural": false, - "selections": (v15/*: any*/) + "selections": (v16/*: any*/) }, { "kind": "LinkedField", @@ -1101,8 +1109,8 @@ v37 = { "concreteType": "Repository", "plural": false, "selections": [ - (v28/*: any*/), - (v30/*: any*/), + (v29/*: any*/), + (v31/*: any*/), (v4/*: any*/), { "kind": "ScalarField", @@ -1118,8 +1126,8 @@ v37 = { "kind": "InlineFragment", "type": "PullRequest", "selections": [ + (v33/*: any*/), (v32/*: any*/), - (v31/*: any*/), (v5/*: any*/), { "kind": "ScalarField", @@ -1134,8 +1142,8 @@ v37 = { "kind": "InlineFragment", "type": "Issue", "selections": [ + (v33/*: any*/), (v32/*: any*/), - (v31/*: any*/), (v5/*: any*/), { "kind": "ScalarField", @@ -1150,17 +1158,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", @@ -1168,16 +1176,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": [ @@ -1190,9 +1198,9 @@ v41 = { "concreteType": "GitActor", "plural": false, "selections": [ - (v28/*: any*/), - (v39/*: any*/), - (v14/*: any*/) + (v29/*: any*/), + (v40/*: any*/), + (v15/*: any*/) ] }, { @@ -1204,9 +1212,9 @@ v41 = { "concreteType": "GitActor", "plural": false, "selections": [ - (v28/*: any*/), - (v14/*: any*/), - (v39/*: any*/) + (v29/*: any*/), + (v15/*: any*/), + (v40/*: any*/) ] }, { @@ -1216,7 +1224,7 @@ v41 = { "args": null, "storageKey": null }, - (v40/*: any*/), + (v41/*: any*/), { "kind": "ScalarField", "alias": null, @@ -1240,7 +1248,7 @@ v41 = { } ] }, -v42 = [ +v43 = [ { "kind": "Variable", "name": "after", @@ -1254,7 +1262,7 @@ v42 = [ "type": "Int" } ], -v43 = [ +v44 = [ { "kind": "ScalarField", "alias": null, @@ -1264,7 +1272,7 @@ v43 = [ }, (v4/*: any*/) ], -v44 = { +v45 = { "kind": "LinkedField", "alias": null, "name": "commit", @@ -1272,9 +1280,9 @@ v44 = { "args": null, "concreteType": "Commit", "plural": false, - "selections": (v43/*: any*/) + "selections": (v44/*: any*/) }, -v45 = { +v46 = { "kind": "LinkedField", "alias": null, "name": "actor", @@ -1282,7 +1290,7 @@ v45 = { "args": null, "concreteType": null, "plural": false, - "selections": (v24/*: any*/) + "selections": (v25/*: any*/) }; return { "kind": "Request", @@ -1471,9 +1479,10 @@ return { "args": null, "storageKey": null }, - (v16/*: any*/), - (v18/*: any*/), + (v13/*: any*/), + (v17/*: any*/), (v19/*: any*/), + (v20/*: any*/), (v3/*: any*/) ] } @@ -1495,7 +1504,7 @@ return { "alias": null, "name": "reviewThreads", "storageKey": null, - "args": (v20/*: any*/), + "args": (v21/*: any*/), "concreteType": "PullRequestReviewThreadConnection", "plural": false, "selections": [ @@ -1535,7 +1544,7 @@ return { "args": null, "concreteType": "User", "plural": false, - "selections": (v21/*: any*/) + "selections": (v22/*: any*/) }, { "kind": "ScalarField", @@ -1556,7 +1565,7 @@ return { "alias": null, "name": "comments", "storageKey": null, - "args": (v22/*: any*/), + "args": (v23/*: any*/), "concreteType": "PullRequestReviewCommentConnection", "plural": false, "selections": [ @@ -1580,7 +1589,7 @@ return { "concreteType": "PullRequestReviewComment", "plural": false, "selections": [ - (v23/*: any*/), + (v24/*: any*/), (v4/*: any*/), (v11/*: any*/), { @@ -1591,19 +1600,13 @@ return { "storageKey": null }, (v12/*: any*/), - (v19/*: any*/), - (v25/*: any*/), + (v20/*: any*/), (v26/*: any*/), (v27/*: any*/), - { - "kind": "ScalarField", - "alias": null, - "name": "lastEditedAt", - "args": null, - "storageKey": null - }, + (v28/*: any*/), + (v13/*: any*/), (v5/*: any*/), - (v18/*: any*/), + (v19/*: any*/), (v3/*: any*/) ] } @@ -1615,7 +1618,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "comments", - "args": (v22/*: any*/), + "args": (v23/*: any*/), "handle": "connection", "key": "ReviewCommentsAccumulator_comments", "filters": null @@ -1631,7 +1634,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "reviewThreads", - "args": (v20/*: any*/), + "args": (v21/*: any*/), "handle": "connection", "key": "ReviewThreadsAccumulator_reviewThreads", "filters": null @@ -1641,8 +1644,8 @@ return { ] }, (v4/*: any*/), - (v28/*: any*/), - (v30/*: any*/), + (v29/*: any*/), + (v31/*: any*/), { "kind": "LinkedField", "alias": "issue", @@ -1659,21 +1662,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, @@ -1695,9 +1698,9 @@ return { "selections": [ (v3/*: any*/), (v4/*: any*/), - (v37/*: any*/), (v38/*: any*/), - (v41/*: any*/) + (v39/*: any*/), + (v42/*: any*/) ] } ] @@ -1708,13 +1711,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*/) ] } ] @@ -1735,7 +1738,7 @@ return { "type": "PullRequest", "selections": [ (v11/*: any*/), - (v31/*: any*/), + (v32/*: any*/), { "kind": "ScalarField", "alias": null, @@ -1752,7 +1755,7 @@ return { "concreteType": "Repository", "plural": false, "selections": [ - (v28/*: any*/), + (v29/*: any*/), (v5/*: any*/), { "kind": "ScalarField", @@ -1761,12 +1764,12 @@ return { "args": null, "storageKey": null }, - (v30/*: any*/), + (v31/*: any*/), (v4/*: any*/) ] }, (v5/*: any*/), - (v36/*: any*/), + (v37/*: any*/), { "kind": "ScalarField", "alias": null, @@ -1775,7 +1778,7 @@ return { "storageKey": null }, (v12/*: any*/), - (v32/*: any*/), + (v33/*: any*/), { "kind": "ScalarField", "alias": null, @@ -1791,19 +1794,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, @@ -1842,8 +1845,8 @@ return { "concreteType": "GitActor", "plural": false, "selections": [ - (v14/*: any*/), - (v28/*: any*/), + (v15/*: any*/), + (v29/*: any*/), { "kind": "ScalarField", "alias": null, @@ -1874,7 +1877,7 @@ return { "args": null, "storageKey": null }, - (v40/*: any*/), + (v41/*: any*/), (v5/*: any*/) ] }, @@ -1890,7 +1893,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "commits", - "args": (v42/*: any*/), + "args": (v43/*: any*/), "handle": "connection", "key": "prCommitsView_commits", "filters": null @@ -2003,7 +2006,7 @@ return { "args": null, "concreteType": null, "plural": false, - "selections": (v29/*: any*/) + "selections": (v30/*: any*/) }, { "kind": "LinkedField", @@ -2014,7 +2017,7 @@ return { "concreteType": "Repository", "plural": false, "selections": [ - (v30/*: any*/), + (v31/*: any*/), (v4/*: any*/) ] }, @@ -2023,11 +2026,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, @@ -2049,12 +2052,12 @@ return { "selections": [ (v3/*: any*/), (v4/*: any*/), - (v37/*: any*/), + (v38/*: any*/), { "kind": "InlineFragment", "type": "CommitCommentThread", "selections": [ - (v44/*: any*/), + (v45/*: any*/), { "kind": "LinkedField", "alias": null, @@ -2090,12 +2093,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*/) ] } ] @@ -2108,7 +2111,7 @@ return { "kind": "InlineFragment", "type": "HeadRefForcePushedEvent", "selections": [ - (v45/*: any*/), + (v46/*: any*/), { "kind": "LinkedField", "alias": null, @@ -2117,7 +2120,7 @@ return { "args": null, "concreteType": "Commit", "plural": false, - "selections": (v43/*: any*/) + "selections": (v44/*: any*/) }, { "kind": "LinkedField", @@ -2127,17 +2130,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, @@ -2145,11 +2148,11 @@ return { "args": null, "storageKey": null }, - (v27/*: any*/) + (v28/*: any*/) ] }, - (v38/*: any*/), - (v41/*: any*/) + (v39/*: any*/), + (v42/*: any*/) ] } ] @@ -2160,13 +2163,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*/) ] } ] @@ -2179,7 +2182,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 lastEditedAt\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 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 497afa0f16..160c04c6cb 100644 --- a/lib/containers/__generated__/reviewsContainerQuery.graphql.js +++ b/lib/containers/__generated__/reviewsContainerQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash c4b9e1176aca0a1308d1c0558dd5df83 + * @relayHash 9412044708003ee3551c943aa740cb41 */ /* eslint-disable */ @@ -122,6 +122,7 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { bodyHTML state submittedAt + lastEditedAt author { __typename login @@ -422,11 +423,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", @@ -469,14 +477,14 @@ v16 = { } ] }, -v17 = { +v18 = { "kind": "ScalarField", "alias": null, "name": "viewerCanReact", "args": null, "storageKey": null }, -v18 = [ +v19 = [ { "kind": "Variable", "name": "after", @@ -490,7 +498,7 @@ v18 = [ "type": "Int" } ], -v19 = [ +v20 = [ { "kind": "Variable", "name": "after", @@ -673,6 +681,7 @@ return { "args": null, "storageKey": null }, + (v15/*: any*/), { "kind": "LinkedField", "alias": null, @@ -684,12 +693,12 @@ return { "selections": [ (v5/*: any*/), (v6/*: any*/), - (v15/*: any*/), + (v16/*: any*/), (v7/*: any*/) ] }, - (v16/*: any*/), (v17/*: any*/), + (v18/*: any*/), (v5/*: any*/) ] } @@ -711,7 +720,7 @@ return { "alias": null, "name": "reviewThreads", "storageKey": null, - "args": (v18/*: any*/), + "args": (v19/*: any*/), "concreteType": "PullRequestReviewThreadConnection", "plural": false, "selections": [ @@ -775,7 +784,7 @@ return { "alias": null, "name": "comments", "storageKey": null, - "args": (v19/*: any*/), + "args": (v20/*: any*/), "concreteType": "PullRequestReviewCommentConnection", "plural": false, "selections": [ @@ -816,7 +825,7 @@ return { "storageKey": null }, (v14/*: any*/), - (v17/*: any*/), + (v18/*: any*/), { "kind": "LinkedField", "alias": null, @@ -827,7 +836,7 @@ return { "plural": false, "selections": [ (v5/*: any*/), - (v15/*: any*/), + (v16/*: any*/), (v6/*: any*/), (v7/*: any*/) ] @@ -846,15 +855,9 @@ return { "args": null, "storageKey": null }, - { - "kind": "ScalarField", - "alias": null, - "name": "lastEditedAt", - "args": null, - "storageKey": null - }, + (v15/*: any*/), (v9/*: any*/), - (v16/*: any*/), + (v17/*: any*/), (v5/*: any*/) ] } @@ -866,7 +869,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "comments", - "args": (v19/*: any*/), + "args": (v20/*: any*/), "handle": "connection", "key": "ReviewCommentsAccumulator_comments", "filters": null @@ -882,7 +885,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "reviewThreads", - "args": (v18/*: any*/), + "args": (v19/*: any*/), "handle": "connection", "key": "ReviewThreadsAccumulator_reviewThreads", "filters": null @@ -939,7 +942,7 @@ return { "selections": [ (v7/*: any*/), (v6/*: any*/), - (v15/*: any*/) + (v16/*: any*/) ] } ] @@ -948,7 +951,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 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", + "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 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__/reviewSummariesAccumulatorQuery.graphql.js b/lib/containers/accumulators/__generated__/reviewSummariesAccumulatorQuery.graphql.js index fb6ac52636..14cf604a55 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 706fe1299db955678947226c1092d3bc */ /* eslint-disable */ @@ -58,6 +58,7 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { bodyHTML state submittedAt + lastEditedAt author { __typename login @@ -302,6 +303,13 @@ return { "args": null, "storageKey": null }, + { + "kind": "ScalarField", + "alias": null, + "name": "lastEditedAt", + "args": null, + "storageKey": null + }, { "kind": "LinkedField", "alias": null, @@ -405,7 +413,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 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..06a5412c32 100644 --- a/lib/containers/accumulators/__generated__/reviewSummariesAccumulator_pullRequest.graphql.js +++ b/lib/containers/accumulators/__generated__/reviewSummariesAccumulator_pullRequest.graphql.js @@ -26,6 +26,7 @@ export type reviewSummariesAccumulator_pullRequest = {| +bodyHTML: any, +state: PullRequestReviewState, +submittedAt: ?any, + +lastEditedAt: ?any, +author: ?{| +login: string, +avatarUrl: any, @@ -164,6 +165,13 @@ const node/*: ReaderFragment*/ = { "args": null, "storageKey": null }, + { + "kind": "ScalarField", + "alias": null, + "name": "lastEditedAt", + "args": null, + "storageKey": null + }, { "kind": "LinkedField", "alias": null, @@ -210,5 +218,5 @@ const node/*: ReaderFragment*/ = { ] }; // prettier-ignore -(node/*: any*/).hash = '08f32f28800f3ddd075e6be89d54f2ad'; +(node/*: any*/).hash = 'ba9669ee452a25dad0926f21fa8e4be4'; module.exports = node; diff --git a/lib/containers/accumulators/review-summaries-accumulator.js b/lib/containers/accumulators/review-summaries-accumulator.js index 248c3ff6fe..a521b124ba 100644 --- a/lib/containers/accumulators/review-summaries-accumulator.js +++ b/lib/containers/accumulators/review-summaries-accumulator.js @@ -73,6 +73,7 @@ export default createPaginationContainer(BareReviewSummariesAccumulator, { bodyHTML state submittedAt + lastEditedAt author { login avatarUrl diff --git a/lib/views/reviews-view.js b/lib/views/reviews-view.js index 11afdcfe39..a95f40a8d0 100644 --- a/lib/views/reviews-view.js +++ b/lib/views/reviews-view.js @@ -270,6 +270,9 @@ export default class ReviewsView extends React.Component { /> {reviewAuthor} {copy} + {review.lastEditedAt !== null && ( +  • edited + )}
@@ -519,7 +522,7 @@ export default class ReviewsView extends React.Component { {comment.lastEditedAt !== null && ( - • edited +  • edited )} {comment.state === 'PENDING' && ( pending From 9876548bfd174f687abb580866465e2ba5fe9f32 Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Wed, 10 Apr 2019 14:56:16 -0700 Subject: [PATCH 03/15] Make "edited" text link to comment on dotcom --- lib/views/reviews-view.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/views/reviews-view.js b/lib/views/reviews-view.js index a95f40a8d0..b2bd8ab2c5 100644 --- a/lib/views/reviews-view.js +++ b/lib/views/reviews-view.js @@ -522,7 +522,7 @@ export default class ReviewsView extends React.Component { {comment.lastEditedAt !== null && ( -  • edited +  • edited )} {comment.state === 'PENDING' && ( pending From 2930600176a807cc7f187926529dae67e407628f Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Wed, 10 Apr 2019 14:58:55 -0700 Subject: [PATCH 04/15] Make "edited" text link to review summary on dotcom --- ...tedReviewsContainerRefetchQuery.graphql.js | 6 +++-- ...ommentDecorationsContainerQuery.graphql.js | 6 +++-- .../issueishDetailContainerQuery.graphql.js | 6 +++-- .../reviewsContainerQuery.graphql.js | 6 +++-- ...reviewSummariesAccumulatorQuery.graphql.js | 27 ++++++++++--------- ...ummariesAccumulator_pullRequest.graphql.js | 23 +++++++++------- .../review-summaries-accumulator.js | 1 + lib/views/reviews-view.js | 3 ++- 8 files changed, 48 insertions(+), 30 deletions(-) diff --git a/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js b/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js index 98f69de324..31562618b1 100644 --- a/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js +++ b/lib/containers/__generated__/aggregatedReviewsContainerRefetchQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash 15cb82eb9aa7927a9affdb90a14c8fa3 + * @relayHash 506dea36862f12d2e0edbc78524af987 */ /* eslint-disable */ @@ -87,6 +87,7 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { state submittedAt lastEditedAt + url author { __typename login @@ -598,6 +599,7 @@ return { "storageKey": null }, (v11/*: any*/), + (v4/*: any*/), { "kind": "LinkedField", "alias": null, @@ -816,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 lastEditedAt\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", + "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 dc183bba2d..65d9c9e5f8 100644 --- a/lib/containers/__generated__/commentDecorationsContainerQuery.graphql.js +++ b/lib/containers/__generated__/commentDecorationsContainerQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash 1c6873b48bac1f124cab8f2f775c87a3 + * @relayHash 149f75a5dadb3940a285a60d8c3b0e71 */ /* eslint-disable */ @@ -120,6 +120,7 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { state submittedAt lastEditedAt + url author { __typename login @@ -751,6 +752,7 @@ return { "storageKey": null }, (v17/*: any*/), + (v11/*: any*/), { "kind": "LinkedField", "alias": null, @@ -975,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 lastEditedAt\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", + "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 b761654974..938d4f9cdc 100644 --- a/lib/containers/__generated__/issueishDetailContainerQuery.graphql.js +++ b/lib/containers/__generated__/issueishDetailContainerQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash 89264966a9c4554b228ad2cd84af9407 + * @relayHash 7185b2a4ff3b97fb74d3ac01b242f815 */ /* eslint-disable */ @@ -563,6 +563,7 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { state submittedAt lastEditedAt + url author { __typename login @@ -1480,6 +1481,7 @@ return { "storageKey": null }, (v13/*: any*/), + (v5/*: any*/), (v17/*: any*/), (v19/*: any*/), (v20/*: any*/), @@ -2182,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 lastEditedAt\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", + "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 160c04c6cb..ecdb60375c 100644 --- a/lib/containers/__generated__/reviewsContainerQuery.graphql.js +++ b/lib/containers/__generated__/reviewsContainerQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash 9412044708003ee3551c943aa740cb41 + * @relayHash 5cd00052ea5dd9b378ca9864c9d5a7fb */ /* eslint-disable */ @@ -123,6 +123,7 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { state submittedAt lastEditedAt + url author { __typename login @@ -682,6 +683,7 @@ return { "storageKey": null }, (v15/*: any*/), + (v9/*: any*/), { "kind": "LinkedField", "alias": null, @@ -951,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 lastEditedAt\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", + "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__/reviewSummariesAccumulatorQuery.graphql.js b/lib/containers/accumulators/__generated__/reviewSummariesAccumulatorQuery.graphql.js index 14cf604a55..5e07a41a25 100644 --- a/lib/containers/accumulators/__generated__/reviewSummariesAccumulatorQuery.graphql.js +++ b/lib/containers/accumulators/__generated__/reviewSummariesAccumulatorQuery.graphql.js @@ -1,6 +1,6 @@ /** * @flow - * @relayHash 706fe1299db955678947226c1092d3bc + * @relayHash 343297dc87b3ae95d77e805a5098c02e */ /* eslint-disable */ @@ -59,6 +59,7 @@ fragment reviewSummariesAccumulator_pullRequest_2zzc96 on PullRequest { state submittedAt lastEditedAt + url author { __typename login @@ -135,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", @@ -215,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": [ @@ -310,6 +312,7 @@ return { "args": null, "storageKey": null }, + (v4/*: any*/), { "kind": "LinkedField", "alias": null, @@ -398,7 +401,7 @@ return { "kind": "LinkedHandle", "alias": null, "name": "reviews", - "args": (v4/*: any*/), + "args": (v5/*: any*/), "handle": "connection", "key": "ReviewSummariesAccumulator_reviews", "filters": null @@ -413,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 lastEditedAt\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 06a5412c32..784979ce6b 100644 --- a/lib/containers/accumulators/__generated__/reviewSummariesAccumulator_pullRequest.graphql.js +++ b/lib/containers/accumulators/__generated__/reviewSummariesAccumulator_pullRequest.graphql.js @@ -27,6 +27,7 @@ export type reviewSummariesAccumulator_pullRequest = {| +state: PullRequestReviewState, +submittedAt: ?any, +lastEditedAt: ?any, + +url: any, +author: ?{| +login: string, +avatarUrl: any, @@ -40,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", @@ -71,13 +80,7 @@ const node/*: ReaderFragment*/ = { } ], "selections": [ - { - "kind": "ScalarField", - "alias": null, - "name": "url", - "args": null, - "storageKey": null - }, + (v0/*: any*/), { "kind": "LinkedField", "alias": "reviews", @@ -172,6 +175,7 @@ const node/*: ReaderFragment*/ = { "args": null, "storageKey": null }, + (v0/*: any*/), { "kind": "LinkedField", "alias": null, @@ -217,6 +221,7 @@ const node/*: ReaderFragment*/ = { } ] }; +})(); // prettier-ignore -(node/*: any*/).hash = 'ba9669ee452a25dad0926f21fa8e4be4'; +(node/*: any*/).hash = '1e0ba0b2a960b9606a55b7d058ec12d1'; module.exports = node; diff --git a/lib/containers/accumulators/review-summaries-accumulator.js b/lib/containers/accumulators/review-summaries-accumulator.js index a521b124ba..82b72eaf8e 100644 --- a/lib/containers/accumulators/review-summaries-accumulator.js +++ b/lib/containers/accumulators/review-summaries-accumulator.js @@ -74,6 +74,7 @@ export default createPaginationContainer(BareReviewSummariesAccumulator, { state submittedAt lastEditedAt + url author { login avatarUrl diff --git a/lib/views/reviews-view.js b/lib/views/reviews-view.js index b2bd8ab2c5..33e0391507 100644 --- a/lib/views/reviews-view.js +++ b/lib/views/reviews-view.js @@ -271,7 +271,8 @@ export default class ReviewsView extends React.Component { {reviewAuthor} {copy} {review.lastEditedAt !== null && ( -  • edited +  • edited + )} From eef9ce816dcf8dc59cd1169707a1e2906baf0ef0 Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Wed, 10 Apr 2019 15:08:57 -0700 Subject: [PATCH 05/15] Style text color as subtle --- lib/views/reviews-view.js | 2 +- styles/review.less | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/views/reviews-view.js b/lib/views/reviews-view.js index 33e0391507..3777ab960a 100644 --- a/lib/views/reviews-view.js +++ b/lib/views/reviews-view.js @@ -271,7 +271,7 @@ export default class ReviewsView extends React.Component { {reviewAuthor} {copy} {review.lastEditedAt !== null && ( -  • edited +  • edited )} diff --git a/styles/review.less b/styles/review.less index 28e098cf6b..8c5faec83f 100644 --- a/styles/review.less +++ b/styles/review.less @@ -177,7 +177,7 @@ font-weight: 500; } - &-type { + &-type, &-edited { color: @text-color-subtle; } @@ -398,7 +398,7 @@ font-weight: 500; } - &-timeAgo, &-reportAbuseLink { + &-timeAgo, &-reportAbuseLink, &-edited { color: @text-color-subtle; } From b66001d1afaf8f726eaa2d2769731fa90e8a51e3 Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Wed, 10 Apr 2019 15:14:35 -0700 Subject: [PATCH 06/15] Make link subtle too There's probably a better way... --- lib/views/reviews-view.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/views/reviews-view.js b/lib/views/reviews-view.js index 3777ab960a..7c8783292c 100644 --- a/lib/views/reviews-view.js +++ b/lib/views/reviews-view.js @@ -271,7 +271,7 @@ export default class ReviewsView extends React.Component { {reviewAuthor} {copy} {review.lastEditedAt !== null && ( -  • edited +  • edited )} @@ -523,7 +523,7 @@ export default class ReviewsView extends React.Component { {comment.lastEditedAt !== null && ( -  • edited +  • edited )} {comment.state === 'PENDING' && ( pending From 3bac61d7faaef3eddc973fa75f0519d03452b77a Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Wed, 10 Apr 2019 15:16:25 -0700 Subject: [PATCH 07/15] :shirt: --- lib/views/reviews-view.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/views/reviews-view.js b/lib/views/reviews-view.js index 7c8783292c..4844e78e64 100644 --- a/lib/views/reviews-view.js +++ b/lib/views/reviews-view.js @@ -271,7 +271,10 @@ export default class ReviewsView extends React.Component { {reviewAuthor} {copy} {review.lastEditedAt !== null && ( -  • edited + +  •  + edited + )} @@ -523,7 +526,10 @@ export default class ReviewsView extends React.Component { {comment.lastEditedAt !== null && ( -  • edited + +  •  + edited + )} {comment.state === 'PENDING' && ( pending From 082198c5366f01655ba3481997037e5a4759c429 Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Wed, 10 Apr 2019 15:48:25 -0700 Subject: [PATCH 08/15] Update mutation to optimisitically set `lastEditedAt` value to null --- .../addPrReviewCommentMutation.graphql.js | 57 +++++++++++-------- lib/mutations/add-pr-review-comment.js | 2 + 2 files changed, 36 insertions(+), 23 deletions(-) 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'); From d59f1cba1dba461cf54a2bb8953546a97ec800d3 Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Wed, 10 Apr 2019 16:02:24 -0700 Subject: [PATCH 09/15] Add graphql fields to test builders --- test/builder/graphql/pr.js | 3 +++ 1 file changed, 3 insertions(+) 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}, From 8b66630178d38d3997a139b4e654b234d628c131 Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Wed, 10 Apr 2019 16:11:01 -0700 Subject: [PATCH 10/15] Tell eslint to ignore snapshotting output --- .eslintignore | 1 + 1 file changed, 1 insertion(+) 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/**/* From 2b6e40c13acf5001495efcc3bb01e29b713dcca2 Mon Sep 17 00:00:00 2001 From: annthurium Date: Wed, 10 Apr 2019 16:28:27 -0700 Subject: [PATCH 11/15] extract function to render We're essentially doing the same thing twice so this is a bit DRYer, and allows us to avoid duplicating css. --- lib/views/reviews-view.js | 28 +++++++++++++++------------- styles/review.less | 2 +- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/lib/views/reviews-view.js b/lib/views/reviews-view.js index 4844e78e64..3f42f5bf09 100644 --- a/lib/views/reviews-view.js +++ b/lib/views/reviews-view.js @@ -270,13 +270,7 @@ export default class ReviewsView extends React.Component { /> {reviewAuthor} {copy} - {review.lastEditedAt !== null && ( - -  •  - edited - - - )} + {this.renderEditedLink(review)}
@@ -501,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 ( @@ -525,12 +532,7 @@ export default class ReviewsView extends React.Component { - {comment.lastEditedAt !== null && ( - -  •  - edited - - )} + {this.renderEditedLink(comment)} {comment.state === 'PENDING' && ( pending )} diff --git a/styles/review.less b/styles/review.less index 8c5faec83f..68e4abea60 100644 --- a/styles/review.less +++ b/styles/review.less @@ -177,7 +177,7 @@ font-weight: 500; } - &-type, &-edited { + &-type { color: @text-color-subtle; } From 6fcd347ff598e23056c2427398198bea7bc544f0 Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Thu, 11 Apr 2019 15:43:56 -0700 Subject: [PATCH 12/15] Add test for "edited" indicator --- test/views/reviews-view.test.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/test/views/reviews-view.test.js b/test/views/reviews-view.test.js index 8b91f053c1..e54214a8cc 100644 --- a/test/views/reviews-view.test.js +++ b/test/views/reviews-view.test.js @@ -193,7 +193,7 @@ describe('ReviewsView', function() { ); }).addReviewThread(t => { t.addComment(c => - c.id(2).path('file1').position(20).bodyHTML('thanks for all the fish').author(a => a.login('dolphin').avatarUrl('pic-of-dolphin')), + c.id(2).path('file1').position(20).bodyHTML('thanks for all the fish').author(a => a.login('dolphin').avatarUrl('pic-of-dolphin')).lastEditedAt('2018-12-27T17:51:17Z'), ); t.addComment(c => c.id(3).path('file1').position(20).bodyHTML('shhhh').state('PENDING'), @@ -238,6 +238,17 @@ describe('ReviewsView', function() { assert.strictEqual(comment.find('em').text(), 'This comment was hidden'); }); + it('indicates that a comment has been edited', function() { + const thread = wrapper.find('details.github-Review').at(1); + + const comment0 = thread.find('.github-Review-comment').at(0); + assert.isTrue(comment0.exists('.github-Review-edited')); + assert.strictEqual(comment0.find('a.github-Review-edited').text(), 'edited'); + + const comment1 = thread.find('.github-Review-comment').at(1); + assert.isFalse(comment1.exists('.github-Review-edited')); + }); + describe('each thread', function() { it('displays correct data', function() { const thread = wrapper.find('details.github-Review').at(0); From c81f46c0b7c94ec89ae14a6b97d756722ec3c837 Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Thu, 11 Apr 2019 15:52:10 -0700 Subject: [PATCH 13/15] Verify correct link for "edited" indicator --- test/views/reviews-view.test.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test/views/reviews-view.test.js b/test/views/reviews-view.test.js index e54214a8cc..247676f245 100644 --- a/test/views/reviews-view.test.js +++ b/test/views/reviews-view.test.js @@ -193,7 +193,8 @@ describe('ReviewsView', function() { ); }).addReviewThread(t => { t.addComment(c => - c.id(2).path('file1').position(20).bodyHTML('thanks for all the fish').author(a => a.login('dolphin').avatarUrl('pic-of-dolphin')).lastEditedAt('2018-12-27T17:51:17Z'), + c.id(2).path('file1').position(20).bodyHTML('thanks for all the fish').author(a => a.login('dolphin').avatarUrl('pic-of-dolphin')) + .lastEditedAt('2018-12-27T17:51:17Z').url('https://github.com/atom/github/pull/1995#discussion_r272475592'), ); t.addComment(c => c.id(3).path('file1').position(20).bodyHTML('shhhh').state('PENDING'), @@ -243,7 +244,9 @@ describe('ReviewsView', function() { const comment0 = thread.find('.github-Review-comment').at(0); assert.isTrue(comment0.exists('.github-Review-edited')); - assert.strictEqual(comment0.find('a.github-Review-edited').text(), 'edited'); + const editedWrapper = comment0.find('a.github-Review-edited'); + assert.strictEqual(editedWrapper.text(), 'edited'); + assert.strictEqual(editedWrapper.prop('href'), 'https://github.com/atom/github/pull/1995#discussion_r272475592'); const comment1 = thread.find('.github-Review-comment').at(1); assert.isFalse(comment1.exists('.github-Review-edited')); From 676c0645f2891502f1331ae476a8061363110ddc Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Thu, 11 Apr 2019 16:09:21 -0700 Subject: [PATCH 14/15] Add test for edited review summary comment --- test/views/reviews-view.test.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/test/views/reviews-view.test.js b/test/views/reviews-view.test.js index 247676f245..ccf7f417dc 100644 --- a/test/views/reviews-view.test.js +++ b/test/views/reviews-view.test.js @@ -239,7 +239,26 @@ describe('ReviewsView', function() { assert.strictEqual(comment.find('em').text(), 'This comment was hidden'); }); - it('indicates that a comment has been edited', function() { + 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 updated = aggregatedReviewsBuilder() + .addReviewSummary(r => r.id(0).lastEditedAt('2018-12-27T17:51:17Z').url(commentUrl)) + .build(); + + wrapper.setProps({...updated}); + + 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 thread = wrapper.find('details.github-Review').at(1); const comment0 = thread.find('.github-Review-comment').at(0); From 2636d7074910e8ae03ca3ab589017c14f7e4e16b Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Thu, 11 Apr 2019 16:18:01 -0700 Subject: [PATCH 15/15] Improve test to better simulate editing a comment --- test/views/reviews-view.test.js | 38 ++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/test/views/reviews-view.test.js b/test/views/reviews-view.test.js index ccf7f417dc..ab3914051c 100644 --- a/test/views/reviews-view.test.js +++ b/test/views/reviews-view.test.js @@ -193,8 +193,7 @@ describe('ReviewsView', function() { ); }).addReviewThread(t => { t.addComment(c => - c.id(2).path('file1').position(20).bodyHTML('thanks for all the fish').author(a => a.login('dolphin').avatarUrl('pic-of-dolphin')) - .lastEditedAt('2018-12-27T17:51:17Z').url('https://github.com/atom/github/pull/1995#discussion_r272475592'), + c.id(2).path('file1').position(20).bodyHTML('thanks for all the fish').author(a => a.login('dolphin').avatarUrl('pic-of-dolphin')), ); t.addComment(c => c.id(3).path('file1').position(20).bodyHTML('shhhh').state('PENDING'), @@ -245,11 +244,11 @@ describe('ReviewsView', function() { assert.isFalse(summary.exists('.github-Review-edited')); const commentUrl = 'https://github.com/atom/github/pull/1995#discussion_r272475592'; - const updated = aggregatedReviewsBuilder() + const updatedProps = aggregatedReviewsBuilder() .addReviewSummary(r => r.id(0).lastEditedAt('2018-12-27T17:51:17Z').url(commentUrl)) .build(); - wrapper.setProps({...updated}); + wrapper.setProps({...updatedProps}); const updatedSummary = wrapper.find('.github-ReviewSummary').at(0); assert.isTrue(updatedSummary.exists('.github-Review-edited')); @@ -259,16 +258,31 @@ describe('ReviewsView', function() { }); it('indicates that a thread comment has been edited', function() { - const thread = wrapper.find('details.github-Review').at(1); + const comment = wrapper.find('details.github-Review').at(0).find('.github-Review-comment').at(0); + assert.isFalse(comment.exists('.github-Review-edited')); - const comment0 = thread.find('.github-Review-comment').at(0); - assert.isTrue(comment0.exists('.github-Review-edited')); - const editedWrapper = comment0.find('a.github-Review-edited'); - assert.strictEqual(editedWrapper.text(), 'edited'); - assert.strictEqual(editedWrapper.prop('href'), 'https://github.com/atom/github/pull/1995#discussion_r272475592'); + 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(); - const comment1 = thread.find('.github-Review-comment').at(1); - assert.isFalse(comment1.exists('.github-Review-edited')); + 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() {