Merge commit '7621e2f8dec938cf48181c8b10afc9b01f444e68' into beta

This commit is contained in:
Ilya Laktyushin
2025-12-06 02:17:48 +04:00
commit 8344b97e03
28070 changed files with 7995182 additions and 0 deletions
@@ -0,0 +1,54 @@
import Foundation
final class MutableTimestampBasedMessageAttributesView {
let tag: UInt16
var head: TimestampBasedMessageAttributesEntry?
init(postbox: PostboxImpl, tag: UInt16) {
self.tag = tag
self.head = postbox.timestampBasedMessageAttributesTable.head(tag: tag)
postboxLog("MutableTimestampBasedMessageAttributesView: tag: \(tag) head: \(String(describing: self.head))")
}
func replay(postbox: PostboxImpl, operations: [TimestampBasedMessageAttributesOperation]) -> Bool {
var updated = false
var invalidatedHead = false
for operation in operations {
switch operation {
case let .add(entry):
if entry.tag == self.tag {
if let head = self.head {
if entry.index < head.index {
self.head = entry
updated = true
}
} else {
self.head = entry
updated = true
}
}
case let .remove(entry):
if entry.tag == self.tag {
if let head = self.head, head.messageId == entry.messageId {
self.head = nil
updated = true
invalidatedHead = true
}
}
}
}
if invalidatedHead {
self.head = postbox.timestampBasedMessageAttributesTable.head(tag: self.tag)
}
return updated
}
}
public final class TimestampBasedMessageAttributesView {
public let head: TimestampBasedMessageAttributesEntry?
init(_ view: MutableTimestampBasedMessageAttributesView) {
self.head = view.head
}
}