From e8843ded5bf1f3d97b735ffe8f8553de46f9b18b Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Fri, 2 Jun 2023 15:01:04 -0500 Subject: Fix a bunch of type errors and add a type-check to the github workflows (#837) * Add yarn type-check * Rename to yarn typecheck * Fix a collection of type errors * Add typecheck to automated tests * add `dist` to exluded folders tsconfig --------- Co-authored-by: Ansh Nanda --- src/lib/api/feed-manip.ts | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) (limited to 'src/lib/api/feed-manip.ts') diff --git a/src/lib/api/feed-manip.ts b/src/lib/api/feed-manip.ts index 035b36096..f2500c4f7 100644 --- a/src/lib/api/feed-manip.ts +++ b/src/lib/api/feed-manip.ts @@ -74,9 +74,12 @@ export class FeedViewPostsSlice { } flattenReplyParent() { - if (this.items[0].reply?.parent) { - this.isFlattenedReply = true - this.items.splice(0, 0, {post: this.items[0].reply?.parent}) + if (this.items[0].reply) { + const reply = this.items[0].reply + if (AppBskyFeedDefs.isPostView(reply.parent)) { + this.isFlattenedReply = true + this.items.splice(0, 0, {post: reply.parent}) + } } } } @@ -130,16 +133,17 @@ export class FeedTuner { // turn non-threads with reply parents into threads for (const slice of slices) { - if ( - !slice.isThread && - !slice.items[0].reason && - slice.items[0].reply?.parent && - !this.seenUris.has(slice.items[0].reply?.parent.uri) && - !soonToBeSeenUris.has(slice.items[0].reply?.parent.uri) - ) { - const uri = slice.items[0].reply?.parent.uri - slice.flattenReplyParent() - soonToBeSeenUris.add(uri) + if (!slice.isThread && !slice.items[0].reason && slice.items[0].reply) { + const reply = slice.items[0].reply + if ( + AppBskyFeedDefs.isPostView(reply.parent) && + !this.seenUris.has(reply.parent.uri) && + !soonToBeSeenUris.has(reply.parent.uri) + ) { + const uri = reply.parent.uri + slice.flattenReplyParent() + soonToBeSeenUris.add(uri) + } } } @@ -231,7 +235,12 @@ export class FeedTuner { } function getSelfReplyUri(item: FeedViewPost): string | undefined { - return item.reply?.parent.author.did === item.post.author.did - ? item.reply?.parent.uri - : undefined + if (item.reply) { + if (AppBskyFeedDefs.isPostView(item.reply.parent)) { + return item.reply.parent.author.did === item.post.author.did + ? item.reply.parent.uri + : undefined + } + } + return undefined } -- cgit 1.4.1