Skip to content
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import software.aws.toolkits.jetbrains.isDeveloperMode
import software.aws.toolkits.jetbrains.services.amazonq.apps.AmazonQAppInitContext
import software.aws.toolkits.jetbrains.services.amazonq.apps.AppConnection
import software.aws.toolkits.jetbrains.services.amazonq.commands.MessageTypeRegistry
import software.aws.toolkits.jetbrains.services.amazonq.isQSupportedInThisVersion
import software.aws.toolkits.jetbrains.services.amazonq.lsp.AmazonQLspService
import software.aws.toolkits.jetbrains.services.amazonq.lsp.artifacts.ArtifactManager
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.AsyncChatUiListener
Expand All @@ -42,6 +43,7 @@ import software.aws.toolkits.jetbrains.services.amazonqCodeTest.auth.isCodeTestA
import software.aws.toolkits.jetbrains.services.amazonqDoc.auth.isDocAvailable
import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.auth.isFeatureDevAvailable
import software.aws.toolkits.jetbrains.services.codemodernizer.utils.isCodeTransformAvailable
import software.aws.toolkits.resources.message
import java.util.concurrent.CompletableFuture
import javax.swing.JButton

Expand Down Expand Up @@ -102,6 +104,10 @@ class AmazonQPanel(val project: Project, private val scope: CoroutineScope) : Di
webviewContainer.add(JBTextArea("JCEF not supported"))
}
browser.complete(null)
} else if (!isQSupportedInThisVersion()) {
val currentBuild = com.intellij.openapi.application.ApplicationInfo.getInstance().build
webviewContainer.add(JBTextArea("Amazon Q is not supported in your version ${currentBuild}. Please update to the latest version of your IDE."))
browser.complete(null)
} else {
val loadingPanel = JBLoadingPanel(null, this)
val wrapper = Wrapper()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@

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

import com.intellij.openapi.application.ApplicationInfo
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.BuildNumber
import com.intellij.openapi.util.SystemInfo
import software.amazon.awssdk.services.codewhispererruntime.model.IdeCategory
import software.amazon.awssdk.services.codewhispererruntime.model.OperatingSystem
Expand Down Expand Up @@ -52,3 +54,12 @@ fun codeWhispererUserContext(): UserContext = ClientMetadata.getDefault().let {
.ideVersion(it.awsVersion)
.build()
}

fun isQSupportedInThisVersion(): Boolean {
val currentBuild = ApplicationInfo.getInstance().build.withoutProductCode()

return !(
currentBuild.baselineVersion == 242 &&
BuildNumber.fromString("242.22855.74")?.let { currentBuild < it } == true
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -1656,7 +1656,7 @@ q.session_configuration=Extend your IDE sessions
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.
q.sign.in=Get Started
q.ui.prompt.transform=/transform
q.unavailable=\ Not supported in v2023.2.0
q.unavailable=\ Amazon Q Chat is not supported in v2024.2.1
q.unavailable.node=Please update to the latest IDE version
q.window.title=Amazon Q Chat
rds.aurora=Aurora
Expand Down
Loading