Fix sync message serialization

This commit is contained in:
Fedor Indutny
2026-03-05 11:31:31 -08:00
committed by GitHub
parent 9b51b8f0f0
commit 4c266e0291

View File

@@ -1948,11 +1948,22 @@ export class MessageSender {
const syncMessage = MessageSender.createSyncMessage(); const syncMessage = MessageSender.createSyncMessage();
syncMessage.read = []; syncMessage.read = [];
for (let i = 0; i < reads.length; i += 1) { for (const r of reads) {
const proto = new Proto.SyncMessage.Read({ const proto = new Proto.SyncMessage.Read(
...reads[i], isProtoBinaryEncodingEnabled()
timestamp: Long.fromNumber(reads[i].timestamp), ? {
}); senderAci: null,
senderAciBinary: r.senderAci
? toAciObject(r.senderAci).getRawUuidBytes()
: null,
timestamp: Long.fromNumber(r.timestamp),
}
: {
senderAci: r.senderAci,
senderAciBinary: null,
timestamp: Long.fromNumber(r.timestamp),
}
);
syncMessage.read.push(proto); syncMessage.read.push(proto);
} }
@@ -1982,10 +1993,21 @@ export class MessageSender {
const syncMessage = MessageSender.createSyncMessage(); const syncMessage = MessageSender.createSyncMessage();
syncMessage.viewed = views.map( syncMessage.viewed = views.map(
view => view =>
new Proto.SyncMessage.Viewed({ new Proto.SyncMessage.Viewed(
...view, isProtoBinaryEncodingEnabled()
timestamp: Long.fromNumber(view.timestamp), ? {
}) senderAci: null,
senderAciBinary: view.senderAci
? toAciObject(view.senderAci).getRawUuidBytes()
: null,
timestamp: Long.fromNumber(view.timestamp),
}
: {
senderAci: view.senderAci,
senderAciBinary: null,
timestamp: Long.fromNumber(view.timestamp),
}
)
); );
const contentMessage = new Proto.Content(); const contentMessage = new Proto.Content();
contentMessage.syncMessage = syncMessage; contentMessage.syncMessage = syncMessage;