From 9871ebb3b1de663daa622584c2e6d8eb4c21176f Mon Sep 17 00:00:00 2001 From: Diogo Date: Mon, 12 Aug 2024 15:49:34 +0100 Subject: [PATCH] ios: mark chat non deleted only on send/receive (keep chatDeleted flag on open) (#4659) * ios: navigation to delete chat working for group members * modify * Revert "modify" This reverts commit fc811bbb84a9c75fc89087609e0c2fe04afac36a. * don't mark non deleted on open, mark on send * simplify --------- Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> --- apps/ios/Shared/Model/ChatModel.swift | 6 ++++++ apps/ios/Shared/Model/SimpleXAPI.swift | 13 +------------ .../Shared/Views/Contacts/ContactListNavLink.swift | 3 --- 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/apps/ios/Shared/Model/ChatModel.swift b/apps/ios/Shared/Model/ChatModel.swift index 8c838557ed..2763c76857 100644 --- a/apps/ios/Shared/Model/ChatModel.swift +++ b/apps/ios/Shared/Model/ChatModel.swift @@ -328,6 +328,12 @@ final class ChatModel: ObservableObject { // } func addChatItem(_ cInfo: ChatInfo, _ cItem: ChatItem) { + // mark chat non deleted + if case let .direct(contact) = cInfo, contact.chatDeleted { + var updatedContact = contact + updatedContact.chatDeleted = false + updateContact(updatedContact) + } // update previews if let i = getChatIndex(cInfo.id) { chats[i].chatItems = switch cInfo { diff --git a/apps/ios/Shared/Model/SimpleXAPI.swift b/apps/ios/Shared/Model/SimpleXAPI.swift index 5ebdc74788..5707620502 100644 --- a/apps/ios/Shared/Model/SimpleXAPI.swift +++ b/apps/ios/Shared/Model/SimpleXAPI.swift @@ -340,13 +340,7 @@ func loadChat(chat: Chat, search: String = "") { m.chatItemStatuses = [:] im.reversedChatItems = [] let chat = try apiGetChat(type: cInfo.chatType, id: cInfo.apiId, search: search) - if case let .direct(contact) = chat.chatInfo, !cInfo.chatDeleted, chat.chatInfo.chatDeleted { - var updatedContact = contact - updatedContact.chatDeleted = false - m.updateContact(updatedContact) - } else { - m.updateChatInfo(chat.chatInfo) - } + m.updateChatInfo(chat.chatInfo) im.reversedChatItems = chat.chatItems.reversed() } catch let error { logger.error("loadChat error: \(responseError(error))") @@ -1778,11 +1772,6 @@ func processReceivedMsg(_ res: ChatResponse) async { let cItem = aChatItem.chatItem await MainActor.run { if active(user) { - if case let .direct(contact) = cInfo, contact.chatDeleted { - var updatedContact = contact - updatedContact.chatDeleted = false - m.updateContact(updatedContact) - } m.addChatItem(cInfo, cItem) } else if cItem.isRcvNew && cInfo.ntfsEnabled { m.increaseUnreadCounter(user: user) diff --git a/apps/ios/Shared/Views/Contacts/ContactListNavLink.swift b/apps/ios/Shared/Views/Contacts/ContactListNavLink.swift index 4079e1474a..1656710f55 100644 --- a/apps/ios/Shared/Views/Contacts/ContactListNavLink.swift +++ b/apps/ios/Shared/Views/Contacts/ContactListNavLink.swift @@ -82,9 +82,6 @@ struct ContactListNavLink: View { Button { Task { await MainActor.run { - var updatedContact = contact - updatedContact.chatDeleted = false - ChatModel.shared.updateContact(updatedContact) dismissAllSheets(animated: true) { ChatModel.shared.chatId = contact.id }