diff --git a/background/style-manager.js b/background/style-manager.js index e473b079..f0a7bd24 100644 --- a/background/style-manager.js +++ b/background/style-manager.js @@ -372,7 +372,7 @@ const styleMan = (() => { handleSave(await saveStyle(style), {reason: 'success-revoke', codeIsUpdated: true}); break; - case 'publish': + case 'publish': { if (!style._usw || !style._usw.token) { // Ensures just the style does have the _isUswLinked property as `true`. for (const {style: someStyle} of dataMap.values()) { @@ -406,8 +406,15 @@ const styleMan = (() => { } handleSave(await saveStyle(style), {reason: 'success-publishing', codeIsUpdated: true}); } - uploadStyle(style); + + const returnResult = await uploadStyle(style); + // USw prefix errors with `Error:`. + if (returnResult.startsWith('Error:')) { + style._usw.publishingError = returnResult; + handleSave(await saveStyle(style), {reason: 'publishing-failed', codeIsUpdated: true}); + } break; + } } }); } diff --git a/edit/edit.js b/edit/edit.js index 8fccc7ef..28d39457 100644 --- a/edit/edit.js +++ b/edit/edit.js @@ -65,6 +65,10 @@ msg.onExtension(request => { if (['success-publishing', 'success-revoke'].includes(request.reason)) { updateUI(newStyle); } + if (request.reason === 'publishing-failed') { + messageBoxProxy.alert(newStyle._usw.publishingError, 'pre', + 'UserStyles.world: ' + t('genericError')); + } }); } }