Skip to content

Commit 866ce76

Browse files
Merge main into feature/q-inlinechat
2 parents 92ffd78 + 141b6ca commit 866ce76

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQToolWindowListener.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class AmazonQToolWindowListener : ToolWindowManagerListener {
1212

1313
override fun toolWindowShown(toolWindow: ToolWindow) {
1414
if (toolWindow.id == AmazonQToolWindowFactory.WINDOW_ID) {
15-
TelemetryHelper.recordOpenChat()
15+
TelemetryHelper.recordOpenChat(toolWindow.project)
1616
}
1717
}
1818

@@ -26,7 +26,7 @@ class AmazonQToolWindowListener : ToolWindowManagerListener {
2626
}
2727

2828
if (changeType == ToolWindowManagerListener.ToolWindowManagerEventType.HideToolWindow) {
29-
TelemetryHelper.recordCloseChat()
29+
TelemetryHelper.recordCloseChat(toolWindow.project)
3030
}
3131
}
3232
}

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/telemetry/TelemetryHelper.kt

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ import software.aws.toolkits.core.utils.debug
1414
import software.aws.toolkits.core.utils.getLogger
1515
import software.aws.toolkits.core.utils.info
1616
import software.aws.toolkits.core.utils.warn
17+
import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnection
18+
import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManager
19+
import software.aws.toolkits.jetbrains.core.credentials.pinning.QConnection
1720
import software.aws.toolkits.jetbrains.services.codewhisperer.credentials.CodeWhispererClientAdaptor
1821
import software.aws.toolkits.jetbrains.services.codewhisperer.customization.CodeWhispererCustomization
1922
import software.aws.toolkits.jetbrains.services.codewhisperer.customization.CodeWhispererModelConfigurator
@@ -29,6 +32,7 @@ import software.aws.toolkits.jetbrains.services.telemetry.TelemetryService
2932
import software.aws.toolkits.jetbrains.settings.CodeWhispererSettings
3033
import software.aws.toolkits.jetbrains.utils.notifyError
3134
import software.aws.toolkits.resources.message
35+
import software.aws.toolkits.telemetry.AuthTelemetry
3236
import software.aws.toolkits.telemetry.CwsprChatCommandType
3337
import software.aws.toolkits.telemetry.CwsprChatConversationType
3438
import software.aws.toolkits.telemetry.CwsprChatInteractionType
@@ -410,12 +414,22 @@ class TelemetryHelper(private val project: Project, private val sessionStorage:
410414
companion object {
411415
private val logger = getLogger<TelemetryHelper>()
412416

413-
fun recordOpenChat() {
417+
private fun getQConnection(project: Project): ToolkitConnection? = ToolkitConnectionManager.getInstance(
418+
project
419+
).activeConnectionForFeature(QConnection.getInstance())
420+
421+
fun recordOpenChat(project: Project) {
414422
Telemetry.amazonq.openChat.use { it.passive(true) }
423+
if (getQConnection(project) == null) {
424+
AuthTelemetry.signInPageOpened()
425+
}
415426
}
416427

417-
fun recordCloseChat() {
428+
fun recordCloseChat(project: Project) {
418429
Telemetry.amazonq.closeChat.use { it.passive(true) }
430+
if (getQConnection(project) == null) {
431+
AuthTelemetry.signInPageClosed()
432+
}
419433
}
420434

421435
fun recordTelemetryChatRunCommand(type: CwsprChatCommandType, name: String? = null, startUrl: String? = null) {

0 commit comments

Comments
 (0)