{{ 'settings.updates.desktop.title' | translate }}

{{ 'settings.updates.desktop.description' | translate }}

{{ statusLabel() }}
@if (isCapacitor) {

{{ 'settings.updates.mobile.title' | translate }}

{{ 'settings.updates.mobile.description' | translate }}

{{ mobileStatusLabel() }}
@if (!mobileState().isSupported) {

{{ 'settings.updates.mobile.unsupported' | translate }}

} @else {

{{ 'settings.updates.installed' | translate }}

{{ mobileState().currentVersion }}

{{ 'settings.updates.storeVersion' | translate }}

{{ mobileState().availableVersion || ('settings.updates.unknown' | translate) }}

{{ 'settings.updates.lastChecked' | translate }}

{{ mobileState().lastCheckedAt ? (mobileState().lastCheckedAt | date: 'medium') : ('settings.updates.notCheckedYet' | translate) }}

{{ 'settings.updates.status' | translate }}

{{ mobileState().statusMessage || ('settings.updates.waitingMobile' | translate) }}

@if (mobileState().status === 'update-available') { @if (mobileState().immediateUpdateAllowed || mobileState().flexibleUpdateAllowed) { } @if (mobileState().flexibleUpdateAllowed && mobileState().status === 'downloading') { } }
} } @if (!isElectron && !isCapacitor) {

{{ 'settings.updates.unsupported' | translate }}

} @if (isElectron) {

{{ 'settings.updates.installed' | translate }}

{{ state().currentVersion }}

{{ 'settings.updates.latestInManifest' | translate }}

{{ state().latestVersion || ('settings.updates.unknown' | translate) }}

{{ 'settings.updates.targetVersion' | translate }}

{{ state().targetVersion || ('settings.updates.automatic' | translate) }}

{{ 'settings.updates.lastChecked' | translate }}

{{ state().lastCheckedAt ? (state().lastCheckedAt | date: 'medium') : ('settings.updates.notCheckedYet' | translate) }}

{{ 'settings.updates.policy.title' | translate }}

{{ 'settings.updates.policy.description' | translate }}

{{ 'settings.updates.status' | translate }}

{{ state().statusMessage || ('settings.updates.waitingDesktop' | translate) }}

@if (state().restartRequired) { }
{{ 'settings.updates.manifest.title' | translate }}

Add one manifest URL per line. The app tries them from top to bottom and falls back to the next URL when a manifest cannot be loaded or is invalid.

{{ isUsingConnectedServerDefaults() ? ('settings.updates.manifest.usingDefaults' | translate) : ('settings.updates.manifest.usingSaved' | translate) }}

{{ 'settings.updates.manifest.emptyHint' | translate }}

@if (!state().defaultManifestUrls.length && isUsingConnectedServerDefaults()) {

{{ 'settings.updates.manifest.noServerManifest' | translate }}

}
@if (state().serverBlocked) {
{{ 'settings.updates.serverBlocked.title' | translate }}

{{ state().serverBlockMessage }}

{{ 'settings.updates.serverBlocked.connectedServer' | translate }}

{{ state().serverVersion || ('settings.updates.serverBlocked.notReported' | translate) }}

{{ 'settings.updates.serverBlocked.requiredMinimum' | translate }}

{{ state().minimumServerVersion || ('settings.updates.unknown' | translate) }}

}

{{ 'settings.updates.resolvedManifest.title' | translate }}

{{ state().manifestUrl || ('settings.updates.resolvedManifest.empty' | translate) }}

}