Fix error on accessing encrypted media without keys
In case where the message is encrypted and you request cross-signed keys from another session you may end up in a situation where `media` doesn't exist as you didn't receive keys, yet you have the message's type. This commit fixes this problem by checking if the media is even available.
This commit is contained in:
parent
be18178015
commit
9dfa01e1a8
1 changed files with 2 additions and 2 deletions
|
@ -178,7 +178,7 @@ export default class MFileBody extends React.Component<IProps, IState> {
|
||||||
|
|
||||||
private onPlaceholderClick = async () => {
|
private onPlaceholderClick = async () => {
|
||||||
const mediaHelper = this.props.mediaEventHelper;
|
const mediaHelper = this.props.mediaEventHelper;
|
||||||
if (mediaHelper.media.isEncrypted) {
|
if (mediaHelper?.media.isEncrypted) {
|
||||||
await this.decryptFile();
|
await this.decryptFile();
|
||||||
this.downloadFile(this.fileName, this.linkText);
|
this.downloadFile(this.fileName, this.linkText);
|
||||||
} else {
|
} else {
|
||||||
|
@ -192,7 +192,7 @@ export default class MFileBody extends React.Component<IProps, IState> {
|
||||||
};
|
};
|
||||||
|
|
||||||
public render() {
|
public render() {
|
||||||
const isEncrypted = this.props.mediaEventHelper.media.isEncrypted;
|
const isEncrypted = this.props.mediaEventHelper?.media.isEncrypted;
|
||||||
const contentUrl = this.getContentUrl();
|
const contentUrl = this.getContentUrl();
|
||||||
const fileSize = this.content.info ? this.content.info.size : null;
|
const fileSize = this.content.info ? this.content.info.size : null;
|
||||||
const fileType = this.content.info ? this.content.info.mimetype : "application/octet-stream";
|
const fileType = this.content.info ? this.content.info.mimetype : "application/octet-stream";
|
||||||
|
|
Loading…
Reference in a new issue