             isRoot: false
             )
             else { return }
-        sentComments.append(comment)
-
-        let collectionView = feed.collectionView
-        feed.adapter.performUpdates(animated: false, completion: { _ in
-            collectionView.slk_scrollToBottom(animated: true)
-        })
+
+        needsScrollToBottom = true
+
+        let newResult = previous.updated(
+            timelinePages: previous.timelinePages(appending: [comment])
+        )
+        self.client.cache.set(value: newResult)
     }
 
     func didFailSendingComment(client: AddCommentClient, subjectId: String, body: String) {

        viewerCanUpdate: Bool,
        viewerCanDelete: Bool
        ) {
        guard let comment = createCommentModel(
            id: id,
            commentFields: commentFields,
            reactionFields: reactionFields,

        return rightItem
    }

    init(
        client: GithubClient,
        model: IssueDetailsModel,
