From 6e1bc2daed5d31b805a9ecc894ed6e597ce81575 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ng=C3=B4=20Qu=E1=BB=91c=20=C4=90=E1=BA=A1t?= Date: Fri, 23 Sep 2022 20:11:36 +0700 Subject: [PATCH] fix: package manager failures not showing alerts (#3647) * fix: close `LoadingModal` when install falied * move error handler to catch --- .../package-manager/js/src/admin/components/Installer.tsx | 3 ++- .../js/src/admin/components/MajorUpdater.tsx | 2 +- .../js/src/admin/components/WhyNotModal.tsx | 4 ++-- .../js/src/admin/states/ControlSectionState.ts | 8 ++++---- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/extensions/package-manager/js/src/admin/components/Installer.tsx b/extensions/package-manager/js/src/admin/components/Installer.tsx index 353eee3fc..a6a6a1f20 100755 --- a/extensions/package-manager/js/src/admin/components/Installer.tsx +++ b/extensions/package-manager/js/src/admin/components/Installer.tsx @@ -64,7 +64,6 @@ export default class Installer extends Component { body: { data: this.data(), }, - errorHandler, }) .then((response) => { if (response.processing) { @@ -79,8 +78,10 @@ export default class Installer extends Component { window.location.reload(); } }) + .catch(errorHandler) .finally(() => { app.packageManager.control.setLoading(null); + app.modal.close(); m.redraw(); }); } diff --git a/extensions/package-manager/js/src/admin/components/MajorUpdater.tsx b/extensions/package-manager/js/src/admin/components/MajorUpdater.tsx index f0f1483b5..e9c5cf823 100644 --- a/extensions/package-manager/js/src/admin/components/MajorUpdater.tsx +++ b/extensions/package-manager/js/src/admin/components/MajorUpdater.tsx @@ -104,7 +104,6 @@ export default class MajorUpdater { if (response?.processing) { @@ -114,6 +113,7 @@ export default class MajorUpdater { app.modal.close(); this.updateState.status = 'failure'; diff --git a/extensions/package-manager/js/src/admin/components/WhyNotModal.tsx b/extensions/package-manager/js/src/admin/components/WhyNotModal.tsx index ed731fff3..e5c7b0092 100644 --- a/extensions/package-manager/js/src/admin/components/WhyNotModal.tsx +++ b/extensions/package-manager/js/src/admin/components/WhyNotModal.tsx @@ -47,12 +47,12 @@ export default class WhyNotModal { this.loading = false; this.whyNot = response.data.reason; m.redraw(); - }); + }) + .catch(errorHandler); } } diff --git a/extensions/package-manager/js/src/admin/states/ControlSectionState.ts b/extensions/package-manager/js/src/admin/states/ControlSectionState.ts index 1fd6a7fe5..fc02062ff 100644 --- a/extensions/package-manager/js/src/admin/states/ControlSectionState.ts +++ b/extensions/package-manager/js/src/admin/states/ControlSectionState.ts @@ -94,7 +94,6 @@ export default class ControlSectionState { .request({ method: 'POST', url: `${app.forum.attribute('apiUrl')}/package-manager/check-for-updates`, - errorHandler, }) .then((response) => { if ((response as AsyncBackendResponse).processing) { @@ -106,6 +105,7 @@ export default class ControlSectionState { m.redraw(); } }) + .catch(errorHandler) .finally(() => { this.setLoading(null); m.redraw(); @@ -121,7 +121,6 @@ export default class ControlSectionState { .request({ method: 'POST', url: `${app.forum.attribute('apiUrl')}/package-manager/minor-update`, - errorHandler, }) .then((response) => { if (response?.processing) { @@ -131,6 +130,7 @@ export default class ControlSectionState { window.location.reload(); } }) + .catch(errorHandler) .finally(() => { this.setLoading(null); app.modal.close(); @@ -147,7 +147,6 @@ export default class ControlSectionState { .request({ method: 'PATCH', url: `${app.forum.attribute('apiUrl')}/package-manager/extensions/${extension.id}`, - errorHandler, }) .then((response) => { if (response?.processing) { @@ -162,6 +161,7 @@ export default class ControlSectionState { window.location.reload(); } }) + .catch(errorHandler) .finally(() => { this.setLoading(null); app.modal.close(); @@ -177,7 +177,6 @@ export default class ControlSectionState { .request({ method: 'POST', url: `${app.forum.attribute('apiUrl')}/package-manager/global-update`, - errorHandler, }) .then((response) => { if (response?.processing) { @@ -187,6 +186,7 @@ export default class ControlSectionState { window.location.reload(); } }) + .catch(errorHandler) .finally(() => { this.setLoading(null); app.modal.close();