diff --git a/src/state/cache/post-shadow.ts b/src/state/cache/post-shadow.ts index 492868795c..a2f1887596 100644 --- a/src/state/cache/post-shadow.ts +++ b/src/state/cache/post-shadow.ts @@ -91,8 +91,15 @@ function mergeShadow( repostCount = Math.max(0, repostCount) } - if (shadow.embed !== undefined && post.embed) { - post.embed = shadow.embed + if ('embed' in shadow) { + if ( + (AppBskyEmbedRecord.isView(post.embed) && + AppBskyEmbedRecord.isView(shadow.embed)) || + (AppBskyEmbedRecordWithMedia.isView(post.embed) && + AppBskyEmbedRecordWithMedia.isView(shadow.embed)) + ) { + post.embed = shadow.embed + } } return castAsShadow({