mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-29 22:55:24 +00:00
feat: rebuild desktop sync as linked server accounts, fix packaged plugin bundles and UI scaling
This commit is contained in:
1 parent
7c02daccf4
commit
6cd9a2846d
242 files changed
+39127
-8558
No files matched your search
Vendored
+1
-9
@@ -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: (
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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. */
|
||||
|
||||
Reference in new issue
Block a user