feat: add option to disable update checker

Add a new setting in User Profile > Settings to disable automatic
update checking on startup and dashboard.

- Adds 'Disable Update Check' toggle in profile settings
- Skips GitHub API calls when disabled (reduces network requests)
- Works for both web app and Electron client

Fixes Termix-SSH/Support#410
This commit is contained in:
ZacharyZcR
2026-01-13 07:48:29 +08:00
parent 8ce4c6f364
commit 4c8e5988c2
5 changed files with 51 additions and 7 deletions

View File

@@ -133,6 +133,9 @@ export function UserProfile({
const saved = localStorage.getItem("showHostTags");
return saved !== null ? saved === "true" : true;
});
const [disableUpdateCheck, setDisableUpdateCheck] = useState<boolean>(
localStorage.getItem("disableUpdateCheck") === "true",
);
const [userRoles, setUserRoles] = useState<UserRole[]>([]);
useEffect(() => {
@@ -212,6 +215,11 @@ export function UserProfile({
window.dispatchEvent(new Event("showHostTagsChanged"));
};
const handleDisableUpdateCheckToggle = (enabled: boolean) => {
setDisableUpdateCheck(enabled);
localStorage.setItem("disableUpdateCheck", enabled.toString());
};
const handleDeleteAccount = async (e: React.FormEvent) => {
e.preventDefault();
setDeleteLoading(true);
@@ -613,6 +621,28 @@ export function UserProfile({
</div>
</div>
</div>
<div className="rounded-lg border-2 border-edge bg-elevated p-4">
<h3 className="text-lg font-semibold mb-4">
{t("profile.updateSettings")}
</h3>
<div className="space-y-4">
<div className="flex items-center justify-between">
<div>
<Label className="text-foreground-secondary">
{t("profile.disableUpdateCheck")}
</Label>
<p className="text-sm text-muted-foreground mt-1">
{t("profile.disableUpdateCheckDesc")}
</p>
</div>
<Switch
checked={disableUpdateCheck}
onCheckedChange={handleDisableUpdateCheckToggle}
/>
</div>
</div>
</div>
</TabsContent>
<TabsContent value="security" className="space-y-4">