chore: make downgrade version configurable

This commit is contained in:
Siyuan 2025-11-10 11:57:07 +00:00
parent 6b052e7777
commit 9115362956
2 changed files with 11 additions and 4 deletions

View File

@ -10,9 +10,12 @@ import { useDeviceUiNavigation } from "@/hooks/useAppNavigation";
import { useVersion } from "@/hooks/useVersion"; import { useVersion } from "@/hooks/useVersion";
import { useDeviceStore } from "@/hooks/stores"; import { useDeviceStore } from "@/hooks/stores";
import notifications from "@/notifications"; import notifications from "@/notifications";
import { DOWNGRADE_VERSION } from "@/ui.config";
import { GitHubIcon } from "./Icons"; import { GitHubIcon } from "./Icons";
interface FailSafeModeOverlayProps { interface FailSafeModeOverlayProps {
reason: string; reason: string;
} }
@ -86,7 +89,7 @@ export function FailSafeModeOverlay({ reason }: FailSafeModeOverlayProps) {
const handleReportAndDownloadLogs = () => { const handleReportAndDownloadLogs = () => {
setIsDownloadingLogs(true); setIsDownloadingLogs(true);
send("getFailSafeLogs", {}, (resp: JsonRpcResponse) => { send("getFailSafeLogs", {}, async (resp: JsonRpcResponse) => {
setIsDownloadingLogs(false); setIsDownloadingLogs(false);
if ("error" in resp) { if ("error" in resp) {
@ -105,7 +108,9 @@ export function FailSafeModeOverlay({ reason }: FailSafeModeOverlayProps) {
a.href = url; a.href = url;
a.download = filename; a.download = filename;
document.body.appendChild(a); document.body.appendChild(a);
await new Promise(resolve => setTimeout(resolve, 1000));
a.click(); a.click();
await new Promise(resolve => setTimeout(resolve, 1000));
document.body.removeChild(a); document.body.removeChild(a);
URL.revokeObjectURL(url); URL.revokeObjectURL(url);
@ -126,7 +131,7 @@ Please attach the recovery logs file that was downloaded to your computer:
\`${filename}\` \`${filename}\`
> [!NOTE] > [!NOTE]
> Please omit any sensitive information from the logs. > Please remove any sensitive information from the logs. The reports are public and can be viewed by anyone.
## Additional Context ## Additional Context
[Please describe what you were doing when this occurred]`; [Please describe what you were doing when this occurred]`;
@ -141,7 +146,7 @@ Please attach the recovery logs file that was downloaded to your computer:
}; };
const handleDowngrade = () => { const handleDowngrade = () => {
navigateTo("/settings/general/update?app=0.4.8"); navigateTo(`/settings/general/update?app=${DOWNGRADE_VERSION}`);
}; };
return ( return (
@ -192,7 +197,7 @@ Please attach the recovery logs file that was downloaded to your computer:
size="SM" size="SM"
onClick={handleDowngrade} onClick={handleDowngrade}
theme="light" theme="light"
text="Downgrade to v0.4.8" text={`Downgrade to v${DOWNGRADE_VERSION}`}
disabled={!hasDownloadedLogs} disabled={!hasDownloadedLogs}
/> />
</Tooltip> </Tooltip>

View File

@ -1,4 +1,6 @@
export const CLOUD_API = import.meta.env.VITE_CLOUD_API; export const CLOUD_API = import.meta.env.VITE_CLOUD_API;
export const DOWNGRADE_VERSION = import.meta.env.VITE_DOWNGRADE_VERSION || "0.4.8";
// In device mode, an empty string uses the current hostname (the JetKVM device's IP) as the API endpoint // In device mode, an empty string uses the current hostname (the JetKVM device's IP) as the API endpoint
export const DEVICE_API = ""; export const DEVICE_API = "";