Show error if debug log upload fails

pull/1/head
Scott Nonnenberg 7 years ago
parent 4ca674edb2
commit 2ef2235317

@ -417,6 +417,10 @@
"message": "message":
"This log will be posted publicly online for contributors to view. You may examine and edit it before submitting." "This log will be posted publicly online for contributors to view. You may examine and edit it before submitting."
}, },
"debugLogError": {
"message":
"Something went wrong with the upload! Please consider manually adding your log to the bug you file."
},
"reportIssue": { "reportIssue": {
"message": "Report an issue", "message": "Report an issue",
"description": "Link to open the issue tracker" "description": "Link to open the issue tracker"

@ -14,11 +14,18 @@ const USER_AGENT = `Signal Desktop ${VERSION}`;
// https://github.com/sindresorhus/got/pull/466 // https://github.com/sindresorhus/got/pull/466
const submitFormData = (form, url) => const submitFormData = (form, url) =>
new Promise((resolve, reject) => { new Promise((resolve, reject) => {
form.submit(url, error => { form.submit(url, (error, response) => {
if (error) { if (error) {
return reject(error); return reject(error);
} }
const { statusCode } = response;
if (statusCode !== 204) {
return reject(
new Error(`Failed to upload to S3, got status ${statusCode}`)
);
}
return resolve(); return resolve();
}); });
}); });

@ -55,16 +55,25 @@
this.$('.buttons, textarea').remove(); this.$('.buttons, textarea').remove();
this.$('.result').addClass('loading'); this.$('.result').addClass('loading');
const publishedLogURL = await window.log.publish(text); try {
const view = new Whisper.DebugLogLinkView({ const publishedLogURL = await window.log.publish(text);
url: publishedLogURL, const view = new Whisper.DebugLogLinkView({
el: this.$('.result'), url: publishedLogURL,
}); el: this.$('.result'),
this.$('.loading').removeClass('loading'); });
view.render(); this.$('.loading').removeClass('loading');
this.$('.link') view.render();
.focus() this.$('.link')
.select(); .focus()
.select();
} catch (error) {
console.log(
'DebugLogView error:',
error && error.stack ? error.stack : error
);
this.$('.loading').removeClass('loading');
this.$('.result').text(i18n('debugLogError'));
}
}, },
}); });
})(); })();

Loading…
Cancel
Save