From fa8e37b0c7a70cd5d6133c05eaa5e13ee390739e Mon Sep 17 00:00:00 2001 From: Morgan Pretty Date: Tue, 14 Nov 2023 12:13:08 +1100 Subject: [PATCH] Removed 'fileIds' from Message.Destination (tested and won't break) Removed 'fileIds' from Message.Destination (tested and won't break) Cleaned up some TODOs --- .../Settings/DeveloperSettingsViewModel.swift | 2 +- .../Messages/Message+Destination.swift | 24 +++---------------- SessionMessagingKit/Messages/Message.swift | 2 +- .../MessageReceiver+ExpirationTimers.swift | 15 ++++-------- .../Sending & Receiving/MessageSender.swift | 2 +- ...eadDisappearingMessagesViewModelSpec.swift | 16 +++++++++---- 6 files changed, 22 insertions(+), 39 deletions(-) diff --git a/Session/Settings/DeveloperSettingsViewModel.swift b/Session/Settings/DeveloperSettingsViewModel.swift index d367eda4c..368f7bf82 100644 --- a/Session/Settings/DeveloperSettingsViewModel.swift +++ b/Session/Settings/DeveloperSettingsViewModel.swift @@ -248,7 +248,7 @@ class DeveloperSettingsViewModel: SessionTableViewModel, NavigatableStateHolder, elements: [ SessionCell.Info( id: .updatedGroups, - title: "Use Updated Groups", + title: "Create Updated Groups", subtitle: """ Controls whether newly created groups are updated or legacy groups. """, diff --git a/SessionMessagingKit/Messages/Message+Destination.swift b/SessionMessagingKit/Messages/Message+Destination.swift index bf741077f..b2ca64e97 100644 --- a/SessionMessagingKit/Messages/Message+Destination.swift +++ b/SessionMessagingKit/Messages/Message+Destination.swift @@ -17,8 +17,7 @@ public extension Message { roomToken: String, server: String, whisperTo: String? = nil, - whisperMods: Bool = false, - fileIds: [String]? = nil + whisperMods: Bool = false ) case openGroupInbox(server: String, openGroupPublicKey: String, blindedPublicKey: String) @@ -36,8 +35,7 @@ public extension Message { public static func from( _ db: Database, threadId: String, - threadVariant: SessionThread.Variant, - fileIds: [String]? = nil + threadVariant: SessionThread.Variant ) throws -> Message.Destination { switch threadVariant { case .contact: @@ -64,23 +62,7 @@ public extension Message { throw StorageError.objectNotFound } - return .openGroup(roomToken: openGroup.roomToken, server: openGroup.server, fileIds: fileIds) - } - } - - func with(fileIds: [String]) -> Message.Destination { - // Only Open Group messages support receiving the 'fileIds' - switch self { - case .openGroup(let roomToken, let server, let whisperTo, let whisperMods, _): - return .openGroup( - roomToken: roomToken, - server: server, - whisperTo: whisperTo, - whisperMods: whisperMods, - fileIds: fileIds - ) - - default: return self + return .openGroup(roomToken: openGroup.roomToken, server: openGroup.server) } } } diff --git a/SessionMessagingKit/Messages/Message.swift b/SessionMessagingKit/Messages/Message.swift index 739df863a..c962f911e 100644 --- a/SessionMessagingKit/Messages/Message.swift +++ b/SessionMessagingKit/Messages/Message.swift @@ -347,7 +347,7 @@ public extension Message { return (maybeSyncTarget ?? publicKey) case .closedGroup(let groupPublicKey): return groupPublicKey - case .openGroup(let roomToken, let server, _, _, _): + case .openGroup(let roomToken, let server, _, _): return OpenGroup.idFor(roomToken: roomToken, server: server) case .openGroupInbox(_, _, let blindedPublicKey): return blindedPublicKey diff --git a/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift b/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift index eccc63c31..7e72a507b 100644 --- a/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift +++ b/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift @@ -246,17 +246,10 @@ extension MessageReceiver { disappearingConfig: remoteConfig, using: dependencies ) - - case .group: - try SessionUtil - .update( - db, - groupSessionId: SessionId(.group, hex: threadId), - disappearingConfig: remoteConfig, - using: dependencies - ) - - default: break + + // For updated groups we want to only rely on the `GROUP_INFO` config message to + // control the disappearing messages setting + case .group, .community: break } } diff --git a/SessionMessagingKit/Sending & Receiving/MessageSender.swift b/SessionMessagingKit/Sending & Receiving/MessageSender.swift index cea21fdb0..22f3dc2c0 100644 --- a/SessionMessagingKit/Sending & Receiving/MessageSender.swift +++ b/SessionMessagingKit/Sending & Receiving/MessageSender.swift @@ -365,7 +365,7 @@ public final class MessageSender { // error in a non-retryable way guard let message: VisibleMessage = message as? VisibleMessage, - case .openGroup(let roomToken, let server, let whisperTo, let whisperMods, _) = destination, + case .openGroup(let roomToken, let server, let whisperTo, let whisperMods) = destination, let openGroup: OpenGroup = try? OpenGroup.fetchOne( db, id: OpenGroup.idFor(roomToken: roomToken, server: server) diff --git a/SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift b/SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift index f0d898130..b8b2a4af2 100644 --- a/SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift +++ b/SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift @@ -128,7 +128,9 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { .defaultWith("TestId") .with( isEnabled: true, - durationSeconds: DisappearingMessagesConfiguration.validDurationsSeconds(.disappearAfterSend).last, + durationSeconds: DisappearingMessagesConfiguration + .validDurationsSeconds(.disappearAfterSend, using: dependencies) + .last, type: .disappearAfterSend ) mockStorage.write { db in @@ -192,7 +194,9 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { ) ) - let title: String = (DisappearingMessagesConfiguration.validDurationsSeconds(.disappearAfterSend).last? + let title: String = (DisappearingMessagesConfiguration + .validDurationsSeconds(.disappearAfterSend, using: dependencies) + .last? .formatted(format: .long)) .defaulting(to: "") expect(viewModel.tableData.last?.elements.last) @@ -237,7 +241,9 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { .defaultWith("TestId") .with( isEnabled: true, - durationSeconds: DisappearingMessagesConfiguration.validDurationsSeconds(.disappearAfterSend).last, + durationSeconds: DisappearingMessagesConfiguration + .validDurationsSeconds(.disappearAfterSend, using: dependencies) + .last, type: .disappearAfterSend ) mockStorage.write { db in @@ -284,7 +290,9 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { ) ) - let title: String = (DisappearingMessagesConfiguration.validDurationsSeconds(.disappearAfterSend).last? + let title: String = (DisappearingMessagesConfiguration + .validDurationsSeconds(.disappearAfterSend, using: dependencies) + .last? .formatted(format: .long)) .defaulting(to: "") expect(viewModel.tableData.last?.elements.last)