diff --git a/ts/messages/migrateLegacySendAttributes.preload.ts b/ts/messages/migrateLegacySendAttributes.preload.ts index 5d48ffe892..8c9e080e9a 100644 --- a/ts/messages/migrateLegacySendAttributes.preload.ts +++ b/ts/messages/migrateLegacySendAttributes.preload.ts @@ -140,7 +140,7 @@ export function migrateLegacySendAttributes( } function getConversationIdsFromErrors( - errors: undefined | ReadonlyArray, + errors: undefined | null | ReadonlyArray, getConversation: GetConversationType ): Array { const result: Array = []; diff --git a/ts/model-types.d.ts b/ts/model-types.d.ts index 97f1f00a99..7643cf44c5 100644 --- a/ts/model-types.d.ts +++ b/ts/model-types.d.ts @@ -195,7 +195,7 @@ export type MessageAttributesType = { decrypted_at?: number; deletedForEveryone?: boolean; deletedForEveryoneTimestamp?: number; - errors?: ReadonlyArray; + errors?: ReadonlyArray | null; expirationStartTimestamp?: number | null; expireTimer?: DurationInSeconds; groupMigration?: GroupMigrationType; diff --git a/ts/services/backups/export.preload.ts b/ts/services/backups/export.preload.ts index b002167ccc..88ed6bb0de 100644 --- a/ts/services/backups/export.preload.ts +++ b/ts/services/backups/export.preload.ts @@ -2979,7 +2979,7 @@ export class BackupExportStream extends Readable { ): Backups.ChatItem.IOutgoingMessageDetails { const sealedSenderServiceIds = new Set(unidentifiedDeliveries); const errorMap = new Map( - errors.map(({ serviceId, name }) => { + errors?.map(({ serviceId, name }) => { return [serviceId, name]; }) ); diff --git a/ts/sql/Server.node.ts b/ts/sql/Server.node.ts index 76947c4027..82c04bf153 100644 --- a/ts/sql/Server.node.ts +++ b/ts/sql/Server.node.ts @@ -5824,7 +5824,7 @@ function getSortedNonAttachmentMedia( receivedAt: row.received_at, receivedAtMs: row.received_at_ms ?? undefined, sentAt: row.sent_at, - errors: row.errors, + errors: dropNull(row.errors), sendStateByConversationId: row.sendStateByConversationId, readStatus: row.readStatus, isErased: !!row.isErased, diff --git a/ts/state/ducks/lightbox.preload.ts b/ts/state/ducks/lightbox.preload.ts index 27a9705eca..7c6f516423 100644 --- a/ts/state/ducks/lightbox.preload.ts +++ b/ts/state/ducks/lightbox.preload.ts @@ -233,7 +233,7 @@ function showLightboxForViewOnceMedia( isErased: !!message.get('isErased'), readStatus: message.get('readStatus'), sendStateByConversationId: message.get('sendStateByConversationId'), - errors: message.get('errors'), + errors: message.get('errors') ?? undefined, }, }, ]; @@ -340,7 +340,7 @@ function showLightbox(opts: { sourceServiceId: message.get('sourceServiceId'), sentAt, isErased: !!message.get('isErased'), - errors: message.get('errors'), + errors: message.get('errors') ?? undefined, readStatus: message.get('readStatus'), sendStateByConversationId: message.get('sendStateByConversationId'), }, diff --git a/ts/state/ducks/mediaGallery.preload.ts b/ts/state/ducks/mediaGallery.preload.ts index 3e789d7d35..1e619afdf4 100644 --- a/ts/state/ducks/mediaGallery.preload.ts +++ b/ts/state/ducks/mediaGallery.preload.ts @@ -237,7 +237,7 @@ function _cleanMessage( receivedAtMs: message.received_at_ms, sentAt: message.sent_at, isErased: !!message.isErased, - errors: message.errors, + errors: message.errors ?? undefined, readStatus: message.readStatus, sendStateByConversationId: message.sendStateByConversationId, }; diff --git a/ts/state/selectors/message.preload.ts b/ts/state/selectors/message.preload.ts index b9100c8023..a5331740fc 100644 --- a/ts/state/selectors/message.preload.ts +++ b/ts/state/selectors/message.preload.ts @@ -2498,7 +2498,7 @@ export const getMessageDetailsSelector = createSelector( } const { - errors: messageErrors = [], + errors: messageErrors, sendStateByConversationId = {}, unidentifiedDeliveries = [], unidentifiedDeliveryReceived, @@ -2549,7 +2549,7 @@ export const getMessageDetailsSelector = createSelector( } // This will make the error message for outgoing key errors a bit nicer - const allErrors = messageErrors.map(error => { + const allErrors = (messageErrors ?? []).map(error => { if (error.name === OUTGOING_KEY_ERROR) { return { ...error,