Skip to content

Commit 98b2e05

Browse files
committed
make chat unaccessible on 242.2.1
1 parent 5141320 commit 98b2e05

File tree

4 files changed

+13
-2
lines changed

4 files changed

+13
-2
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import software.aws.toolkits.jetbrains.isDeveloperMode
2525
import software.aws.toolkits.jetbrains.services.amazonq.apps.AmazonQAppInitContext
2626
import software.aws.toolkits.jetbrains.services.amazonq.apps.AppConnection
2727
import software.aws.toolkits.jetbrains.services.amazonq.commands.MessageTypeRegistry
28+
import software.aws.toolkits.jetbrains.services.amazonq.isQSupportedInThisVersion
2829
import software.aws.toolkits.jetbrains.services.amazonq.lsp.AmazonQLspService
2930
import software.aws.toolkits.jetbrains.services.amazonq.lsp.artifacts.ArtifactManager
3031
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.AsyncChatUiListener
@@ -44,6 +45,7 @@ import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.auth.isFeature
4445
import software.aws.toolkits.jetbrains.services.codemodernizer.utils.isCodeTransformAvailable
4546
import java.util.concurrent.CompletableFuture
4647
import javax.swing.JButton
48+
import software.aws.toolkits.resources.message
4749

4850
class AmazonQPanel(val project: Project, private val scope: CoroutineScope) : Disposable {
4951
private val browser = CompletableFuture<Browser>()
@@ -102,6 +104,9 @@ class AmazonQPanel(val project: Project, private val scope: CoroutineScope) : Di
102104
webviewContainer.add(JBTextArea("JCEF not supported"))
103105
}
104106
browser.complete(null)
107+
} else if (!isQSupportedInThisVersion()){
108+
webviewContainer.add(JBTextArea("${message("q.unavailable")}\n ${message("q.unavailable.node")}"))
109+
browser.complete(null)
105110
} else {
106111
val loadingPanel = JBLoadingPanel(null, this)
107112
val wrapper = Wrapper()

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenPr
2323
import software.aws.toolkits.jetbrains.core.notifications.NotificationPanel
2424
import software.aws.toolkits.jetbrains.core.notifications.ProcessNotificationsBase
2525
import software.aws.toolkits.jetbrains.core.webview.BrowserState
26+
import software.aws.toolkits.jetbrains.services.amazonq.isQSupportedInThisVersion
2627
import software.aws.toolkits.jetbrains.services.amazonq.QWebviewPanel
2728
import software.aws.toolkits.jetbrains.services.amazonq.RefreshQChatPanelButtonPressedListener
2829
import software.aws.toolkits.jetbrains.services.amazonq.gettingstarted.openMeetQPage
@@ -149,7 +150,7 @@ class AmazonQToolWindowFactory : ToolWindowFactory, DumbAware {
149150
)
150151
}
151152

152-
override fun shouldBeAvailable(project: Project): Boolean = isQWebviewsAvailable()
153+
override fun shouldBeAvailable(project: Project): Boolean = isQWebviewsAvailable() && isQSupportedInThisVersion()
153154

154155
companion object {
155156
private val LOG = getLogger<AmazonQToolWindowFactory>()

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/QUtils.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
package software.aws.toolkits.jetbrains.services.amazonq
55

6+
import com.intellij.openapi.application.ApplicationInfo
67
import com.intellij.openapi.project.Project
78
import com.intellij.openapi.util.SystemInfo
89
import software.amazon.awssdk.services.codewhispererruntime.model.IdeCategory
@@ -52,3 +53,7 @@ fun codeWhispererUserContext(): UserContext = ClientMetadata.getDefault().let {
5253
.ideVersion(it.awsVersion)
5354
.build()
5455
}
56+
57+
fun isQSupportedInThisVersion(): Boolean = ApplicationInfo.getInstance().build.asStringWithoutProductCode() !in unSupportedIdeVersionInQ
58+
59+
val unSupportedIdeVersionInQ = listOf("242.21829.142")

plugins/core/resources/resources/software/aws/toolkits/resources/MessagesBundle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1656,7 +1656,7 @@ q.session_configuration=Extend your IDE sessions
16561656
q.session_configuration.description=Your maximum session length for Amazon Q can be extended to 90 days by your administrator. For more information, refer to How to extend the session duration for Amazon Q in the IDE in the IAM Identity Center User Guide.
16571657
q.sign.in=Get Started
16581658
q.ui.prompt.transform=/transform
1659-
q.unavailable=\ Not supported in v2023.2.0
1659+
q.unavailable=\ Q Chat not supported in v2024.2.1
16601660
q.unavailable.node=Please update to the latest IDE version
16611661
q.window.title=Amazon Q Chat
16621662
rds.aurora=Aurora

0 commit comments

Comments
 (0)