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,6 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
### Added ### Added
- (**Theme**) Add an option to save the dynamic color theme on the manga page as a custom theme - (**Theme**) Add an option to save the dynamic color theme on the manga page as a custom theme
- (**WebUI Update**) Add an option to (partially) disable showing information when the webUI got updated
### Changed ### Changed
- (**General**) Preserve refresh token (UI Login) over sessions - (**General**) Preserve refresh token (UI Login) over sessions

View File

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

View File

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

View File

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

View File

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

View File

@@ -40,12 +40,12 @@ export const WebUISettings = () => {
useAppTitle(t`WebUI`); useAppTitle(t`WebUI`);
const { const {
settings: { webUIInformAvailableUpdate }, settings: { webUIInformAvailableUpdate, webUIInformVersionUpdated },
loading: areMetadataServerSettingsLoading, loading: areMetadataServerSettingsLoading,
request: { error: metadataServerSettingsError, refetch: refetchServerMetadataSettings }, request: { error: metadataServerSettingsError, refetch: refetchServerMetadataSettings },
} = useMetadataServerSettings(); } = useMetadataServerSettings();
const updateMetadataServerSettings = createUpdateMetadataServerSettings< const updateMetadataServerSettings = createUpdateMetadataServerSettings<
keyof Pick<MetadataUpdateSettings, 'webUIInformAvailableUpdate'> keyof Pick<MetadataUpdateSettings, 'webUIInformAvailableUpdate' | 'webUIInformVersionUpdated'>
>((e) => makeToast(t`Failed to save changes`, 'error', getErrorMessage(e))); >((e) => makeToast(t`Failed to save changes`, 'error', getErrorMessage(e)));
const { const {
@@ -142,6 +142,17 @@ export const WebUISettings = () => {
disabled={isCustomWebUI} disabled={isCustomWebUI}
updateCheckInterval={webUISettings.webUIUpdateCheckInterval} 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 && ( {!webUISettings.webUIUpdateCheckInterval && (
<ListItem> <ListItem>
<ListItemText <ListItemText

View File

@@ -1811,6 +1811,10 @@ msgstr "Inform about changing scanlator on chapter transition"
msgid "Inform about missing chapters on chapter transition" msgid "Inform about missing chapters on chapter transition"
msgstr "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
#: src/base/components/feedback/SnackbarWithDescription.tsx #: src/base/components/feedback/SnackbarWithDescription.tsx
msgid "Information" msgid "Information"
@@ -3015,6 +3019,10 @@ msgstr "Show transition page"
msgid "Shows a dialog in case a new version is available" msgid "Shows a dialog in case a new version is available"
msgstr "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 #: src/features/settings/Settings.constants.ts
msgid "Simple Login" msgid "Simple Login"
msgstr "Simple Login" msgstr "Simple Login"