track upload error

This commit is contained in:
Bruno Windels 2020-11-11 11:51:11 +01:00
parent 91f15074be
commit 48cd4ac95d

View File

@ -29,6 +29,7 @@ export class AttachmentUpload {
this._uploadPromise = null; this._uploadPromise = null;
this._uploadRequest = null; this._uploadRequest = null;
this._aborted = false; this._aborted = false;
this._error = null;
} }
upload() { upload() {
@ -39,8 +40,9 @@ export class AttachmentUpload {
} }
async _upload() { async _upload() {
try {
let transferredBlob = this._unencryptedBlob; let transferredBlob = this._unencryptedBlob;
if (this.isEncrypted) { if (this._isEncrypted) {
const {info, blob} = await encryptAttachment(this._platform, this._unencryptedBlob); const {info, blob} = await encryptAttachment(this._platform, this._unencryptedBlob);
transferredBlob = blob; transferredBlob = blob;
this._encryptionInfo = info; this._encryptionInfo = info;
@ -52,6 +54,14 @@ export class AttachmentUpload {
const {content_uri} = await this._uploadRequest.response(); const {content_uri} = await this._uploadRequest.response();
this._mxcUrl = content_uri; this._mxcUrl = content_uri;
this._transferredBlob = transferredBlob; this._transferredBlob = transferredBlob;
} catch (err) {
this._error = err;
throw err;
}
}
get isUploaded() {
return !!this._transferredBlob;
} }
/** @public */ /** @public */
@ -65,6 +75,10 @@ export class AttachmentUpload {
return this._unencryptedBlob; return this._unencryptedBlob;
} }
get error() {
return this._error;
}
/** @package */ /** @package */
uploaded() { uploaded() {
if (!this._uploadPromise) { if (!this._uploadPromise) {