use relatedprofiles for reactions/messages
This commit is contained in:
@@ -361,9 +361,18 @@ export function ListConvosProviderInner({
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// add relatedProfiles to members list, but making sure to dedupe
|
||||||
|
const relatedProfilesSansMembers = (
|
||||||
|
logRef.relatedProfiles ?? []
|
||||||
|
).filter(
|
||||||
|
profile =>
|
||||||
|
!foundConvo.members.some(member => member.did === profile.did),
|
||||||
|
)
|
||||||
|
|
||||||
// Update the convo
|
// Update the convo
|
||||||
const updatedConvo = {
|
const updatedConvo = {
|
||||||
...foundConvo,
|
...foundConvo,
|
||||||
|
members: [...foundConvo.members, ...relatedProfilesSansMembers],
|
||||||
rev: logRef.rev,
|
rev: logRef.rev,
|
||||||
lastMessage: logRef.message,
|
lastMessage: logRef.message,
|
||||||
unreadCount:
|
unreadCount:
|
||||||
@@ -625,15 +634,25 @@ export function ListConvosProviderInner({
|
|||||||
old => optimisticDeleteJoinRequest(log.convoId, old),
|
old => optimisticDeleteJoinRequest(log.convoId, old),
|
||||||
)
|
)
|
||||||
} else if (ChatBskyConvoDefs.isLogAddReaction(log)) {
|
} else if (ChatBskyConvoDefs.isLogAddReaction(log)) {
|
||||||
updateConvoInAllLists(log.convoId, convo => ({
|
updateConvoInAllLists(log.convoId, convo => {
|
||||||
...convo,
|
// add relatedProfiles to members list, but making sure to dedupe
|
||||||
lastReaction: {
|
const relatedProfilesSansMembers = (
|
||||||
$type: 'chat.bsky.convo.defs#messageAndReactionView',
|
log.relatedProfiles ?? []
|
||||||
reaction: log.reaction,
|
).filter(
|
||||||
message: log.message,
|
profile =>
|
||||||
},
|
!convo.members.some(member => member.did === profile.did),
|
||||||
rev: log.rev,
|
)
|
||||||
}))
|
return {
|
||||||
|
...convo,
|
||||||
|
members: [...convo.members, ...relatedProfilesSansMembers],
|
||||||
|
lastReaction: {
|
||||||
|
$type: 'chat.bsky.convo.defs#messageAndReactionView',
|
||||||
|
reaction: log.reaction,
|
||||||
|
message: log.message,
|
||||||
|
},
|
||||||
|
rev: log.rev,
|
||||||
|
}
|
||||||
|
})
|
||||||
} else if (ChatBskyConvoDefs.isLogAddMember(log)) {
|
} else if (ChatBskyConvoDefs.isLogAddMember(log)) {
|
||||||
const data = log.message.data
|
const data = log.message.data
|
||||||
if (
|
if (
|
||||||
|
|||||||
Reference in New Issue
Block a user