diff --git a/ui/src/routes/devices.$id.settings.advanced.tsx b/ui/src/routes/devices.$id.settings.advanced.tsx
index 9b0b8fd1..45b9d705 100644
--- a/ui/src/routes/devices.$id.settings.advanced.tsx
+++ b/ui/src/routes/devices.$id.settings.advanced.tsx
@@ -204,6 +204,7 @@ export default function SettingsAdvancedRoute() {
setVersionUpdateLoading(true);
versionInfo = await checkUpdateComponents({
components: components.join(","),
+ // TODO: Rename to appTargetVersion and systemTargetVersion
app: appVersion,
system: systemVersion,
}, devChannel);
@@ -211,11 +212,6 @@ export default function SettingsAdvancedRoute() {
} catch (error: unknown) {
const jsonRpcError = error as JsonRpcError;
handleVersionUpdateError(jsonRpcError);
- return ;
- }
-
- if (!versionInfo) {
- handleVersionUpdateError();
return;
}
diff --git a/ui/src/routes/devices.$id.settings.general.update.tsx b/ui/src/routes/devices.$id.settings.general.update.tsx
index d9f0b8a9..6376945b 100644
--- a/ui/src/routes/devices.$id.settings.general.update.tsx
+++ b/ui/src/routes/devices.$id.settings.general.update.tsx
@@ -22,7 +22,6 @@ export default function SettingsGeneralUpdateRoute() {
const { setModalView, otaState } = useUpdateStore();
const { send } = useJsonRpc();
- const downgrade = useMemo(() => searchParams.get("downgrade") === "true", [searchParams]);
const customAppVersion = useMemo(() => searchParams.get("app") || "", [searchParams]);
const customSystemVersion = useMemo(() => searchParams.get("system") || "", [searchParams]);
const resetConfig = useMemo(() => searchParams.get("resetConfig") === "true", [searchParams]);
@@ -78,7 +77,6 @@ export default function SettingsGeneralUpdateRoute() {
onClose={onClose}
onConfirmUpdate={onConfirmUpdate}
onConfirmDowngrade={onConfirmDowngrade}
- downgrade={downgrade}
customAppVersion={customAppVersion}
customSystemVersion={customSystemVersion}
/>;
@@ -88,11 +86,9 @@ export function Dialog({
onClose,
onConfirmUpdate,
onConfirmDowngrade,
- downgrade,
customAppVersion,
customSystemVersion,
}: Readonly<{
- downgrade: boolean;
onClose: () => void;
onConfirmUpdate: () => void;
onConfirmDowngrade: () => void;
@@ -109,19 +105,19 @@ export function Dialog({
(versionInfo: SystemVersionInfo) => {
const hasUpdate =
versionInfo?.systemUpdateAvailable || versionInfo?.appUpdateAvailable;
- const hasDowngrade = customSystemVersion !== undefined || customAppVersion !== undefined;
+ const forceCustomUpdate = customSystemVersion !== undefined || customAppVersion !== undefined;
setVersionInfo(versionInfo);
- if (hasDowngrade && downgrade) {
- setModalView("updateDowngradeAvailable");
+ if (forceCustomUpdate) {
+ setModalView("confirmCustomUpdate");
} else if (hasUpdate) {
setModalView("updateAvailable");
} else {
setModalView("upToDate");
}
},
- [setModalView, downgrade, customAppVersion, customSystemVersion],
+ [setModalView, customAppVersion, customSystemVersion],
);
const onCancelDowngrade = useCallback(() => {
@@ -151,12 +147,12 @@ export function Dialog({
versionInfo={versionInfo!}
/>
)}
- {modalView === "updateDowngradeAvailable" && (
-