50 lines
1.8 KiB
Swift
50 lines
1.8 KiB
Swift
//
|
|
// Copyright 2026 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
//
|
|
|
|
import Foundation
|
|
|
|
/// Represents the Release Notes thread.
|
|
public final class TSReleaseNotesThread: TSThread {
|
|
override public class var recordType: TSThreadType { .releaseNotesThread }
|
|
|
|
@objc
|
|
public class var releaseNotesUniqueId: String {
|
|
"00000000-0000-5000-8000-00000000000A"
|
|
}
|
|
|
|
public class func createReleaseNotes(transaction: DBWriteTransaction) -> TSReleaseNotesThread {
|
|
let releaseNotes = TSReleaseNotesThread(uniqueId: releaseNotesUniqueId)
|
|
releaseNotes.shouldThreadBeVisible = true
|
|
releaseNotes.anyInsert(transaction: transaction)
|
|
return releaseNotes
|
|
}
|
|
|
|
override func deepCopy() -> TSThread {
|
|
return TSReleaseNotesThread(
|
|
id: self.id,
|
|
uniqueId: self.uniqueId,
|
|
creationDate: self.creationDate,
|
|
editTargetTimestamp: self.editTargetTimestamp,
|
|
isArchivedObsolete: self.isArchivedObsolete,
|
|
isMarkedUnreadObsolete: self.isMarkedUnreadObsolete,
|
|
lastDraftInteractionRowId: self.lastDraftInteractionRowId,
|
|
lastDraftUpdateTimestamp: self.lastDraftUpdateTimestamp,
|
|
lastInteractionRowId: self.lastInteractionRowId,
|
|
lastSentStoryTimestamp: self.lastSentStoryTimestamp,
|
|
mentionNotificationMode: self.mentionNotificationMode,
|
|
messageDraft: self.messageDraft,
|
|
messageDraftBodyRanges: self.messageDraftBodyRanges,
|
|
mutedUntilTimestampObsolete: self.mutedUntilTimestampObsolete,
|
|
shouldThreadBeVisible: self.shouldThreadBeVisible,
|
|
storyViewMode: self.storyViewMode,
|
|
)
|
|
}
|
|
|
|
@objc
|
|
override public func recipientAddresses(with tx: DBReadTransaction) -> [SignalServiceAddress] {
|
|
return []
|
|
}
|
|
}
|