()
| 1084 | } |
| 1085 | |
| 1086 | async function currentRemoteWorkspaceInfo(): Promise<RemoteWorkspaceInfo | null> { |
| 1087 | const win = currentIpcWindow() |
| 1088 | const windowMode = win ? windowVaults.modeForWindow(win.id) : null |
| 1089 | if (windowMode === 'local') return null |
| 1090 | if (!remoteWorkspaceConfig) { |
| 1091 | const cfg = await loadConfig() |
| 1092 | if (cfg.workspaceMode !== 'remote' || !cfg.remoteWorkspace?.baseUrl) return null |
| 1093 | remoteWorkspaceConfig = cfg.remoteWorkspace |
| 1094 | currentRemoteWorkspaceProfileId = cfg.remoteWorkspaceProfileId |
| 1095 | } |
| 1096 | if (win && windowMode && windowMode !== 'remote') return null |
| 1097 | if (!remoteWorkspaceConfig) return null |
| 1098 | return { |
| 1099 | mode: 'remote', |
| 1100 | baseUrl: remoteWorkspaceConfig.baseUrl, |
| 1101 | authConfigured: Boolean(remoteWorkspaceClient?.authToken), |
| 1102 | capabilities: remoteServerCapabilities, |
| 1103 | profileId: currentRemoteWorkspaceProfileId |
| 1104 | } |
| 1105 | } |
| 1106 | |
| 1107 | function normalizeRemoteBaseUrl(value: string): string { |
| 1108 | return value.trim().replace(/\/+$/, '') |
no test coverage detected