From 6ee27e19418f0612b7df65bb850c1508282efc3a Mon Sep 17 00:00:00 2001 From: automated-signal <37887102+automated-signal@users.noreply.github.com> Date: Fri, 16 May 2025 15:00:28 -0500 Subject: [PATCH] Fix backup export error for pending direct calls Co-authored-by: ayumi-signal <143036029+ayumi-signal@users.noreply.github.com> --- ts/services/backups/export.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ts/services/backups/export.ts b/ts/services/backups/export.ts index 32af569a4b..f158510a7b 100644 --- a/ts/services/backups/export.ts +++ b/ts/services/backups/export.ts @@ -1613,7 +1613,7 @@ export class BackupExportStream extends Readable { individualCall.type = toIndividualCallTypeProto(type); individualCall.direction = toIndividualCallDirectionProto(direction); - individualCall.state = toIndividualCallStateProto(status); + individualCall.state = toIndividualCallStateProto(status, direction); individualCall.startedCallTimestamp = Long.fromNumber(timestamp); individualCall.read = message.seenStatus === SeenStatus.Seen; @@ -3266,7 +3266,8 @@ function toIndividualCallTypeProto( } function toIndividualCallStateProto( - status: CallStatus + status: CallStatus, + direction: CallDirection ): Backups.IndividualCall.State { const values = Backups.IndividualCall.State; @@ -3283,6 +3284,15 @@ function toIndividualCallStateProto( return values.MISSED_NOTIFICATION_PROFILE; } + if (status === DirectCallStatus.Pending) { + if (direction === CallDirection.Incoming) { + return values.MISSED; + } + if (direction === CallDirection.Outgoing) { + return values.NOT_ACCEPTED; + } + } + if (status === DirectCallStatus.Deleted) { throw new Error( 'statusToIndividualCallProtoEnum: Never back up deleted items!'