feat: Add IDE client to /bug & /about if IDE mode is enabled (#6567)

This commit is contained in:
Shreya Keshive 2025-08-19 11:22:21 -07:00 committed by GitHub
parent 9588aa6ef9
commit 4828e4daf1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 21 additions and 2 deletions

View File

@ -28,6 +28,7 @@ describe('aboutCommand', () => {
config: { config: {
getModel: vi.fn(), getModel: vi.fn(),
getIdeClient: vi.fn(), getIdeClient: vi.fn(),
getIdeMode: vi.fn().mockReturnValue(true),
}, },
settings: { settings: {
merged: { merged: {

View File

@ -29,7 +29,8 @@ export const aboutCommand: SlashCommand = {
context.services.settings.merged.selectedAuthType || ''; context.services.settings.merged.selectedAuthType || '';
const gcpProject = process.env['GOOGLE_CLOUD_PROJECT'] || ''; const gcpProject = process.env['GOOGLE_CLOUD_PROJECT'] || '';
const ideClient = const ideClient =
context.services.config?.getIdeClient()?.getDetectedIdeDisplayName() || (context.services.config?.getIdeMode() &&
context.services.config?.getIdeClient()?.getDetectedIdeDisplayName()) ||
''; '';
const aboutItem: Omit<HistoryItemAbout, 'id'> = { const aboutItem: Omit<HistoryItemAbout, 'id'> = {

View File

@ -48,6 +48,10 @@ describe('bugCommand', () => {
config: { config: {
getModel: () => 'gemini-pro', getModel: () => 'gemini-pro',
getBugCommand: () => undefined, getBugCommand: () => undefined,
getIdeClient: () => ({
getDetectedIdeDisplayName: () => 'VSCode',
}),
getIdeMode: () => true,
}, },
}, },
}); });
@ -63,6 +67,7 @@ describe('bugCommand', () => {
* **Sandbox Environment:** test * **Sandbox Environment:** test
* **Model Version:** gemini-pro * **Model Version:** gemini-pro
* **Memory Usage:** 100 MB * **Memory Usage:** 100 MB
* **IDE Client:** VSCode
`; `;
const expectedUrl = const expectedUrl =
'https://github.com/google-gemini/gemini-cli/issues/new?template=bug_report.yml&title=A%20test%20bug&info=' + 'https://github.com/google-gemini/gemini-cli/issues/new?template=bug_report.yml&title=A%20test%20bug&info=' +
@ -79,6 +84,10 @@ describe('bugCommand', () => {
config: { config: {
getModel: () => 'gemini-pro', getModel: () => 'gemini-pro',
getBugCommand: () => ({ urlTemplate: customTemplate }), getBugCommand: () => ({ urlTemplate: customTemplate }),
getIdeClient: () => ({
getDetectedIdeDisplayName: () => 'VSCode',
}),
getIdeMode: () => true,
}, },
}, },
}); });
@ -94,6 +103,7 @@ describe('bugCommand', () => {
* **Sandbox Environment:** test * **Sandbox Environment:** test
* **Model Version:** gemini-pro * **Model Version:** gemini-pro
* **Memory Usage:** 100 MB * **Memory Usage:** 100 MB
* **IDE Client:** VSCode
`; `;
const expectedUrl = customTemplate const expectedUrl = customTemplate
.replace('{title}', encodeURIComponent('A custom bug')) .replace('{title}', encodeURIComponent('A custom bug'))

View File

@ -37,8 +37,12 @@ export const bugCommand: SlashCommand = {
const modelVersion = config?.getModel() || 'Unknown'; const modelVersion = config?.getModel() || 'Unknown';
const cliVersion = await getCliVersion(); const cliVersion = await getCliVersion();
const memoryUsage = formatMemoryUsage(process.memoryUsage().rss); const memoryUsage = formatMemoryUsage(process.memoryUsage().rss);
const ideClient =
(context.services.config?.getIdeMode() &&
context.services.config?.getIdeClient()?.getDetectedIdeDisplayName()) ||
'';
const info = ` let info = `
* **CLI Version:** ${cliVersion} * **CLI Version:** ${cliVersion}
* **Git Commit:** ${GIT_COMMIT_INFO} * **Git Commit:** ${GIT_COMMIT_INFO}
* **Session ID:** ${sessionId} * **Session ID:** ${sessionId}
@ -47,6 +51,9 @@ export const bugCommand: SlashCommand = {
* **Model Version:** ${modelVersion} * **Model Version:** ${modelVersion}
* **Memory Usage:** ${memoryUsage} * **Memory Usage:** ${memoryUsage}
`; `;
if (ideClient) {
info += `* **IDE Client:** ${ideClient}\n`;
}
let bugReportUrl = let bugReportUrl =
'https://github.com/google-gemini/gemini-cli/issues/new?template=bug_report.yml&title={title}&info={info}'; 'https://github.com/google-gemini/gemini-cli/issues/new?template=bug_report.yml&title={title}&info={info}';