desktop: disable updates for portable desktop app

This commit is contained in:
Abdullah Atta
2026-05-14 12:37:08 +05:00
parent 93efecd6c3
commit 30a7100fa9
5 changed files with 12 additions and 3 deletions

View File

@@ -38,7 +38,7 @@ import { dirname } from "path";
import { resolvePath } from "../utils/resolve-path";
import { observable } from "@trpc/server/observable";
import { AssetManager } from "../utils/asset-manager";
import { isFlatpak, isSnap } from "../utils";
import { isFlatpak, isPortable, isSnap } from "../utils";
import { setupDesktopIntegration } from "../utils/desktop-integration";
import { rm } from "fs/promises";
import { disableCustomDns, enableCustomDns } from "../utils/custom-dns";
@@ -60,6 +60,7 @@ const NotificationOptions = z.object({
export const osIntegrationRouter = t.router({
isFlatpak: t.procedure.query(() => isFlatpak()),
isSnap: t.procedure.query(() => isSnap()),
isPortable: t.procedure.query(() => isPortable()),
zoomFactor: t.procedure.query(() => config.zoomFactor),
setZoomFactor: t.procedure.input(z.number()).mutation(({ input: factor }) => {

View File

@@ -33,3 +33,7 @@ export function isFlatpak() {
export function isSnap() {
return process.env.SNAP !== undefined;
}
export function isPortable() {
return process.env.PORTABLE_EXECUTABLE_DIR !== undefined;
}

View File

@@ -240,7 +240,8 @@ export const BehaviourSettings: SettingsGroup[] = [
useSettingStore.subscribe((s) => s.autoUpdates, listener),
isHidden: () =>
useSettingStore.getState().isFlatpak ||
useSettingStore.getState().isSnap,
useSettingStore.getState().isSnap ||
useSettingStore.getState().isPortable,
components: [
{
type: "toggle",

View File

@@ -82,7 +82,8 @@ export const AboutSettings: SettingsGroup[] = [
description: strings.releaseTrackDesc(),
isHidden: () =>
useSettingStore.getState().isFlatpak ||
useSettingStore.getState().isSnap,
useSettingStore.getState().isSnap ||
useSettingStore.getState().isPortable,
components: [
{
type: "dropdown",

View File

@@ -90,6 +90,7 @@ class SettingStore extends BaseStore<SettingStore> {
autoUpdates = false;
isFlatpak = false;
isSnap = false;
isPortable = false;
proxyRules?: string;
isInboxEnabled = false;
@@ -104,6 +105,7 @@ class SettingStore extends BaseStore<SettingStore> {
profile: db.settings.getProfile(),
isFlatpak: await desktop?.integration.isFlatpak.query(),
isSnap: await desktop?.integration.isSnap.query(),
isPortable: await desktop?.integration.isPortable.query(),
desktopIntegrationSettings:
await desktop?.integration.desktopIntegration.query(),
privacyMode: await desktop?.integration.privacyMode.query(),