Backup encryption and improvements
This commit is contained in:
parent
d2850bdbd9
commit
87ea909ae9
15 changed files with 775 additions and 295 deletions
|
@ -184,9 +184,17 @@ export class BackupExportStream extends Readable {
|
|||
stats.distributionLists += 1;
|
||||
}
|
||||
|
||||
const pinnedConversationIds =
|
||||
window.storage.get('pinnedConversationIds') || [];
|
||||
|
||||
for (const { attributes } of window.ConversationController.getAll()) {
|
||||
const recipientId = this.getRecipientId(attributes);
|
||||
|
||||
let pinnedOrder: number | null = null;
|
||||
if (attributes.isPinned) {
|
||||
pinnedOrder = Math.max(0, pinnedConversationIds.indexOf(attributes.id));
|
||||
}
|
||||
|
||||
this.pushFrame({
|
||||
chat: {
|
||||
// We don't have to use separate identifiers
|
||||
|
@ -194,7 +202,7 @@ export class BackupExportStream extends Readable {
|
|||
recipientId,
|
||||
|
||||
archived: attributes.isArchived === true,
|
||||
pinnedOrder: attributes.isPinned === true ? 1 : null,
|
||||
pinnedOrder,
|
||||
expirationTimerMs:
|
||||
attributes.expireTimer != null
|
||||
? Long.fromNumber(
|
||||
|
@ -588,7 +596,10 @@ export class BackupExportStream extends Readable {
|
|||
const { sendStateByConversationId = {} } = message;
|
||||
for (const [id, entry] of Object.entries(sendStateByConversationId)) {
|
||||
const target = window.ConversationController.get(id);
|
||||
strictAssert(target != null, 'Send target not found');
|
||||
if (!target) {
|
||||
log.warn(`backups: no send target for a message ${message.sent_at}`);
|
||||
continue;
|
||||
}
|
||||
|
||||
let deliveryStatus: Backups.SendStatus.Status;
|
||||
switch (entry.status) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue