···366366 ): FeedViewPostsSlice[] => {
367367 for (let i = 0; i < slices.length; i++) {
368368 const slice = slices[i]
369369- if (
370370- slice.isReply &&
371371- !slice.isRepost &&
372372- !shouldDisplayReplyInFollowing(slice.getAuthors(), userDid)
373373- ) {
369369+ if (slice.isReply && !shouldDisplayReplyInFollowing(slice, userDid)) {
374370 slices.splice(i, 1)
375371 i--
376372 }
···434430}
435431436432function shouldDisplayReplyInFollowing(
437437- authors: AuthorContext,
433433+ slice: FeedViewPostsSlice,
438434 userDid: string,
439435): boolean {
436436+ if (slice.isRepost) {
437437+ return true
438438+ }
439439+ const authors = slice.getAuthors()
440440 const {author, parentAuthor, grandparentAuthor, rootAuthor} = authors
441441 if (!isSelfOrFollowing(author, userDid)) {
442442 // Only show replies from self or people you follow.
···449449 ) {
450450 // Always show self-threads.
451451 return true
452452+ }
453453+ if (
454454+ parentAuthor &&
455455+ parentAuthor.did !== author.did &&
456456+ rootAuthor &&
457457+ rootAuthor.did === author.did &&
458458+ slice.items.length > 2
459459+ ) {
460460+ // If you follow A, show A -> someone[>0 likes] -> A chains too.
461461+ // This is different from cases below because you only know one person.
462462+ const parentPost = slice.items[1].post
463463+ const parentLikeCount = parentPost.likeCount ?? 0
464464+ if (parentLikeCount > 0) {
465465+ return true
466466+ }
452467 }
453468 // From this point on we need at least one more reason to show it.
454469 if (