Skip to content

Commit a9a1ac6

Browse files
committed
fix: add debounce to avoid request per keystroke
1 parent 4b52ff4 commit a9a1ac6

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

packages/amazonq/src/app/inline/recommendationService.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,19 @@ import { CancellationToken, InlineCompletionContext, Position, TextDocument } fr
1212
import { LanguageClient } from 'vscode-languageclient'
1313
import { SessionManager } from './sessionManager'
1414
import { InlineGeneratingMessage } from './inlineGeneratingMessage'
15-
import { CodeWhispererStatusBarManager } from 'aws-core-vscode/codewhisperer'
15+
import { CodeWhispererStatusBarManager, inlineCompletionsDebounceDelay } from 'aws-core-vscode/codewhisperer'
1616
import { TelemetryHelper } from './telemetryHelper'
17+
import { debounce } from 'aws-core-vscode/utils'
1718

1819
export class RecommendationService {
1920
constructor(
2021
private readonly sessionManager: SessionManager,
2122
private readonly inlineGeneratingMessage: InlineGeneratingMessage
2223
) {}
2324

24-
async getAllRecommendations(
25+
getAllRecommendations = debounce(this._getAllRecommendations.bind(this), inlineCompletionsDebounceDelay)
26+
27+
private async _getAllRecommendations(
2528
languageClient: LanguageClient,
2629
document: TextDocument,
2730
position: Position,

packages/core/src/codewhisperer/models/constants.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -194,15 +194,9 @@ export const securityScanLearnMoreUri = 'https://docs.aws.amazon.com/amazonq/lat
194194
export const identityPoolID = 'us-east-1:70717e99-906f-4add-908c-bd9074a2f5b9'
195195

196196
/**
197-
* the interval of the background thread invocation, which is triggered by the timer
197+
* Delay for making requests once the user stops typing. Without a delay, inline suggestions request is triggered every keystroke.
198198
*/
199-
export const defaultCheckPeriodMillis = 1000 * 60 * 5
200-
201-
// suggestion show delay, in milliseconds
202-
export const suggestionShowDelay = 250
203-
204-
// add 200ms more delay on top of inline default 30-50ms
205-
export const inlineSuggestionShowDelay = 200
199+
export const inlineCompletionsDebounceDelay = 100
206200

207201
export const referenceLog = 'Code Reference Log'
208202

0 commit comments

Comments
 (0)