diff --git a/dashboard/src/components/app/Services.vue b/dashboard/src/components/app/Services.vue
index 1d569e7d3..cd01bbfe9 100644
--- a/dashboard/src/components/app/Services.vue
+++ b/dashboard/src/components/app/Services.vue
@@ -2,6 +2,7 @@
import { ref, onMounted } from 'vue';
import { Switch } from '@cloudron/pankow';
+import { ISTATES } from '../../constants.js';
import SettingsItem from '../SettingsItem.vue';
import AppsModel from '../../models/AppsModel.js';
@@ -57,7 +58,7 @@ onMounted(() => {
{{ $t('app.turn.info') }}
-
+
@@ -65,7 +66,7 @@ onMounted(() => {
{{ $t('app.redis.info') }}
-
+
diff --git a/dashboard/src/utils.js b/dashboard/src/utils.js
index df124b157..84d099a01 100644
--- a/dashboard/src/utils.js
+++ b/dashboard/src/utils.js
@@ -502,6 +502,7 @@ function taskNameFromInstallationState(installationState) {
case ISTATES.PENDING_DEBUG: return 'debug';
case ISTATES.PENDING_RESIZE: return 'resize';
case ISTATES.PENDING_DATA_DIR_MIGRATION: return 'data migration';
+ case ISTATES.PENDING_SERVICES_CHANGE: return 'service change';
case ISTATES.PENDING_UNINSTALL: return 'uninstall';
case ISTATES.PENDING_RESTORE: return 'restore';
case ISTATES.PENDING_IMPORT: return 'import';
diff --git a/dashboard/src/views/AppConfigureView.vue b/dashboard/src/views/AppConfigureView.vue
index d35deb708..cef234def 100644
--- a/dashboard/src/views/AppConfigureView.vue
+++ b/dashboard/src/views/AppConfigureView.vue
@@ -49,8 +49,11 @@ const inputDialog = useTemplateRef('inputDialog');
function onSetView(newView) {
if (!isViewEnabled(newView, app.value.error?.details.installationState)) {
- currentView.value = 'info';
- window.location.hash = `/app/${id.value}/info`;
+ if (!currentView.value) {
+ currentView.value = 'info';
+ window.location.hash = `/app/${id.value}/info`;
+ }
+
return;
}