Merge #6677 into release branch for hot fix. (#6850)

This commit is contained in:
Shreya Keshive
2025-08-22 11:49:37 -07:00
committed by GitHub
parent b06e8dbaef
commit 07b7df5c7b
3 changed files with 51 additions and 11 deletions
+17 -6
View File
@@ -104,8 +104,13 @@ export class IdeClient {
this.setState(IDEConnectionStatus.Connecting);
const ideInfoFromFile = await this.getIdeInfoFromFile();
const workspacePath =
ideInfoFromFile.workspacePath ??
process.env['GEMINI_CLI_IDE_WORKSPACE_PATH'];
const { isValid, error } = IdeClient.validateWorkspacePath(
process.env['GEMINI_CLI_IDE_WORKSPACE_PATH'],
workspacePath,
this.currentIdeDisplayName,
process.cwd(),
);
@@ -115,7 +120,7 @@ export class IdeClient {
return;
}
const portFromFile = await this.getPortFromFile();
const portFromFile = ideInfoFromFile.port;
if (portFromFile) {
const connected = await this.establishConnection(portFromFile);
if (connected) {
@@ -311,7 +316,10 @@ export class IdeClient {
return port;
}
private async getPortFromFile(): Promise<string | undefined> {
private async getIdeInfoFromFile(): Promise<{
port?: string;
workspacePath?: string;
}> {
try {
const ideProcessId = await getIdeProcessId();
const portFile = path.join(
@@ -319,10 +327,13 @@ export class IdeClient {
`gemini-ide-server-${ideProcessId}.json`,
);
const portFileContents = await fs.promises.readFile(portFile, 'utf8');
const port = JSON.parse(portFileContents).port;
return port.toString();
const ideInfo = JSON.parse(portFileContents);
return {
port: ideInfo?.port?.toString(),
workspacePath: ideInfo?.workspacePath,
};
} catch (_) {
return undefined;
return {};
}
}