From 54bba3c4f8e482fbbdaac1c2d3c5a704527adf21 Mon Sep 17 00:00:00 2001 From: David Hasani Date: Wed, 18 Dec 2024 14:37:34 -0800 Subject: [PATCH 1/3] fix(amazonq): respond in chat right away when user enters JDK path --- .../Bug Fix-a9be5502-257b-4c77-b632-94515dd68bf0.json | 4 ++++ .../service/transformByQ/transformMavenHandler.ts | 3 +++ 2 files changed, 7 insertions(+) create mode 100644 packages/amazonq/.changes/next-release/Bug Fix-a9be5502-257b-4c77-b632-94515dd68bf0.json diff --git a/packages/amazonq/.changes/next-release/Bug Fix-a9be5502-257b-4c77-b632-94515dd68bf0.json b/packages/amazonq/.changes/next-release/Bug Fix-a9be5502-257b-4c77-b632-94515dd68bf0.json new file mode 100644 index 00000000000..9435246ee13 --- /dev/null +++ b/packages/amazonq/.changes/next-release/Bug Fix-a9be5502-257b-4c77-b632-94515dd68bf0.json @@ -0,0 +1,4 @@ +{ + "type": "Bug Fix", + "description": "Amazon Q Code Transformation: respond immediately when entering JAVA_HOME path" +} diff --git a/packages/core/src/codewhisperer/service/transformByQ/transformMavenHandler.ts b/packages/core/src/codewhisperer/service/transformByQ/transformMavenHandler.ts index 8ba8504e436..fdb9dd853b0 100644 --- a/packages/core/src/codewhisperer/service/transformByQ/transformMavenHandler.ts +++ b/packages/core/src/codewhisperer/service/transformByQ/transformMavenHandler.ts @@ -13,6 +13,7 @@ import { CodeTransformTelemetryState } from '../../../amazonqGumby/telemetry/cod import { ToolkitError } from '../../../shared/errors' import { writeLogs } from './transformFileHandler' import { throwIfCancelled } from './transformApiHandler' +import { sleep } from '../../../shared/utilities/timeoutUtils' // run 'install' with either 'mvnw.cmd', './mvnw', or 'mvn' (if wrapper exists, we use that, otherwise we use regular 'mvn') function installProjectDependencies(dependenciesFolder: FolderInfo, modulePath: string) { @@ -108,6 +109,8 @@ function copyProjectDependencies(dependenciesFolder: FolderInfo, modulePath: str } export async function prepareProjectDependencies(dependenciesFolder: FolderInfo, rootPomPath: string) { + // sleep for 0.5s to allow QCT to 1) process JAVA_HOME path and 2) send multiple chat messages + await sleep(500) try { copyProjectDependencies(dependenciesFolder, rootPomPath) } catch (err) { From 3904e34be26e3b325cdf3ddaf253ee617d50a5b1 Mon Sep 17 00:00:00 2001 From: David Hasani Date: Thu, 19 Dec 2024 16:27:13 -0800 Subject: [PATCH 2/3] address comments --- packages/core/src/codewhisperer/models/constants.ts | 3 +++ .../service/transformByQ/transformMavenHandler.ts | 5 ++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/core/src/codewhisperer/models/constants.ts b/packages/core/src/codewhisperer/models/constants.ts index 96e4c3438f0..fcab2078480 100644 --- a/packages/core/src/codewhisperer/models/constants.ts +++ b/packages/core/src/codewhisperer/models/constants.ts @@ -570,6 +570,9 @@ export const checkingForProjectsChatMessage = 'Checking for eligible projects... export const buildStartedChatMessage = 'I am building your project. This can take up to 10 minutes, depending on the size of your project.' +export const buildStartedNotification = + 'Amazon Q is building your project. This can take up to 10 minutes, depending on the size of your project.' + export const buildSucceededChatMessage = 'I was able to build your project and will start transforming your code soon.' export const buildSucceededNotification = diff --git a/packages/core/src/codewhisperer/service/transformByQ/transformMavenHandler.ts b/packages/core/src/codewhisperer/service/transformByQ/transformMavenHandler.ts index fdb9dd853b0..7828ea35b05 100644 --- a/packages/core/src/codewhisperer/service/transformByQ/transformMavenHandler.ts +++ b/packages/core/src/codewhisperer/service/transformByQ/transformMavenHandler.ts @@ -13,7 +13,6 @@ import { CodeTransformTelemetryState } from '../../../amazonqGumby/telemetry/cod import { ToolkitError } from '../../../shared/errors' import { writeLogs } from './transformFileHandler' import { throwIfCancelled } from './transformApiHandler' -import { sleep } from '../../../shared/utilities/timeoutUtils' // run 'install' with either 'mvnw.cmd', './mvnw', or 'mvn' (if wrapper exists, we use that, otherwise we use regular 'mvn') function installProjectDependencies(dependenciesFolder: FolderInfo, modulePath: string) { @@ -109,8 +108,8 @@ function copyProjectDependencies(dependenciesFolder: FolderInfo, modulePath: str } export async function prepareProjectDependencies(dependenciesFolder: FolderInfo, rootPomPath: string) { - // sleep for 0.5s to allow QCT to 1) process JAVA_HOME path and 2) send multiple chat messages - await sleep(500) + // use await to allow other chat messages to send as well, before the build starts + await vscode.window.showInformationMessage(CodeWhispererConstants.buildStartedNotification) try { copyProjectDependencies(dependenciesFolder, rootPomPath) } catch (err) { From 75381b65bdcf33e42841a2d9fe2730c8463b0170 Mon Sep 17 00:00:00 2001 From: David Hasani Date: Thu, 19 Dec 2024 16:56:26 -0800 Subject: [PATCH 3/3] fix lint --- .../service/transformByQ/transformMavenHandler.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/core/src/codewhisperer/service/transformByQ/transformMavenHandler.ts b/packages/core/src/codewhisperer/service/transformByQ/transformMavenHandler.ts index 7828ea35b05..10d79190eae 100644 --- a/packages/core/src/codewhisperer/service/transformByQ/transformMavenHandler.ts +++ b/packages/core/src/codewhisperer/service/transformByQ/transformMavenHandler.ts @@ -108,8 +108,7 @@ function copyProjectDependencies(dependenciesFolder: FolderInfo, modulePath: str } export async function prepareProjectDependencies(dependenciesFolder: FolderInfo, rootPomPath: string) { - // use await to allow other chat messages to send as well, before the build starts - await vscode.window.showInformationMessage(CodeWhispererConstants.buildStartedNotification) + void vscode.window.showInformationMessage(CodeWhispererConstants.buildStartedNotification) try { copyProjectDependencies(dependenciesFolder, rootPomPath) } catch (err) {