diff --git a/Session/Conversations/Settings/ThreadSettingsViewModel.swift b/Session/Conversations/Settings/ThreadSettingsViewModel.swift index 486644d3c..2a1592866 100644 --- a/Session/Conversations/Settings/ThreadSettingsViewModel.swift +++ b/Session/Conversations/Settings/ThreadSettingsViewModel.swift @@ -201,7 +201,12 @@ class ThreadSettingsViewModel: SessionTableViewModel () = { + // Only make this change if needed (want to avoid triggering a thread update + // if not needed) guard threadWasMarkedUnread == true else { return } Storage.shared.writeAsync { db in @@ -289,16 +291,7 @@ public struct SessionThreadViewModel: FetchableRecordWithRowId, Decodable, Equat let threadIsMessageRequest: Bool? = self.threadIsMessageRequest Storage.shared.writeAsync { db in - // Only make this change if needed (want to avoid triggering a thread update - // if not needed) - if threadWasMarkedUnread == true { - try SessionThread - .filter(id: threadId) - .updateAllAndConfig( - db, - SessionThread.Columns.markedAsUnread.set(to: false) - ) - } + markThreadAsReadIfNeeded() try Interaction.markAsRead( db,