Skip to content

Commit 2e27831

Browse files
authored
Merge branch 'main' into main
2 parents df9d212 + 5bceb99 commit 2e27831

File tree

8 files changed

+44
-16
lines changed

8 files changed

+44
-16
lines changed

.changes/3.49.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"date" : "2025-01-17",
3+
"version" : "3.49",
4+
"entries" : [ {
5+
"type" : "bugfix",
6+
"description" : "/review: Improved success rate of code reviews for certain workspace configurations"
7+
} ]
8+
}

.changes/next-release/bugfix-02a84512-83ae-4fbe-a527-292ba072e3e0.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# _3.49_ (2025-01-17)
2+
- **(Bug Fix)** /review: Improved success rate of code reviews for certain workspace configurations
3+
14
# _3.48_ (2025-01-16)
25
- **(Feature)** Enhance Q inline completion context fetching for better suggestion quality
36
- **(Feature)** /doc: Add error message if updated README is too large

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# SPDX-License-Identifier: Apache-2.0
33

44
# Toolkit Version
5-
toolkitVersion=3.49-SNAPSHOT
5+
toolkitVersion=3.50-SNAPSHOT
66

77
# Publish Settings
88
publishToken=

plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/controller/CodeTransformChatController.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,8 @@ class CodeTransformChatController(
686686
is CodeModernizerJobCompletedResult.Stopped, CodeModernizerJobCompletedResult.JobAbortedBeforeStarting -> handleCodeTransformStoppedByUser()
687687
is CodeModernizerJobCompletedResult.JobFailed -> handleCodeTransformJobFailed(result.failureReason)
688688
is CodeModernizerJobCompletedResult.JobFailedInitialBuild -> handleCodeTransformJobFailedPreBuild(result)
689+
is CodeModernizerJobCompletedResult.RetryableFailure -> handleCodeTransformJobFailed(result.failureReason)
690+
is CodeModernizerJobCompletedResult.UnableToCreateJob -> handleCodeTransformJobFailed(result.failureReason)
689691
else -> {
690692
if (result is CodeModernizerJobCompletedResult.ZipUploadFailed && result.failureReason is UploadFailureReason.CREDENTIALS_EXPIRED) {
691693
return

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/sessionconfig/CodeScanSessionConfig.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhisperer
3636
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.CodeAnalysisScope
3737
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.DEFAULT_CODE_SCAN_TIMEOUT_IN_SECONDS
3838
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.DEFAULT_PAYLOAD_LIMIT_IN_BYTES
39+
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.EXPRESS_SCAN_TIMEOUT_IN_SECONDS
3940
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.FILE_SCAN_PAYLOAD_SIZE_LIMIT_IN_BYTES
40-
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.FILE_SCAN_TIMEOUT_IN_SECONDS
4141
import software.aws.toolkits.jetbrains.services.codewhisperer.util.isWithin
4242
import software.aws.toolkits.resources.message
4343
import software.aws.toolkits.telemetry.CodewhispererLanguage
@@ -68,9 +68,11 @@ class CodeScanSessionConfig(
6868
/**
6969
* Timeout for the overall job - "Run Security Scan".
7070
*/
71-
fun overallJobTimeoutInSeconds(): Long = when (scope) {
72-
CodeAnalysisScope.FILE -> FILE_SCAN_TIMEOUT_IN_SECONDS
73-
else -> DEFAULT_CODE_SCAN_TIMEOUT_IN_SECONDS
71+
fun overallJobTimeoutInSeconds(): Long {
72+
if (scope == CodeAnalysisScope.FILE && !initiatedByChat) {
73+
return EXPRESS_SCAN_TIMEOUT_IN_SECONDS
74+
}
75+
return DEFAULT_CODE_SCAN_TIMEOUT_IN_SECONDS
7476
}
7577

7678
fun getPayloadLimitInBytes(): Long = when (scope) {

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/util/CodeWhispererConstants.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ object CodeWhispererConstants {
7676
const val FILE_SCAN_INITIAL_POLLING_INTERVAL_IN_SECONDS: Long = 10
7777
const val PROJECT_SCAN_INITIAL_POLLING_INTERVAL_IN_SECONDS: Long = 30
7878
const val CODE_SCAN_CREATE_PAYLOAD_TIMEOUT_IN_SECONDS: Long = 10
79-
const val FILE_SCAN_TIMEOUT_IN_SECONDS: Long = 60 * 10 // 10 minutes
79+
const val EXPRESS_SCAN_TIMEOUT_IN_SECONDS: Long = 60
8080
const val FILE_SCAN_PAYLOAD_SIZE_LIMIT_IN_BYTES: Long = 1024 * 200 // 200KB
8181
const val AUTO_SCAN_DEBOUNCE_DELAY_IN_SECONDS: Long = 30
8282
const val CODE_FIX_CREATE_PAYLOAD_TIMEOUT_IN_SECONDS: Long = 10

plugins/core/jetbrains-community/tstFixtures/software/aws/toolkits/jetbrains/services/telemetry/MockTelemetryService.kt

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

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

6-
import com.intellij.openapi.components.service
6+
import com.intellij.openapi.Disposable
7+
import com.intellij.openapi.application.ApplicationManager
8+
import com.intellij.openapi.util.Disposer
9+
import com.intellij.testFramework.replaceService
710
import org.junit.jupiter.api.extension.AfterEachCallback
811
import org.junit.jupiter.api.extension.BeforeEachCallback
912
import org.junit.jupiter.api.extension.ExtensionContext
@@ -13,13 +16,17 @@ import org.mockito.kotlin.spy
1316
import software.amazon.awssdk.services.toolkittelemetry.model.Sentiment
1417
import software.aws.toolkits.core.telemetry.DefaultTelemetryBatcher
1518
import software.aws.toolkits.core.telemetry.MetricEvent
19+
import software.aws.toolkits.core.telemetry.TelemetryBatcher
1620
import software.aws.toolkits.core.telemetry.TelemetryPublisher
1721

18-
class NoOpTelemetryService : TelemetryService(publisher, spy(DefaultTelemetryBatcher(publisher))) {
22+
class NoOpTelemetryService : TelemetryService {
23+
constructor(noOpPublisher: NoOpPublisher, batcher: TelemetryBatcher) : super(noOpPublisher, batcher)
24+
constructor() : this(NO_OP_PUBLISHER, DefaultTelemetryBatcher(NO_OP_PUBLISHER))
25+
1926
fun batcher() = super.batcher
2027

21-
private companion object {
22-
private val publisher: TelemetryPublisher by lazy { NoOpPublisher() }
28+
companion object {
29+
val NO_OP_PUBLISHER = NoOpPublisher()
2330
}
2431
}
2532

@@ -32,11 +39,21 @@ class NoOpPublisher : TelemetryPublisher {
3239
}
3340

3441
sealed class MockTelemetryServiceBase : ExternalResource() {
35-
private val mockTelemetryService: NoOpTelemetryService
36-
get() = service<TelemetryService>() as NoOpTelemetryService
42+
protected val publisher: NoOpPublisher by lazy { NoOpTelemetryService.NO_OP_PUBLISHER }
43+
protected val batcher: TelemetryBatcher by lazy { spy(DefaultTelemetryBatcher(publisher)) }
44+
private lateinit var disposableParent: Disposable
45+
46+
private val mockTelemetryService: NoOpTelemetryService by lazy { NoOpTelemetryService(publisher, batcher) }
47+
48+
override fun before() {
49+
// hack because @TestDisposable doesn't work here as it's not a test
50+
disposableParent = Disposer.newDisposable()
51+
ApplicationManager.getApplication().replaceService(TelemetryService::class.java, mockTelemetryService, disposableParent)
52+
}
3753

3854
override fun after() {
3955
reset(batcher())
56+
Disposer.dispose(disposableParent)
4057
}
4158

4259
fun telemetryService() = mockTelemetryService

0 commit comments

Comments
 (0)