[Chat] Add embeds to the optimistic message (#10564)

This commit is contained in:
Samuel Newman
2026-05-20 19:30:04 +03:00
committed by GitHub
parent 21446b43af
commit a2417e043e
3 changed files with 31 additions and 8 deletions
@@ -45,6 +45,7 @@ import {
} from '#/state/messages/convo'
import {type ConvoState, ConvoStatus} from '#/state/messages/convo/types'
import {useGetPost} from '#/state/queries/post'
import {createEmbedViewRecordFromPost} from '#/state/queries/postgate/util'
import {useAgent} from '#/state/session'
import {List, type ListMethods} from '#/view/com/util/List'
import {MessageComposer} from '#/screens/Messages/components/MessageComposer'
@@ -331,6 +332,7 @@ export function MessagesList({
rt.detectFacetsWithoutResolution()
let embed: $Typed<AppBskyEmbedRecord.Main> | undefined
let embedView: $Typed<AppBskyEmbedRecord.View> | undefined
if (embedUri) {
try {
@@ -344,6 +346,11 @@ export function MessagesList({
},
}
embedView = {
$type: 'app.bsky.embed.record#view',
record: createEmbedViewRecordFromPost(post),
}
// look for the embed uri in the facets, so we can remove it from the text
const postLinkFacet = rt.facets?.find(facet => {
return facet.features.find(feature => {
@@ -391,11 +398,14 @@ export function MessagesList({
setHasScrolled(true)
}
convoState.sendMessage({
text: rt.text,
facets: rt.facets,
embed,
})
convoState.sendMessage(
{
text: rt.text,
facets: rt.facets,
embed,
},
embedView,
)
},
[agent, convoState, embedUri, getPost, hasScrolled, setHasScrolled],
)