Skip to content

Commit 1b149d8

Browse files
authored
Merge branch 'aws:master' into master
2 parents ee20d5e + f1dc9b8 commit 1b149d8

32 files changed

+394
-378
lines changed

package-lock.json

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"date": "2025-06-20",
3+
"version": "1.78.0",
4+
"entries": [
5+
{
6+
"type": "Bug Fix",
7+
"description": "Resolve missing chat options in Amazon Q chat interface."
8+
}
9+
]
10+
}

packages/amazonq/.changes/next-release/Bug Fix-541466ab-cebc-4f12-bbc6-6cdedad9eafe.json

Lines changed: 0 additions & 4 deletions
This file was deleted.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type": "Feature",
3+
"description": "/transform: run all builds client-side"
4+
}

packages/amazonq/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.78.0 2025-06-20
2+
3+
- **Bug Fix** Resolve missing chat options in Amazon Q chat interface.
4+
15
## 1.77.0 2025-06-18
26

37
- Miscellaneous non-user-facing changes

packages/amazonq/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "amazon-q-vscode",
33
"displayName": "Amazon Q",
44
"description": "The most capable generative AI-powered assistant for building, operating, and transforming software, with advanced capabilities for managing data and AI",
5-
"version": "1.78.0-SNAPSHOT",
5+
"version": "1.79.0-SNAPSHOT",
66
"extensionKind": [
77
"workspace"
88
],

packages/amazonq/src/lsp/chat/messages.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ export function registerMessageListeners(
169169
languageClient.info(
170170
`[VSCode Client] Chat options flags: mcpServers=${pendingChatOptions?.mcpServers}, history=${pendingChatOptions?.history}, export=${pendingChatOptions?.export}, quickActions=[${quickActionsDisplay}]`
171171
)
172+
languageClient.sendNotification(message.command, message.params)
172173
} catch (err) {
173174
languageClient.error(
174175
`[VSCode Client] Failed to send CHAT_OPTIONS after "aws/chat/ready" event: ${(err as Error).message}`

packages/amazonq/test/e2e/amazonq/transformByQ.test.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,6 @@ describe('Amazon Q Code Transformation', function () {
129129
waitIntervalInMs: 1000,
130130
})
131131

132-
// TO-DO: add this back when releasing CSB
133-
/*
134132
const customDependencyVersionPrompt = tab.getChatItems().pop()
135133
assert.strictEqual(
136134
customDependencyVersionPrompt?.body?.includes('You can optionally upload a YAML file'),
@@ -139,19 +137,18 @@ describe('Amazon Q Code Transformation', function () {
139137
tab.clickCustomFormButton({ id: 'gumbyTransformFormContinue' })
140138

141139
// 2 additional chat messages get sent after Continue button clicked; wait for both of them
142-
await tab.waitForEvent(() => tab.getChatItems().length > 13, {
140+
await tab.waitForEvent(() => tab.getChatItems().length > 10, {
143141
waitTimeoutInMs: 5000,
144142
waitIntervalInMs: 1000,
145143
})
146-
*/
147144

148145
const sourceJdkPathPrompt = tab.getChatItems().pop()
149146
assert.strictEqual(sourceJdkPathPrompt?.body?.includes('Enter the path to JDK 8'), true)
150147

151148
tab.addChatMessage({ prompt: '/dummy/path/to/jdk8' })
152149

153150
// 2 additional chat messages get sent after JDK path submitted; wait for both of them
154-
await tab.waitForEvent(() => tab.getChatItems().length > 10, {
151+
await tab.waitForEvent(() => tab.getChatItems().length > 12, {
155152
waitTimeoutInMs: 5000,
156153
waitIntervalInMs: 1000,
157154
})
@@ -173,7 +170,7 @@ describe('Amazon Q Code Transformation', function () {
173170
text: 'View summary',
174171
})
175172

176-
await tab.waitForEvent(() => tab.getChatItems().length > 11, {
173+
await tab.waitForEvent(() => tab.getChatItems().length > 13, {
177174
waitTimeoutInMs: 5000,
178175
waitIntervalInMs: 1000,
179176
})
147 KB
Binary file not shown.

packages/core/src/amazonqGumby/chat/controller/controller.ts

Lines changed: 8 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,9 @@ import {
4141
} from '../../errors'
4242
import * as CodeWhispererConstants from '../../../codewhisperer/models/constants'
4343
import MessengerUtils, { ButtonActions, GumbyCommands } from './messenger/messengerUtils'
44-
import { CancelActionPositions, JDKToTelemetryValue, telemetryUndefined } from '../../telemetry/codeTransformTelemetry'
44+
import { CancelActionPositions } from '../../telemetry/codeTransformTelemetry'
4545
import { openUrl } from '../../../shared/utilities/vsCodeUtils'
46-
import {
47-
telemetry,
48-
CodeTransformJavaTargetVersionsAllowed,
49-
CodeTransformJavaSourceVersionsAllowed,
50-
} from '../../../shared/telemetry/telemetry'
46+
import { telemetry } from '../../../shared/telemetry/telemetry'
5147
import { CodeTransformTelemetryState } from '../../telemetry/codeTransformTelemetryState'
5248
import DependencyVersions from '../../models/dependencies'
5349
import { getStringHash } from '../../../shared/utilities/textUtilities'
@@ -308,7 +304,6 @@ export class GumbyController {
308304
}
309305

310306
private async validateLanguageUpgradeProjects(message: any) {
311-
let telemetryJavaVersion = JDKToTelemetryValue(JDKVersion.UNSUPPORTED) as CodeTransformJavaSourceVersionsAllowed
312307
try {
313308
const validProjects = await telemetry.codeTransform_validateProject.run(async () => {
314309
telemetry.record({
@@ -317,12 +312,6 @@ export class GumbyController {
317312
})
318313

319314
const validProjects = await getValidLanguageUpgradeCandidateProjects()
320-
if (validProjects.length > 0) {
321-
// validProjects[0].JDKVersion will be undefined if javap errors out or no .class files found, so call it UNSUPPORTED
322-
const javaVersion = validProjects[0].JDKVersion ?? JDKVersion.UNSUPPORTED
323-
telemetryJavaVersion = JDKToTelemetryValue(javaVersion) as CodeTransformJavaSourceVersionsAllowed
324-
}
325-
telemetry.record({ codeTransformLocalJavaVersion: telemetryJavaVersion })
326315
return validProjects
327316
})
328317
return validProjects
@@ -384,7 +373,7 @@ export class GumbyController {
384373
break
385374
case ButtonActions.CONTINUE_TRANSFORMATION_FORM:
386375
this.messenger.sendMessage(
387-
CodeWhispererConstants.continueWithoutYamlMessage,
376+
CodeWhispererConstants.continueWithoutConfigFileMessage,
388377
message.tabID,
389378
'ai-prompt'
390379
)
@@ -437,9 +426,7 @@ export class GumbyController {
437426
userChoice: skipTestsSelection,
438427
})
439428
this.messenger.sendSkipTestsSelectionMessage(skipTestsSelection, message.tabID)
440-
this.promptJavaHome('source', message.tabID)
441-
// TO-DO: delete line above and uncomment line below when releasing CSB
442-
// await this.messenger.sendCustomDependencyVersionMessage(message.tabID)
429+
await this.messenger.sendCustomDependencyVersionMessage(message.tabID)
443430
})
444431
}
445432

@@ -465,16 +452,9 @@ export class GumbyController {
465452
const fromJDKVersion: JDKVersion = message.formSelectedValues['GumbyTransformJdkFromForm']
466453

467454
telemetry.record({
468-
// TODO: remove JavaSource/TargetVersionsAllowed when BI is updated to use source/target
469-
codeTransformJavaSourceVersionsAllowed: JDKToTelemetryValue(
470-
fromJDKVersion
471-
) as CodeTransformJavaSourceVersionsAllowed,
472-
codeTransformJavaTargetVersionsAllowed: JDKToTelemetryValue(
473-
toJDKVersion
474-
) as CodeTransformJavaTargetVersionsAllowed,
475455
source: fromJDKVersion,
476456
target: toJDKVersion,
477-
codeTransformProjectId: pathToProject === undefined ? telemetryUndefined : getStringHash(pathToProject),
457+
codeTransformProjectId: pathToProject === undefined ? undefined : getStringHash(pathToProject),
478458
userChoice: 'Confirm-Java',
479459
})
480460

@@ -503,7 +483,7 @@ export class GumbyController {
503483
const schema: string = message.formSelectedValues['GumbyTransformSQLSchemaForm']
504484

505485
telemetry.record({
506-
codeTransformProjectId: pathToProject === undefined ? telemetryUndefined : getStringHash(pathToProject),
486+
codeTransformProjectId: pathToProject === undefined ? undefined : getStringHash(pathToProject),
507487
source: transformByQState.getSourceDB(),
508488
target: transformByQState.getTargetDB(),
509489
userChoice: 'Confirm-SQL',
@@ -563,7 +543,7 @@ export class GumbyController {
563543
canSelectMany: false,
564544
openLabel: 'Select',
565545
filters: {
566-
'YAML file': ['yaml'], // restrict user to only pick a .yaml file
546+
File: ['yaml', 'yml'], // restrict user to only pick a .yaml file
567547
},
568548
})
569549
if (!fileUri || fileUri.length === 0) {
@@ -576,7 +556,7 @@ export class GumbyController {
576556
this.messenger.sendUnrecoverableErrorResponse('invalid-custom-versions-file', message.tabID)
577557
return
578558
}
579-
this.messenger.sendMessage('Received custom dependency version YAML file.', message.tabID, 'ai-prompt')
559+
this.messenger.sendMessage(CodeWhispererConstants.receivedValidConfigFileMessage, message.tabID, 'ai-prompt')
580560
transformByQState.setCustomDependencyVersionFilePath(fileUri[0].fsPath)
581561
this.promptJavaHome('source', message.tabID)
582562
}
@@ -660,17 +640,13 @@ export class GumbyController {
660640
const pathToJavaHome = extractPath(data.message)
661641
if (pathToJavaHome) {
662642
transformByQState.setSourceJavaHome(pathToJavaHome)
663-
// TO-DO: delete line below and uncomment the block below when releasing CSB
664-
await this.prepareLanguageUpgradeProject(data.tabID)
665643
// if source and target JDK versions are the same, just re-use the source JAVA_HOME and start the build
666-
/*
667644
if (transformByQState.getTargetJDKVersion() === transformByQState.getSourceJDKVersion()) {
668645
transformByQState.setTargetJavaHome(pathToJavaHome)
669646
await this.prepareLanguageUpgradeProject(data.tabID)
670647
} else {
671648
this.promptJavaHome('target', data.tabID)
672649
}
673-
*/
674650
} else {
675651
this.messenger.sendUnrecoverableErrorResponse('invalid-java-home', data.tabID)
676652
}

0 commit comments

Comments
 (0)