feat(frontend): add option Settings->Preferences->Other->When losing connection to the server->Disable

This commit is contained in:
miraikumiko 2025-04-18 11:25:42 +02:00
parent 7a29aed17c
commit 6087f92c91
4 changed files with 17 additions and 14 deletions

View File

@ -83,19 +83,21 @@ export async function mainBoot() {
let reloadDialogShowing = false; let reloadDialogShowing = false;
stream.on('_disconnected_', async () => { stream.on('_disconnected_', async () => {
if (prefer.s.serverDisconnectedBehavior === 'reload') { if (prefer.s.serverDisconnectedBehavior !== 'disabled') {
window.location.reload(); if (prefer.s.serverDisconnectedBehavior === '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(); 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();
}
} }
} }
}); });

View File

@ -647,6 +647,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<option value="reload">{{ i18n.ts._serverDisconnectedBehavior.reload }}</option> <option value="reload">{{ i18n.ts._serverDisconnectedBehavior.reload }}</option>
<option value="dialog">{{ i18n.ts._serverDisconnectedBehavior.dialog }}</option> <option value="dialog">{{ i18n.ts._serverDisconnectedBehavior.dialog }}</option>
<option value="quiet">{{ i18n.ts._serverDisconnectedBehavior.quiet }}</option> <option value="quiet">{{ i18n.ts._serverDisconnectedBehavior.quiet }}</option>
<option value="disabled">{{ i18n.ts.disabled }}</option>
</MkSelect> </MkSelect>
</MkPreferenceContainer> </MkPreferenceContainer>
</SearchMarker> </SearchMarker>

View File

@ -155,7 +155,7 @@ export const PREF_DEF = {
}[], }[],
}, },
serverDisconnectedBehavior: { serverDisconnectedBehavior: {
default: 'quiet' as 'quiet' | 'reload' | 'dialog', default: 'quiet' as 'quiet' | 'reload' | 'dialog' | 'disabled',
}, },
nsfw: { nsfw: {
default: 'respect' as 'respect' | 'force' | 'ignore', default: 'respect' as 'respect' | 'force' | 'ignore',

View File

@ -212,7 +212,7 @@ export const store = markRaw(new Pizzax('base', {
}, },
serverDisconnectedBehavior: { serverDisconnectedBehavior: {
where: 'device', where: 'device',
default: 'quiet' as 'quiet' | 'reload' | 'dialog', default: 'quiet' as 'quiet' | 'reload' | 'dialog' | 'disabled',
}, },
nsfw: { nsfw: {
where: 'device', where: 'device',