Skip to content

Commit 6b9bdae

Browse files
authored
Merge branch 'main' into selective-transform-telemetry
2 parents 05e7025 + 6156c00 commit 6b9bdae

File tree

34 files changed

+291
-102
lines changed

34 files changed

+291
-102
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "bugfix",
3+
"description" : " Chosing cancel on sign out confirmation now cancels the sign out and does not delete profiles from ~/.aws/config (#5167)"
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "bugfix",
3+
"description" : "Fix `@workspace` missing from the Amazon Q Chat welcome tab"
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "bugfix",
3+
"description" : "Fix for /review LLM based code issues for file review on windows"
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "bugfix",
3+
"description" : "Fix for File Review payload and Regex error for payload generation"
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "bugfix",
3+
"description" : "Amazon Q Code Transformation: show build logs when server-side build fails"
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "feature",
3+
"description" : "Add acknowledgement button for Amazon Q Chat disclaimer"
4+
}

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/Browser.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.intellij.openapi.util.Disposer
88
import com.intellij.ui.jcef.JBCefJSQuery
99
import org.cef.CefApp
1010
import software.aws.toolkits.jetbrains.services.amazonq.util.createBrowser
11+
import software.aws.toolkits.jetbrains.settings.MeetQSettings
1112

1213
/*
1314
Displays the web view for the Amazon Q tool window
@@ -85,12 +86,14 @@ class Browser(parent: Disposable) : Disposable {
8586
$postMessageToJavaJsCode
8687
}
8788
},
89+
${MeetQSettings.getInstance().reinvent2024OnboardingCount < MAX_ONBOARDING_PAGE_COUNT},
90+
${MeetQSettings.getInstance().disclaimerAcknowledged},
8891
$isFeatureDevAvailable, // whether /dev is available
8992
$isCodeTransformAvailable, // whether /transform is available
9093
$isDocAvailable, // whether /doc is available
9194
$isCodeScanAvailable, // whether /scan is available
9295
$isCodeTestAvailable // whether /test is available
93-
);
96+
);
9497
}
9598
</script>
9699
""".trimIndent()
@@ -110,5 +113,6 @@ class Browser(parent: Disposable) : Disposable {
110113

111114
companion object {
112115
private const val WEB_SCRIPT_URI = "http://mynah/js/mynah-ui.js"
116+
private const val MAX_ONBOARDING_PAGE_COUNT = 3
113117
}
114118
}

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/BrowserConnector.kt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
package software.aws.toolkits.jetbrains.services.amazonq.webview
55

66
import com.intellij.ide.BrowserUtil
7+
import com.intellij.ide.util.RunOnceUtil
78
import com.intellij.ui.jcef.JBCefJSQuery.Response
89
import kotlinx.coroutines.CompletableDeferred
910
import kotlinx.coroutines.channels.awaitClose
@@ -22,6 +23,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.util.command
2223
import software.aws.toolkits.jetbrains.services.amazonq.util.tabType
2324
import software.aws.toolkits.jetbrains.services.amazonq.webview.theme.AmazonQTheme
2425
import software.aws.toolkits.jetbrains.services.amazonq.webview.theme.ThemeBrowserAdapter
26+
import software.aws.toolkits.jetbrains.settings.MeetQSettings
2527
import software.aws.toolkits.telemetry.Telemetry
2628
import java.util.function.Function
2729

@@ -40,7 +42,16 @@ class BrowserConnector(
4042
.onEach { json ->
4143
val node = serializer.toNode(json)
4244
when (node.command) {
43-
"ui-is-ready" -> uiReady.complete(true)
45+
"ui-is-ready" -> {
46+
uiReady.complete(true)
47+
RunOnceUtil.runOnceForApp("AmazonQ-UI-Ready") {
48+
MeetQSettings.getInstance().reinvent2024OnboardingCount += 1
49+
}
50+
}
51+
52+
"disclaimer-acknowledged" -> {
53+
MeetQSettings.getInstance().disclaimerAcknowledged = true
54+
}
4455

4556
// some weird issue preventing deserialization from working
4657
"open-user-guide" -> {

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqCodeTest/CodeWhispererUTGChatManager.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ class CodeWhispererUTGChatManager(val project: Project, private val cs: Coroutin
124124
)
125125

126126
val job = startTestGenerationResponse.testGenerationJob()
127+
session.startTestGenerationRequestId = startTestGenerationResponse.responseMetadata().requestId()
127128
session.testGenerationJobGroupName = job.testGenerationJobGroupName()
128129
session.testGenerationJob = job.testGenerationJobId()
129130
throwIfCancelled(session)
@@ -522,7 +523,8 @@ class CodeWhispererUTGChatManager(val project: Project, private val cs: Coroutin
522523
isCodeBlockSelected = session.isCodeBlockSelected,
523524
artifactsUploadDuration = session.artifactUploadDuration,
524525
buildPayloadBytes = session.srcPayloadSize,
525-
buildZipFileBytes = session.srcZipFileSize
526+
buildZipFileBytes = session.srcZipFileSize,
527+
requestId = session.startTestGenerationRequestId
526528
)
527529
session.isGeneratingTests = false
528530
} finally {

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqCodeTest/controller/CodeTestChatController.kt

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -282,14 +282,18 @@ class CodeTestChatController(
282282
val request = requestData.toChatRequest()
283283
client.generateAssistantResponse(request, responseHandler).await()
284284
// TODO: Need to send isCodeBlockSelected field
285-
AmazonqTelemetry.utgGenerateTests(
286-
cwsprChatProgrammingLanguage = session.programmingLanguage.languageId,
287-
hasUserPromptSupplied = session.hasUserPromptSupplied,
288-
isSupportedLanguage = false,
289-
credentialStartUrl = getStartUrl(project),
290-
result = MetricResult.Succeeded,
291-
perfClientLatency = (Instant.now().toEpochMilli() - session.startTimeOfTestGeneration)
292-
)
285+
requestId.let { id ->
286+
LOG.debug { "$FEATURE_NAME: Unit test generation requestId: $id" }
287+
AmazonqTelemetry.utgGenerateTests(
288+
cwsprChatProgrammingLanguage = session.programmingLanguage.languageId,
289+
hasUserPromptSupplied = session.hasUserPromptSupplied,
290+
isSupportedLanguage = false,
291+
credentialStartUrl = getStartUrl(project),
292+
result = MetricResult.Succeeded,
293+
perfClientLatency = (Instant.now().toEpochMilli() - session.startTimeOfTestGeneration),
294+
requestId = id
295+
)
296+
}
293297
session.isGeneratingTests = false
294298
codeTestChatHelper.updateUI(
295299
loadingChat = false,
@@ -599,7 +603,8 @@ class CodeTestChatController(
599603
isCodeBlockSelected = session.isCodeBlockSelected,
600604
artifactsUploadDuration = session.artifactUploadDuration,
601605
buildPayloadBytes = session.srcPayloadSize,
602-
buildZipFileBytes = session.srcZipFileSize
606+
buildZipFileBytes = session.srcZipFileSize,
607+
requestId = session.startTestGenerationRequestId
603608
)
604609
codeTestChatHelper.addAnswer(
605610
CodeTestChatMessageContent(
@@ -792,7 +797,8 @@ class CodeTestChatController(
792797
isCodeBlockSelected = session.isCodeBlockSelected,
793798
artifactsUploadDuration = session.artifactUploadDuration,
794799
buildPayloadBytes = session.srcPayloadSize,
795-
buildZipFileBytes = session.srcZipFileSize
800+
buildZipFileBytes = session.srcZipFileSize,
801+
requestId = session.startTestGenerationRequestId
796802
)
797803
sessionCleanUp(message.tabId)
798804
}

0 commit comments

Comments
 (0)