@@ -15,16 +15,16 @@ import com.getcode.model.ConversationWithLastPointers
1515import com.getcode.model.ID
1616import com.getcode.model.MessageStatus
1717import com.getcode.model.chat.ChatType
18+ import com.getcode.model.chat.MessageContent
1819import com.getcode.model.chat.OutgoingMessageContent
1920import com.getcode.model.chat.Platform
21+ import com.getcode.model.chat.isConversation
2022import com.getcode.model.chat.selfId
21- import com.getcode.model.uuid
2223import com.getcode.network.client.ChatMessageStreamReference
2324import com.getcode.network.exchange.Exchange
2425import com.getcode.network.repository.base58
2526import com.getcode.network.service.ChatServiceV2
2627import com.getcode.utils.ErrorUtils
27- import com.getcode.utils.timestamp
2828import kotlinx.coroutines.CoroutineScope
2929import kotlinx.coroutines.Dispatchers
3030import kotlinx.coroutines.flow.Flow
@@ -137,6 +137,21 @@ class ConversationStreamController @Inject constructor(
137137 messageWithContentMapper.map(chat.id to it)
138138 }
139139
140+ val identityRevealed = messages
141+ .flatMap { it.contents }
142+ .filterIsInstance<MessageContent .IdentityRevealed >()
143+ .firstOrNull()
144+ .takeIf { chat.isConversation }
145+
146+ if (identityRevealed != null && conversation.user == null ) {
147+ scope.launch(Dispatchers .IO ) {
148+ db.conversationDao()
149+ .upsertConversations(
150+ conversation.copy(user = identityRevealed.identity.username)
151+ )
152+ }
153+ }
154+
140155 println (" chat messages: ${messages.count()} , pointers=${pointers.count()} " )
141156
142157 scope.launch(Dispatchers .IO ) {
0 commit comments