feat: rebuild desktop sync as linked server accounts, fix packaged plugin bundles and UI scaling

This commit is contained in:
LukeGus committed 2026-09-26 00:41:25 -05:00
1 parent 7c02daccf4
commit 6cd9a2846d
242 files changed
+39127 -8558

No files matched your search

+1 -9
View File
@@ -49,6 +49,7 @@ export type LocalPathMutationResult =
export interface ElectronAPI {
getAppVersion: () => Promise<string>;
setZoomFactor?: (factor: number) => void;
getPlatform: () => Promise<string>;
getSetting?: (key: string) => Promise<string | null | undefined>;
setSetting?: (key: string, value: string) => Promise<void>;
@@ -100,15 +101,6 @@ export interface ElectronAPI {
started: number;
errors: string[];
}>;
onRemoteSyncStatusChanged?: (
callback: (status: {
connected: boolean;
syncing: boolean;
lastSyncedAt: string | null;
lastError: string | null;
needsReauth: boolean;
}) => void,
) => () => void;
onCloseActiveTab?: (callback: () => void) => () => void;
clearSessionCookies: () => Promise<void>;
getSessionCookie: (
+8
View File
@@ -161,6 +161,10 @@ export type Host = {
permissionLevel?: "connect" | "view" | "edit" | "manage";
sharedExpiresAt?: string;
ownerUsername?: string;
/** A read-only copy of a host shared with the linked account. */
sharedCopy?: boolean;
/** Desktop only: kept on this device, never synced to the server. */
localOnly?: boolean;
/** Enabled plugins' host-scope settings, keyed by plugin id. Secrets redacted. */
pluginSettings?: Record<string, Record<string, unknown>>;
@@ -250,6 +254,8 @@ export interface HostData {
rdpAuthType?: "direct" | "credential" | "none" | null;
vncAuthType?: "direct" | "credential" | null;
telnetAuthType?: "direct" | "credential" | null;
/** Desktop only: kept on this device, never synced to the server. */
localOnly?: boolean;
}
export type SSHHost = Host;
@@ -263,6 +269,8 @@ export interface SSHFolder {
icon?: string;
credentialId?: number | null;
sortOrder?: number | null;
/** Desktop only: the folder and its hosts stay on this device. */
localOnly?: boolean;
createdAt: string;
updatedAt: string;
}
+8
View File
@@ -104,6 +104,13 @@ export type Host = {
permissionLevel?: SharePermissionLevel;
sharedExpiresAt?: string;
ownerUsername?: string;
/**
* A read-only copy of a host shared with the account this desktop is
* linked to. It arrives through sync and is managed on the server.
*/
sharedCopy?: boolean;
/** Desktop only: kept on this device, never synced to the server. */
localOnly?: boolean;
};
export type SharePermissionLevel = "connect" | "view" | "edit" | "manage";
@@ -137,6 +144,7 @@ export type HostFolder = {
icon?: string;
credentialId?: number | null;
sortOrder?: number | null;
localOnly?: boolean;
};
/** Core's own tab types. Plugins register theirs at runtime. */