Prep threadgate shadow hack (#4970)
Co-authored-by: Hailey <me@haileyok.com>
This commit is contained in:
Vendored
+13
@@ -21,6 +21,7 @@ export interface PostShadow {
|
||||
repostUri: string | undefined
|
||||
isDeleted: boolean
|
||||
embed: AppBskyEmbedRecord.View | AppBskyEmbedRecordWithMedia.View | undefined
|
||||
threadgateView: AppBskyFeedDefs.ThreadgateView | undefined
|
||||
}
|
||||
|
||||
export const POST_TOMBSTONE = Symbol('PostTombstone')
|
||||
@@ -104,6 +105,16 @@ function mergeShadow(
|
||||
}
|
||||
}
|
||||
|
||||
let threadgateView: typeof post.threadgate
|
||||
if ('threadgateView' in shadow && !post.threadgate) {
|
||||
if (
|
||||
AppBskyFeedDefs.isThreadgateView(shadow.threadgateView) ||
|
||||
shadow.threadgateView === undefined
|
||||
) {
|
||||
threadgateView = shadow.threadgateView
|
||||
}
|
||||
}
|
||||
|
||||
return castAsShadow({
|
||||
...post,
|
||||
embed: embed || post.embed,
|
||||
@@ -114,6 +125,8 @@ function mergeShadow(
|
||||
like: 'likeUri' in shadow ? shadow.likeUri : post.viewer?.like,
|
||||
repost: 'repostUri' in shadow ? shadow.repostUri : post.viewer?.repost,
|
||||
},
|
||||
// always prefer real post data
|
||||
threadgate: post.threadgate || threadgateView,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user