diff --git a/Classes/Issues/PullRequest+IssueType.swift b/Classes/Issues/PullRequest+IssueType.swift
index cc17990a..058ae6a4 100644
--- a/Classes/Issues/PullRequest+IssueType.swift
+++ b/Classes/Issues/PullRequest+IssueType.swift
@@ -44,6 +44,7 @@ extension IssueOrPullRequestQuery.Data.Repository.IssueOrPullRequest.AsPullReque
for node in timeline.nodes ?? [] {
guard let node = node else { continue }
+
if let comment = node.asIssueComment {
if let model = createCommentModel(
id: comment.fragments.nodeFields.id,
@@ -123,10 +124,29 @@ extension IssueOrPullRequestQuery.Data.Repository.IssueOrPullRequest.AsPullReque
pullRequest: false
)
results.append(model)
+ } else if let thread = node.asPullRequestReviewThread {
+ results += commentModels(thread: thread, width: width)
}
}
return results
}
+ private func commentModels(thread: Timeline.Node.AsPullRequestReviewThread, width: CGFloat) -> [ListDiffable] {
+ var results = [ListDiffable]()
+ for node in thread.comments.nodes ?? [] {
+ guard let fragments = node?.fragments else { continue }
+
+ if let model = createCommentModel(
+ id: fragments.nodeFields.id,
+ commentFields: fragments.commentFields,
+ reactionFields: fragments.reactionFields,
+ width: width
+ ) {
+ results.append(model)
+ }
+ }
+ return results
+ }
+
}
diff --git a/Resources/Info.plist b/Resources/Info.plist
index 55a9a933..b31ea16d 100644
--- a/Resources/Info.plist
+++ b/Resources/Info.plist
@@ -19,7 +19,7 @@
CFBundleShortVersionString
1.0.0
CFBundleVersion
- 388
+ 392
LSApplicationQueriesSchemes
org-appextension-feature-password-management
diff --git a/gql/API.swift b/gql/API.swift
index 1687ea00..6ed12919 100644
--- a/gql/API.swift
+++ b/gql/API.swift
@@ -317,8 +317,9 @@ public final class IssueOrPullRequestQuery: GraphQLQuery {
" __typename" +
" nodes {" +
" __typename" +
+ " ...reactionFields" +
+ " ...nodeFields" +
" ...commentFields" +
- " position" +
" path" +
" diffHunk" +
" }" +
@@ -326,6 +327,7 @@ public final class IssueOrPullRequestQuery: GraphQLQuery {
" }" +
" ... on PullRequestReview {" +
" __typename" +
+ " ...nodeFields" +
" ...commentFields" +
" state" +
" submittedAt" +
@@ -957,11 +959,13 @@ public final class IssueOrPullRequestQuery: GraphQLQuery {
state = try reader.value(for: Field(responseName: "state"))
submittedAt = try reader.optionalValue(for: Field(responseName: "submittedAt"))
+ let nodeFields = try NodeFields(reader: reader)
let commentFields = try CommentFields(reader: reader)
- fragments = Fragments(commentFields: commentFields)
+ fragments = Fragments(nodeFields: nodeFields, commentFields: commentFields)
}
public struct Fragments {
+ public let nodeFields: NodeFields
public let commentFields: CommentFields
}
@@ -1340,8 +1344,6 @@ public final class IssueOrPullRequestQuery: GraphQLQuery {
public struct Node: GraphQLMappable {
public let __typename: String
- /// The line index in the diff to which the comment applies.
- public let position: Int?
/// The path to which the comment applies.
public let path: String
/// The diff hunk to which the comment applies.
@@ -1351,15 +1353,18 @@ public final class IssueOrPullRequestQuery: GraphQLQuery {
public init(reader: GraphQLResultReader) throws {
__typename = try reader.value(for: Field(responseName: "__typename"))
- position = try reader.optionalValue(for: Field(responseName: "position"))
path = try reader.value(for: Field(responseName: "path"))
diffHunk = try reader.value(for: Field(responseName: "diffHunk"))
+ let reactionFields = try ReactionFields(reader: reader)
+ let nodeFields = try NodeFields(reader: reader)
let commentFields = try CommentFields(reader: reader)
- fragments = Fragments(commentFields: commentFields)
+ fragments = Fragments(reactionFields: reactionFields, nodeFields: nodeFields, commentFields: commentFields)
}
public struct Fragments {
+ public let reactionFields: ReactionFields
+ public let nodeFields: NodeFields
public let commentFields: CommentFields
}
}
diff --git a/gql/IssueOrPullRequest.graphql b/gql/IssueOrPullRequest.graphql
index 929964f8..e1917ab5 100644
--- a/gql/IssueOrPullRequest.graphql
+++ b/gql/IssueOrPullRequest.graphql
@@ -173,14 +173,16 @@ query IssueOrPullRequest($owner: String!, $repo: String!, $number: Int!, $page_s
... on PullRequestReviewThread {
comments(first:$page_size) {
nodes {
+ ...reactionFields
+ ...nodeFields
...commentFields
- position
path
diffHunk
}
}
}
... on PullRequestReview {
+ ...nodeFields
...commentFields
state
submittedAt