Mark attachment as corrupted if audio load failed

Sending corrupted audio should not leave user with non-functional
UI. Mark attachment as corrupted and show generic attachment UI for it
instead.
This commit is contained in:
Fedor Indutny 2021-03-22 11:51:53 -07:00 committed by GitHub
parent d6063d71e5
commit 9fa3359477
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 98 additions and 5 deletions

View file

@ -90,6 +90,7 @@ export type AudioAttachmentProps = {
withContentBelow: boolean;
kickOffAttachmentDownload(): void;
onCorrupted(): void;
};
export type PropsData = {
@ -185,6 +186,10 @@ export type PropsActions = {
attachment: AttachmentType;
messageId: string;
}) => void;
markAttachmentAsCorrupted: (options: {
attachment: AttachmentType;
messageId: string;
}) => void;
showVisualAttachment: (options: {
attachment: AttachmentType;
messageId: string;
@ -686,6 +691,7 @@ export class Message extends React.PureComponent<Props, State> {
i18n,
id,
kickOffAttachmentDownload,
markAttachmentAsCorrupted,
quote,
showVisualAttachment,
isSticker,
@ -773,6 +779,12 @@ export class Message extends React.PureComponent<Props, State> {
messageId: id,
});
},
onCorrupted() {
markAttachmentAsCorrupted({
attachment: firstAttachment,
messageId: id,
});
},
});
}
const { pending, fileName, fileSize, contentType } = firstAttachment;