From 24cfdd3fd8a5ae2e0206fda0929daf981448b5fa Mon Sep 17 00:00:00 2001 From: Mike Fan <147854708+mk-fan@users.noreply.github.com> Date: Wed, 8 May 2024 11:55:40 -0700 Subject: [PATCH] Address comments. --- .../codemodernizer/CodeModernizerManager.kt | 2 ++ .../codemodernizer/CodeTransformTelemetryManager.kt | 5 +++++ .../controller/CodeTransformChatController.kt | 13 ++++++++----- .../controller/CodeTransformChatHelper.kt | 9 +++++++++ 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/CodeModernizerManager.kt b/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/CodeModernizerManager.kt index 9b1517c6ee..8539461c40 100644 --- a/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/CodeModernizerManager.kt +++ b/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/CodeModernizerManager.kt @@ -854,6 +854,8 @@ class CodeModernizerManager(private val project: Project) : PersistentStateCompo val zipCreationResult = codeTransformationSession?.createHilUploadZip(selectedVersion) if (zipCreationResult?.payload?.exists() == true) { codeTransformationSession?.uploadHilPayload(zipCreationResult.payload) + + // Add delay between upload complete and trying to resume delay(500) codeTransformationSession?.resumeTransformFromHil() diff --git a/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/CodeTransformTelemetryManager.kt b/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/CodeTransformTelemetryManager.kt index 664c7b2746..faecdb3db9 100644 --- a/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/CodeTransformTelemetryManager.kt +++ b/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/CodeTransformTelemetryManager.kt @@ -217,6 +217,11 @@ class CodeTransformTelemetryManager(private val project: Project) { } } +enum class HilResult(val result: String) { + SUCCESS("SUCCESS"), + FAILURE("FAILURE"), +} + data class HilTelemetryMetaData( val versionSelected: String? = null, val cancelledFromChat: Boolean = false, diff --git a/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/controller/CodeTransformChatController.kt b/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/controller/CodeTransformChatController.kt index 7d06628773..e93e190283 100644 --- a/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/controller/CodeTransformChatController.kt +++ b/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/controller/CodeTransformChatController.kt @@ -18,6 +18,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.auth.AuthController import software.aws.toolkits.jetbrains.services.codemodernizer.ArtifactHandler import software.aws.toolkits.jetbrains.services.codemodernizer.CodeModernizerManager import software.aws.toolkits.jetbrains.services.codemodernizer.CodeTransformTelemetryManager +import software.aws.toolkits.jetbrains.services.codemodernizer.HilResult import software.aws.toolkits.jetbrains.services.codemodernizer.HilTelemetryMetaData import software.aws.toolkits.jetbrains.services.codemodernizer.InboundAppMessagesHandler import software.aws.toolkits.jetbrains.services.codemodernizer.client.GumbyClient @@ -99,7 +100,7 @@ class CodeTransformChatController( buildCheckingValidProjectChatContent() ) - delay(2000) + codeTransformChatHelper.chatDelayLong() val validationResult = codeModernizerManager.validate(context.project) @@ -118,7 +119,7 @@ class CodeTransformChatController( buildProjectValidChatContent(validationResult) ) - delay(500) + codeTransformChatHelper.chatDelayShort() CodeTransformTelemetryManager.getInstance(context.project).jobIsStartedFromChatPrompt() @@ -133,6 +134,7 @@ class CodeTransformChatController( val isTransformationResuming = codeModernizerManager.isModernizationJobResuming() while (isTransformationResuming) { + // Poll until transformation is resumed delay(50) } @@ -395,7 +397,8 @@ class CodeTransformChatController( codeModernizerManager.getBottomToolWindow().show() } - delay(3000) + codeTransformChatHelper.chatDelayLong() + codeModernizerManager.resumePollingFromHil() } catch (e: Exception) { codeTransformChatHelper.updateLastPendingMessage(buildHilCannotResumeContent()) @@ -484,7 +487,7 @@ class CodeTransformChatController( HilTelemetryMetaData( versionSelected = selectedVersion, reason = "User selected version", - result = "SUCCESS", + result = HilResult.SUCCESS.result, ) ) @@ -516,7 +519,7 @@ class CodeTransformChatController( HilTelemetryMetaData( cancelledFromChat = true, reason = "User cancelled", - result = "FAILURE", + result = HilResult.FAILURE.result, ) ) diff --git a/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/controller/CodeTransformChatHelper.kt b/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/controller/CodeTransformChatHelper.kt index d4fc3718b9..8748395762 100644 --- a/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/controller/CodeTransformChatHelper.kt +++ b/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/controller/CodeTransformChatHelper.kt @@ -3,6 +3,7 @@ package software.aws.toolkits.jetbrains.services.codemodernizer.controller +import kotlinx.coroutines.delay import software.aws.toolkits.jetbrains.services.amazonq.messages.MessagePublisher import software.aws.toolkits.jetbrains.services.codemodernizer.messages.CodeTransformChatMessage import software.aws.toolkits.jetbrains.services.codemodernizer.messages.CodeTransformChatMessageContent @@ -109,4 +110,12 @@ class CodeTransformChatHelper( ) ) } + + suspend fun chatDelayShort() { + delay(500) + } + + suspend fun chatDelayLong() { + delay(2000) + } }