Add option to partially disable webui version updated info

This commit is contained in:
schroda
2026-01-25 17:53:32 +01:00
parent 4d7eb74a56
commit 749c81eef1
7 changed files with 36 additions and 5 deletions

View File

@@ -8,5 +8,6 @@
export type MetadataUpdateSettings = {
webUIInformAvailableUpdate: boolean;
webUIInformVersionUpdated: boolean;
serverInformAvailableUpdate: boolean;
};

View File

@@ -43,7 +43,8 @@ export const WebUIUpdateChecker = () => {
const [open, setOpen] = useState(false);
const {
settings: { webUIInformAvailableUpdate },
settings: { webUIInformAvailableUpdate, webUIInformVersionUpdated },
loading: areMetadataServerSettingsLoading,
} = useMetadataServerSettings();
const serverSettings = requestManager.useGetServerSettings();
const isAutoUpdateEnabled = !!serverSettings.data?.settings.webUIUpdateCheckInterval;
@@ -86,8 +87,12 @@ export const WebUIUpdateChecker = () => {
setWebUIVersion(newVersion);
}
if (!isSameAsCurrent && !open) {
setOpen(true);
if (!areMetadataServerSettingsLoading && !isSameAsCurrent && !open) {
if (webUIInformVersionUpdated) {
setOpen(true);
} else {
setWebUIVersion(newVersion);
}
}
useEffect(() => {

View File

@@ -135,6 +135,9 @@ export const APP_METADATA: Record<
webUIInformAvailableUpdate: {
convert: convertToBoolean,
},
webUIInformVersionUpdated: {
convert: convertToBoolean,
},
serverInformAvailableUpdate: {
convert: convertToBoolean,
},
@@ -449,6 +452,7 @@ export const GLOBAL_METADATA_KEYS: AppMetadataKeys[] = [
// updates
'webUIInformAvailableUpdate',
'webUIInformVersionUpdated',
'serverInformAvailableUpdate',
// sources

View File

@@ -82,6 +82,7 @@ export const SERVER_SETTINGS_METADATA_DEFAULT: MetadataServerSettings = {
// updates
webUIInformAvailableUpdate: true,
webUIInformVersionUpdated: true,
serverInformAvailableUpdate: true,
// themes

View File

@@ -40,12 +40,12 @@ export const WebUISettings = () => {
useAppTitle(t`WebUI`);
const {
settings: { webUIInformAvailableUpdate },
settings: { webUIInformAvailableUpdate, webUIInformVersionUpdated },
loading: areMetadataServerSettingsLoading,
request: { error: metadataServerSettingsError, refetch: refetchServerMetadataSettings },
} = useMetadataServerSettings();
const updateMetadataServerSettings = createUpdateMetadataServerSettings<
keyof Pick<MetadataUpdateSettings, 'webUIInformAvailableUpdate'>
keyof Pick<MetadataUpdateSettings, 'webUIInformAvailableUpdate' | 'webUIInformVersionUpdated'>
>((e) => makeToast(t`Failed to save changes`, 'error', getErrorMessage(e)));
const {
@@ -142,6 +142,17 @@ export const WebUISettings = () => {
disabled={isCustomWebUI}
updateCheckInterval={webUISettings.webUIUpdateCheckInterval}
/>
<ListItem>
<ListItemText
primary={t`Inform about updated version`}
secondary={t`Shows a dialog in case the version got updated. This dialog will be shown in case an app refresh is required, regardless of this setting.`}
/>
<Switch
edge="end"
checked={webUIInformVersionUpdated}
onChange={(e) => updateMetadataServerSettings('webUIInformVersionUpdated', e.target.checked)}
/>
</ListItem>
{!webUISettings.webUIUpdateCheckInterval && (
<ListItem>
<ListItemText

View File

@@ -1811,6 +1811,10 @@ msgstr "Inform about changing scanlator on chapter transition"
msgid "Inform about missing chapters on chapter transition"
msgstr "Inform about missing chapters on chapter transition"
#: src/features/settings/screens/WebUISettings.tsx
msgid "Inform about updated version"
msgstr "Inform about updated version"
#: src/base/components/feedback/SnackbarWithDescription.tsx
#: src/base/components/feedback/SnackbarWithDescription.tsx
msgid "Information"
@@ -3015,6 +3019,10 @@ msgstr "Show transition page"
msgid "Shows a dialog in case a new version is available"
msgstr "Shows a dialog in case a new version is available"
#: src/features/settings/screens/WebUISettings.tsx
msgid "Shows a dialog in case the version got updated. This dialog will be shown in case an app refresh is required, regardless of this setting."
msgstr "Shows a dialog in case the version got updated. This dialog will be shown in case an app refresh is required, regardless of this setting."
#: src/features/settings/Settings.constants.ts
msgid "Simple Login"
msgstr "Simple Login"