-
Notifications
You must be signed in to change notification settings - Fork 249
Merge main into feature/remote-chat #5538
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: feature/remote-chat
Are you sure you want to change the base?
Merge main into feature/remote-chat #5538
Conversation
…nged (#2004) * add sessionClear * change listener to project level * change listener param * fx * ensure dev/test/review work * linter * hack * update endpoint * delete loh * revert transform change * cr * update session clear * leave stopModernize in codeModernizerManager --------- Co-authored-by: Will Lo <[email protected]> Co-authored-by: Will Lo <[email protected]>
* add * retain id * sync
* move validate in factory * centralize all clients
* changlog * update
* Add ability to filter tests based on feature * feedback
* fix empty profile name provided as the response * Update plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/profile/QRegionProfileManager.kt Co-authored-by: Richard Li <[email protected]> --------- Co-authored-by: Richard Li <[email protected]> Co-authored-by: evanliu048 <[email protected]>
Avoid calling ListAvailableProfiles at a higher frequency by: -Calling this API only when it's in the ProfileSelection stage -Using AwsResourceCache to cache the api result and retrieve it after the cache expired.
…files is long (#5547) `CodeWhispererStatusBarWidget` attempts to query active connections, but lock is being held while trying to list profiles ``` "AWT-EventQueue-0" prio=0 tid=0x0 nid=0x0 blocked java.lang.Thread.State: BLOCKED on software.aws.toolkits.jetbrains.core.credentials.DefaultToolkitConnectionManager@37995400 owned by "ApplicationImpl pooled thread 5 @coroutine#17104" Id=128 at software.aws.toolkits.jetbrains.core.credentials.DefaultToolkitConnectionManager.activeConnectionForFeature(DefaultToolkitConnectionManager.kt) at software.aws.toolkits.jetbrains.services.amazonq.QUtilsKt.calculateIfIamIdentityCenterConnection(QUtils.kt:18) at software.aws.toolkits.jetbrains.services.codewhisperer.customization.DefaultCodeWhispererModelConfigurator.activeCustomization(CodeWhispererModelConfigurator.kt:171) at software.aws.toolkits.jetbrains.services.codewhisperer.status.CodeWhispererStatusBarWidget.getSelectedValue(CodeWhispererStatusBarWidget.kt:114) at com.intellij.openapi.wm.impl.status.MultipleTextValues.beforeUpdate(IdeStatusBarImpl.kt:983) ``` ``` - "coroutine#17104":BlockingCoroutine{Active}@7dced952, state: RUNNING [CoroutineId(17104), BlockingEventLoop@2da7461c] at java.base/jdk.internal.misc.Unsafe.park(Native Method) at java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:269) at java.base/java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1866) at java.base/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:4013) at java.base/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3961) at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1939) at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095) at migration.software.aws.toolkits.jetbrains.core.AwsResourceCache$Companion.wait(AwsResourceCache.kt:150) at migration.software.aws.toolkits.jetbrains.core.AwsResourceCache$Companion.access$wait(AwsResourceCache.kt:145) at migration.software.aws.toolkits.jetbrains.core.AwsResourceCache.getResourceNow(AwsResourceCache.kt:92) at migration.software.aws.toolkits.jetbrains.core.AwsResourceCache.getResourceNow(AwsResourceCache.kt:105) at software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfileManager.listRegionProfiles(QRegionProfileManager.kt:70) at software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfileManager.validateProfile$lambda$0(QRegionProfileManager.kt:50) at software.aws.toolkits.core.utils.ExceptionUtils.tryOrNull(ExceptionUtils.kt:11) at software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfileManager.validateProfile(QRegionProfileManager.kt:49) at software.aws.toolkits.jetbrains.services.amazonq.toolwindow.AmazonQToolWindowFactory$createToolWindowContent$2.activeConnectionChanged(AmazonQToolWindowFactory.kt:68) [...] at software.aws.toolkits.jetbrains.core.credentials.DefaultToolkitConnectionManager.switchConnection(DefaultToolkitConnectionManager.kt:159) ```
…ks (#5539) `@JsonIgnoreProperties` should be a class-level annotation
Fix test deleted in #5544
Conflicts: plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/QLoginWebview.kt plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/Browser.kt
Qodana Community for JVM7 new problems were found
💡 Qodana analysis was run in the pull request mode: only the changed files were checked Contact Qodana teamContact us at [email protected]
|
ToolkitConnectionManager.getInstance(project).activeConnectionForFeature(QConnection.getInstance())?.getConnectionSettings() | ||
?.awsClient<CodeWhispererRuntimeClient>() | ||
?: throw Exception("attempt to get bearer client while there is no valid credential") | ||
open class CodeWhispererClientAdaptorImpl(override val project: Project) : CodeWhispererClientAdaptor { |
Check warning
Code scanning / QDJVMC
Extension class should be final and non-public Warning
|
||
add(Separator.create()) | ||
add(Separator.create(message("codewhisperer.statusbar.sub_menu.connect_help.title"))) | ||
addAll(buildActionListForConnectHelp(actionProvider)) | ||
|
||
add(Separator.create()) | ||
add(CodeWhispererShowSettingsAction()) | ||
( | ||
ToolkitConnectionManager.getInstance(it).activeConnectionForFeature(QConnection.getInstance()) as? AwsBearerTokenConnection | ||
)?.takeIf { !it.isSono() } |
Check notice
Code scanning / QDJVMC
Nested lambda has shadowed implicit parameter Note
@@ -10,4 +10,13 @@ | |||
amazonq.refresh.panel=Refresh Chat Session | |||
amazonq.title=Amazon Q | |||
amazonq.workspace.settings.open.prompt=Workspace index is now enabled. You can disable it from Amazon Q settings. | |||
q.hello=Hello | |||
action.q.profile.usage.text=You changed profile | |||
action.q.profile.usage=You're using the '<b>{0}</b>' profile for Amazon Q. |
Check warning
Code scanning / QDJVMC
Message format validation in properties files Warning
import software.aws.toolkits.telemetry.MetricResult | ||
import software.aws.toolkits.telemetry.Telemetry | ||
|
||
class QSwitchProfilesAction : AnAction(message("action.q.switchProfiles.text")), DumbAware { |
Check warning
Code scanning / QDJVMC
Incorrect string capitalization Warning
private val LOG = getLogger<QRegionEndpoint>() | ||
data class QRegionEndpoint(val region: String, val endpoint: String) | ||
|
||
object Q_DEFAULT_SERVICE_CONFIG { |
Check notice
Code scanning / QDJVMC
Class naming convention Note
|
||
@Service(Service.Level.APP) | ||
@State(name = "qProfileStates", storages = [Storage("aws.xml")]) | ||
class QRegionProfileManager : PersistentStateComponent<QProfileState>, Disposable { |
Check warning
Code scanning / QDJVMC
Extension class should be final and non-public Warning
Automatic merge failed
Command line hint
To perform the merge from the command line, you could do something like the following (where "origin" is the name of the remote in your local git repo):