diff --git a/packages/frontend/src/boot/main-boot.ts b/packages/frontend/src/boot/main-boot.ts
index fad6ce3825..d76fbeb28a 100644
--- a/packages/frontend/src/boot/main-boot.ts
+++ b/packages/frontend/src/boot/main-boot.ts
@@ -83,19 +83,21 @@ export async function mainBoot() {
let reloadDialogShowing = false;
stream.on('_disconnected_', async () => {
- if (prefer.s.serverDisconnectedBehavior === 'reload') {
- window.location.reload();
- } else if (prefer.s.serverDisconnectedBehavior === 'dialog') {
- if (reloadDialogShowing) return;
- reloadDialogShowing = true;
- const { canceled } = await confirm({
- type: 'warning',
- title: i18n.ts.disconnectedFromServer,
- text: i18n.ts.reloadConfirm,
- });
- reloadDialogShowing = false;
- if (!canceled) {
+ if (prefer.s.serverDisconnectedBehavior !== 'disabled') {
+ if (prefer.s.serverDisconnectedBehavior === 'reload') {
window.location.reload();
+ } else if (prefer.s.serverDisconnectedBehavior === 'dialog') {
+ if (reloadDialogShowing) return;
+ reloadDialogShowing = true;
+ const { canceled } = await confirm({
+ type: 'warning',
+ title: i18n.ts.disconnectedFromServer,
+ text: i18n.ts.reloadConfirm,
+ });
+ reloadDialogShowing = false;
+ if (!canceled) {
+ window.location.reload();
+ }
}
}
});
diff --git a/packages/frontend/src/pages/settings/preferences.vue b/packages/frontend/src/pages/settings/preferences.vue
index f96accf68a..472c227f28 100644
--- a/packages/frontend/src/pages/settings/preferences.vue
+++ b/packages/frontend/src/pages/settings/preferences.vue
@@ -647,6 +647,7 @@ SPDX-License-Identifier: AGPL-3.0-only
+
diff --git a/packages/frontend/src/preferences/def.ts b/packages/frontend/src/preferences/def.ts
index ac8996058f..1154dc6e6d 100644
--- a/packages/frontend/src/preferences/def.ts
+++ b/packages/frontend/src/preferences/def.ts
@@ -155,7 +155,7 @@ export const PREF_DEF = {
}[],
},
serverDisconnectedBehavior: {
- default: 'quiet' as 'quiet' | 'reload' | 'dialog',
+ default: 'quiet' as 'quiet' | 'reload' | 'dialog' | 'disabled',
},
nsfw: {
default: 'respect' as 'respect' | 'force' | 'ignore',
diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts
index 456006e7ff..3f5b6357fb 100644
--- a/packages/frontend/src/store.ts
+++ b/packages/frontend/src/store.ts
@@ -212,7 +212,7 @@ export const store = markRaw(new Pizzax('base', {
},
serverDisconnectedBehavior: {
where: 'device',
- default: 'quiet' as 'quiet' | 'reload' | 'dialog',
+ default: 'quiet' as 'quiet' | 'reload' | 'dialog' | 'disabled',
},
nsfw: {
where: 'device',