android, desktop: fix accepting contact request (#6021)

This commit is contained in:
spaced4ndy
2025-06-30 16:34:42 +00:00
committed by GitHub
parent c80ae1c64a
commit bf305964bc

View File

@@ -2435,12 +2435,11 @@ object ChatController {
val contactRequest = r.contactRequest
if (active(r.user)) {
withContext(Dispatchers.Main) {
if (r.contact_ != null) { // means contact request was created with contact, so we need to add/update contact chat
val contact = r.contact_
if (chatModel.chatsContext.hasChat(rhId, contact.id)) {
chatModel.chatsContext.updateContact(rhId, contact)
if (r.chat_ != null) { // means contact request was created with contact, so we need to add/update contact chat
if (chatModel.chatsContext.hasChat(rhId, r.chat_.id)) {
chatModel.chatsContext.updateChatInfo(rhId, r.chat_.chatInfo)
} else {
chatModel.chatsContext.addChat(Chat(remoteHostId = rhId, chatInfo = ChatInfo.Direct(contact), chatItems = listOf()))
chatModel.chatsContext.addChat(r.chat_)
}
} else {
val cInfo = ChatInfo.ContactRequest(contactRequest)
@@ -5948,7 +5947,7 @@ sealed class CR {
@Serializable @SerialName("contactConnected") class ContactConnected(val user: UserRef, val contact: Contact, val userCustomProfile: Profile? = null): CR()
@Serializable @SerialName("contactConnecting") class ContactConnecting(val user: UserRef, val contact: Contact): CR()
@Serializable @SerialName("contactSndReady") class ContactSndReady(val user: UserRef, val contact: Contact): CR()
@Serializable @SerialName("receivedContactRequest") class ReceivedContactRequest(val user: UserRef, val contactRequest: UserContactRequest, val contact_: Contact?): CR()
@Serializable @SerialName("receivedContactRequest") class ReceivedContactRequest(val user: UserRef, val contactRequest: UserContactRequest, val chat_: Chat?): CR()
@Serializable @SerialName("acceptingContactRequest") class AcceptingContactRequest(val user: UserRef, val contact: Contact): CR()
@Serializable @SerialName("contactRequestRejected") class ContactRequestRejected(val user: UserRef, val contactRequest: UserContactRequest, val contact_: Contact?): CR()
@Serializable @SerialName("contactUpdated") class ContactUpdated(val user: UserRef, val toContact: Contact): CR()
@@ -6312,7 +6311,7 @@ sealed class CR {
is ContactConnected -> withUser(user, json.encodeToString(contact))
is ContactConnecting -> withUser(user, json.encodeToString(contact))
is ContactSndReady -> withUser(user, json.encodeToString(contact))
is ReceivedContactRequest -> withUser(user, "contactRequest: ${json.encodeToString(contactRequest)}\ncontact_: ${json.encodeToString(contact_)}")
is ReceivedContactRequest -> withUser(user, "contactRequest: ${json.encodeToString(contactRequest)}\nchat_: ${json.encodeToString(chat_)}")
is AcceptingContactRequest -> withUser(user, json.encodeToString(contact))
is ContactRequestRejected -> withUser(user, "contactRequest: ${json.encodeToString(contactRequest)}\ncontact_: ${json.encodeToString(contact_)}")
is ContactUpdated -> withUser(user, json.encodeToString(toContact))