Grab freshest attributes when adding attachment to message

This commit is contained in:
trevor-signal 2024-05-15 10:19:55 -04:00 committed by GitHub
parent 32fda78a5c
commit ad94fef92d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 10 additions and 8 deletions

View file

@ -518,7 +518,7 @@ async function runDownloadAttachmentJob(
if (error instanceof AttachmentSizeError) {
await addAttachmentToMessage(
message,
message.id,
_markAttachmentAsTooBig(job.attachment),
logId,
{ type: job.attachmentType }
@ -528,7 +528,7 @@ async function runDownloadAttachmentJob(
if (error instanceof AttachmentNotFoundOnCdnError) {
await addAttachmentToMessage(
message,
message.id,
_markAttachmentAsPermanentlyErrored(job.attachment),
logId,
{ type: job.attachmentType }
@ -539,7 +539,7 @@ async function runDownloadAttachmentJob(
if (isLastAttempt) {
await addAttachmentToMessage(
message,
message.id,
_markAttachmentAsTransientlyErrored(job.attachment),
logId,
{ type: job.attachmentType }
@ -549,7 +549,7 @@ async function runDownloadAttachmentJob(
// Remove `pending` flag from the attachment and retry later
await addAttachmentToMessage(
message,
message.id,
{
...job.attachment,
pending: false,
@ -601,7 +601,7 @@ async function runDownloadAttachmentJobInner(
}
await addAttachmentToMessage(
message,
message.id,
{ ...attachment, pending: true },
logId,
{ type }
@ -613,7 +613,7 @@ async function runDownloadAttachmentJobInner(
await window.Signal.Migrations.processNewAttachment(downloaded);
await addAttachmentToMessage(
message,
message.id,
omit(upgradedAttachment, ['error', 'pending']),
logId,
{

View file

@ -4,16 +4,18 @@ import * as log from '../logging/log';
import * as Bytes from '../Bytes';
import type { AttachmentDownloadJobTypeType } from '../types/AttachmentDownload';
import type { MessageModel } from '../models/messages';
import type { AttachmentType } from '../types/Attachment';
import { getAttachmentSignature, isDownloaded } from '../types/Attachment';
import { __DEPRECATED$getMessageById } from '../messages/getMessageById';
export async function addAttachmentToMessage(
message: MessageModel | null | undefined,
messageId: string,
attachment: AttachmentType,
jobLogId: string,
{ type }: { type: AttachmentDownloadJobTypeType }
): Promise<void> {
const message = await __DEPRECATED$getMessageById(messageId);
if (!message) {
return;
}