diff --git a/net/web/src/session/cards/cardItem/CardItem.jsx b/net/web/src/session/cards/cardItem/CardItem.jsx index 702cae48..a1e5f03b 100644 --- a/net/web/src/session/cards/cardItem/CardItem.jsx +++ b/net/web/src/session/cards/cardItem/CardItem.jsx @@ -45,10 +45,10 @@ export function CardItem({ item, tooltip, resync, open, call, message }) { )} { item.status === 'connected' && ( - + - + diff --git a/net/web/src/session/cards/useCards.hook.js b/net/web/src/session/cards/useCards.hook.js index fc554d65..5dd231c3 100644 --- a/net/web/src/session/cards/useCards.hook.js +++ b/net/web/src/session/cards/useCards.hook.js @@ -119,6 +119,18 @@ export function useCards() { await card.actions.resyncCard(cardId); }, message: async (cardId) => { + let channelId = null; + channel.state.channels.forEach((entry, id) => { + const cards = entry?.data?.channelDetail?.contacts?.cards || []; + const subject = entry?.data?.channelDetail?.data || ''; + const type = entry?.data?.channelDetail?.dataType || ''; + if (cards.length === 1 && cards[0] === cardId && type === 'superbasic' && subject === '{"subject":null}') { + channelId = entry.id; + } + }); + if (channelId != null) { + return channelId; + } const conversation = await channel.actions.addChannel('superbasic', { subject: null }, [ cardId ]); return conversation.id; },