minor refactor

pull/941/head
Ryan Zhao 1 year ago
parent 9ae6d2f506
commit 2d3b42a53a

@ -168,7 +168,6 @@
7BD477A827EC39F5004E2822 /* Atomic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BD477A727EC39F5004E2822 /* Atomic.swift */; };
7BDCFC08242186E700641C39 /* NotificationServiceExtensionContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BDCFC07242186E700641C39 /* NotificationServiceExtensionContext.swift */; };
7BDCFC0B2421EB7600641C39 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B6F509951AA53F760068F56A /* Localizable.strings */; };
7BF6F9FD293D64EA0099DEE0 /* SessionFeatureVersion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BF6F9FC293D64EA0099DEE0 /* SessionFeatureVersion.swift */; };
7BFA8AE32831D0D4001876F3 /* ContextMenuVC+EmojiReactsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BFA8AE22831D0D4001876F3 /* ContextMenuVC+EmojiReactsView.swift */; };
7BFD1A8A2745C4F000FB91B9 /* Permissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BFD1A892745C4F000FB91B9 /* Permissions.swift */; };
7BFD1A8C2747150E00FB91B9 /* TurnServerInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BFD1A8B2747150E00FB91B9 /* TurnServerInfo.swift */; };
@ -1302,7 +1301,6 @@
7BD477A727EC39F5004E2822 /* Atomic.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Atomic.swift; sourceTree = "<group>"; };
7BDCFC0424206E7300641C39 /* SessionNotificationServiceExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = SessionNotificationServiceExtension.entitlements; sourceTree = "<group>"; };
7BDCFC07242186E700641C39 /* NotificationServiceExtensionContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationServiceExtensionContext.swift; sourceTree = "<group>"; };
7BF6F9FC293D64EA0099DEE0 /* SessionFeatureVersion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionFeatureVersion.swift; sourceTree = "<group>"; };
7BFA8AE22831D0D4001876F3 /* ContextMenuVC+EmojiReactsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ContextMenuVC+EmojiReactsView.swift"; sourceTree = "<group>"; };
7BFD1A892745C4F000FB91B9 /* Permissions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Permissions.swift; sourceTree = "<group>"; };
7BFD1A8B2747150E00FB91B9 /* TurnServerInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TurnServerInfo.swift; sourceTree = "<group>"; };
@ -2691,7 +2689,6 @@
FD5D201D27B0D87C00FEA984 /* SessionId.swift */,
7B7CB191271508AD0079FF93 /* CallRingTonePlayer.swift */,
7B0EFDED274F598600FFAAE7 /* TimestampUtils.swift */,
7BF6F9FC293D64EA0099DEE0 /* SessionFeatureVersion.swift */,
);
path = General;
sourceTree = "<group>";
@ -5770,7 +5767,6 @@
FDF8487A29405906007DCAE5 /* HTTPError.swift in Sources */,
FDDF074429C3E3D000E5E8B5 /* FetchRequest+Utilities.swift in Sources */,
B87EF18126377A1D00124B3C /* Features.swift in Sources */,
7BF6F9FD293D64EA0099DEE0 /* SessionFeatureVersion.swift in Sources */,
FD09797727FAB7A600936362 /* Data+Image.swift in Sources */,
C300A60D2554B31900555489 /* Logging.swift in Sources */,
B8FF8EA625C11FEF004D1F22 /* IPv4.swift in Sources */,

@ -469,7 +469,7 @@ class ThreadDisappearingMessagesSettingsViewModel: SessionTableViewModel<ThreadD
}
}
.removeDuplicates()
.eraseToAnyPublisher()
.mapToSessionTableViewData(for: self)
// MARK: - Functions

@ -36,7 +36,7 @@ public struct Contact: Codable, Identifiable, Equatable, FetchableRecord, Persis
public let isBlocked: Bool
/// The last known client version represented by pre defined enum values
public let lastKnownClientVersion: SessionVersion.FeatureVersion?
public let lastKnownClientVersion: FeatureVersion?
/// This flag is used to determine whether this contact has approved the current users message request
public let didApproveMe: Bool
@ -58,7 +58,7 @@ public struct Contact: Codable, Identifiable, Equatable, FetchableRecord, Persis
isTrusted: Bool = false,
isApproved: Bool = false,
isBlocked: Bool = false,
lastKnownClientVersion: SessionVersion.FeatureVersion? = nil,
lastKnownClientVersion: FeatureVersion? = nil,
didApproveMe: Bool = false,
hasBeenBlocked: Bool = false,
dependencies: Dependencies = Dependencies()

@ -149,7 +149,7 @@ extension MessageReceiver {
guard let sender: String = message.sender else { return }
// Check the contact's client version based on this received message
let lastKnownClientVersion: SessionVersion.FeatureVersion = (!proto.hasExpirationTimer ?
let lastKnownClientVersion: FeatureVersion = (!proto.hasExpirationTimer ?
.legacyDisappearingMessages :
.newDisappearingMessages
)

@ -88,7 +88,7 @@ public struct SessionThreadViewModel: FetchableRecordWithRowId, Decodable, Equat
public let threadIsNoteToSelf: Bool
public let contactLastKnownClientVersion: SessionVersion.FeatureVersion?
public let contactLastKnownClientVersion: FeatureVersion?
/// This flag indicates whether the thread is an outgoing message request
public let threadIsMessageRequest: Bool?

@ -1,12 +0,0 @@
// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
import Foundation
import GRDB
import DifferenceKit
public class SessionVersion {
public enum FeatureVersion: Int, Codable, Equatable, Hashable, DatabaseValueConvertible {
case legacyDisappearingMessages
case newDisappearingMessages
}
}

@ -1,6 +1,7 @@
// Copyright © 2023 Rangeproof Pty Ltd. All rights reserved.
import Foundation
import GRDB
public struct Version: Comparable {
public let major: Int
@ -53,3 +54,8 @@ public struct Version: Comparable {
return (lhs.patch < rhs.patch)
}
}
public enum FeatureVersion: Int, Codable, Equatable, Hashable, DatabaseValueConvertible {
case legacyDisappearingMessages
case newDisappearingMessages
}

Loading…
Cancel
Save