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',