diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-05-02 21:51:25 -0500 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2023-05-02 21:51:25 -0500 |
commit | 8c675248d45c01db255a63cd98dc58868ec329fa (patch) | |
tree | 38b7d821336e09a43bb79b56ac1306783308718e /src | |
parent | d225e857b5eadca46b75947e8ec3606129312de7 (diff) | |
download | voidsky-8c675248d45c01db255a63cd98dc58868ec329fa.tar.zst |
Fix replies with <2 likes showing in the following feed
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/api/feed-manip.ts | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/api/feed-manip.ts b/src/lib/api/feed-manip.ts index 341e8727d..60e755048 100644 --- a/src/lib/api/feed-manip.ts +++ b/src/lib/api/feed-manip.ts @@ -1,4 +1,4 @@ -import {AppBskyFeedDefs} from '@atproto/api' +import {AppBskyFeedDefs, AppBskyFeedPost} from '@atproto/api' import lande from 'lande' import {hasProp} from 'lib/type-guards' import {LANGUAGES_MAP_CODE2} from '../../locale/languages' @@ -48,6 +48,13 @@ export class FeedViewPostsSlice { return this.items[0] } + get isReply() { + return ( + AppBskyFeedPost.isRecord(this.rootItem.post.record) && + !!this.rootItem.post.record.reply + ) + } + containsUri(uri: string) { return !!this.items.find(item => item.post.uri === uri) } @@ -176,9 +183,10 @@ export class FeedTuner { ): FeedViewPostsSlice[] { // remove any replies without at least 2 likes for (let i = slices.length - 1; i >= 0; i--) { - if (slices[i].isFullThread || !slices[i].rootItem.reply) { + if (slices[i].isFullThread || !slices[i].isReply) { continue } + const item = slices[i].rootItem const isRepost = Boolean(item.reason) if (!isRepost && (item.post.likeCount || 0) < 2) { |