Skip to content

Commit 4c2242b

Browse files
authored
Merge branch 'master' into debug_feedback
2 parents 44f07d9 + 0a2fa82 commit 4c2242b

40 files changed

+1663
-271
lines changed

package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"date": "2025-09-19",
3+
"version": "1.95.0",
4+
"entries": [
5+
{
6+
"type": "Bug Fix",
7+
"description": "Amazon Q automatically refreshes expired IAM Credentials in Sagemaker instances"
8+
}
9+
]
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"date": "2025-09-25",
3+
"version": "1.96.0",
4+
"entries": [
5+
{
6+
"type": "Bug Fix",
7+
"description": "Amazon Q support web/container environments running Ubuntu/Linux, even when the host machine is Amazon Linux 2."
8+
}
9+
]
10+
}

packages/amazonq/.changes/next-release/Bug Fix-da0e805d-faab-4274-b37a-943c7263e42b.json

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

packages/amazonq/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
## 1.96.0 2025-09-25
2+
3+
- **Bug Fix** Amazon Q support web/container environments running Ubuntu/Linux, even when the host machine is Amazon Linux 2.
4+
5+
## 1.95.0 2025-09-19
6+
7+
- **Bug Fix** Amazon Q automatically refreshes expired IAM Credentials in Sagemaker instances
8+
19
## 1.94.0 2025-09-11
210

311
- Miscellaneous non-user-facing changes

packages/amazonq/package.json

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "amazon-q-vscode",
33
"displayName": "Amazon Q",
44
"description": "The most capable generative AI–powered assistant for software development.",
5-
"version": "1.95.0-SNAPSHOT",
5+
"version": "1.97.0-SNAPSHOT",
66
"extensionKind": [
77
"workspace"
88
],
@@ -593,12 +593,6 @@
593593
"category": "%AWS.amazonq.title%",
594594
"enablement": "aws.codewhisperer.connected"
595595
},
596-
{
597-
"command": "aws.amazonq.security.scan-statusbar",
598-
"title": "%AWS.command.amazonq.security.scan%",
599-
"category": "%AWS.amazonq.title%",
600-
"enablement": "aws.codewhisperer.connected && !aws.isSageMaker"
601-
},
602596
{
603597
"command": "aws.amazonq.refactorCode",
604598
"title": "%AWS.command.amazonq.refactorCode%",

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,10 @@ export async function activate(languageClient: LanguageClient) {
9898

9999
if (vsCodeState.lastUserModificationTime) {
100100
TelemetryHelper.instance.setTimeSinceLastModification(
101-
performance.now() - vsCodeState.lastUserModificationTime
101+
Date.now() - vsCodeState.lastUserModificationTime
102102
)
103103
}
104-
vsCodeState.lastUserModificationTime = performance.now()
104+
vsCodeState.lastUserModificationTime = Date.now()
105105
/**
106106
* Important: Doing this sleep(10) is to make sure
107107
* 1. this event is processed by vs code first

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

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ export class InlineCompletionManager implements Disposable {
115115
const startLine = position.line
116116
// TODO: also log the seen state for other suggestions in session
117117
// Calculate timing metrics before diagnostic delay
118-
const totalSessionDisplayTime = performance.now() - requestStartTime
118+
const totalSessionDisplayTime = Date.now() - requestStartTime
119119
await sleep(500)
120120
const diagnosticDiff = getDiagnosticsDifferences(
121121
this.sessionManager.getActiveSession()?.diagnosticsBeforeAccept,
@@ -175,7 +175,7 @@ export class InlineCompletionManager implements Disposable {
175175
return
176176
}
177177
const requestStartTime = session.requestStartTime
178-
const totalSessionDisplayTime = performance.now() - requestStartTime
178+
const totalSessionDisplayTime = Date.now() - requestStartTime
179179
await commands.executeCommand('editor.action.inlineSuggest.hide')
180180
// TODO: also log the seen state for other suggestions in session
181181
this.disposable.dispose()
@@ -249,7 +249,7 @@ export class AmazonQInlineCompletionItemProvider implements InlineCompletionItem
249249
// Use VS Code command to check if inline suggestion is actually visible on screen
250250
// This command only executes when inlineSuggestionVisible context is true
251251
await vscode.commands.executeCommand('aws.amazonq.checkInlineSuggestionVisibility')
252-
const isInlineSuggestionVisible = performance.now() - session.lastVisibleTime < 50
252+
const isInlineSuggestionVisible = Date.now() - session.lastVisibleTime < 50
253253
return isInlineSuggestionVisible
254254
}
255255

@@ -278,7 +278,7 @@ export class AmazonQInlineCompletionItemProvider implements InlineCompletionItem
278278
sessionId: session.sessionId,
279279
completionSessionResult,
280280
firstCompletionDisplayLatency: session.firstCompletionDisplayLatency,
281-
totalSessionDisplayTime: performance.now() - session.requestStartTime,
281+
totalSessionDisplayTime: Date.now() - session.requestStartTime,
282282
}
283283
this.languageClient.sendNotification(this.logSessionResultMessageName, params)
284284
}
@@ -309,7 +309,7 @@ export class AmazonQInlineCompletionItemProvider implements InlineCompletionItem
309309
// when hitting other keystrokes, the context.triggerKind is Automatic (1)
310310
// we only mark option + C as manual trigger
311311
// this is a workaround since the inlineSuggest.trigger command take no params
312-
const isAutoTrigger = performance.now() - vsCodeState.lastManualTriggerTime > 50
312+
const isAutoTrigger = Date.now() - vsCodeState.lastManualTriggerTime > 50
313313
if (isAutoTrigger && !CodeSuggestionsState.instance.isSuggestionsEnabled()) {
314314
// return early when suggestions are disabled with auto trigger
315315
return []
@@ -318,9 +318,9 @@ export class AmazonQInlineCompletionItemProvider implements InlineCompletionItem
318318
// yield event loop to let the document listen catch updates
319319
await sleep(1)
320320

321-
let logstr = `GenerateCompletion metadata:\\n`
321+
let logstr = `GenerateCompletion activity:\\n`
322322
try {
323-
const t0 = performance.now()
323+
const t0 = Date.now()
324324
vsCodeState.isRecommendationsActive = true
325325
// handling previous session
326326
const prevSession = this.sessionManager.getActiveSession()
@@ -365,7 +365,7 @@ export class AmazonQInlineCompletionItemProvider implements InlineCompletionItem
365365
// re-use previous suggestions as long as new typed prefix matches
366366
if (prevItemMatchingPrefix.length > 0) {
367367
logstr += `- not call LSP and reuse previous suggestions that match user typed characters
368-
- duration between trigger to completion suggestion is displayed ${performance.now() - t0}`
368+
- duration between trigger to completion suggestion is displayed ${Date.now() - t0}`
369369
void this.checkWhetherInlineCompletionWasShown()
370370
return prevItemMatchingPrefix
371371
}
@@ -381,7 +381,7 @@ export class AmazonQInlineCompletionItemProvider implements InlineCompletionItem
381381
},
382382
},
383383
firstCompletionDisplayLatency: prevSession.firstCompletionDisplayLatency,
384-
totalSessionDisplayTime: performance.now() - prevSession.requestStartTime,
384+
totalSessionDisplayTime: Date.now() - prevSession.requestStartTime,
385385
}
386386
this.languageClient.sendNotification(this.logSessionResultMessageName, params)
387387
this.sessionManager.clear()
@@ -396,7 +396,7 @@ export class AmazonQInlineCompletionItemProvider implements InlineCompletionItem
396396
TelemetryHelper.instance.setInvokeSuggestionStartTime()
397397
TelemetryHelper.instance.setTriggerType(context.triggerKind)
398398

399-
const t1 = performance.now()
399+
const t1 = Date.now()
400400

401401
await this.recommendationService.getAllRecommendations(
402402
this.languageClient,
@@ -418,7 +418,7 @@ export class AmazonQInlineCompletionItemProvider implements InlineCompletionItem
418418
// eslint-disable-next-line @typescript-eslint/no-base-to-string
419419
const itemLog = items[0] ? `${items[0].insertText.toString()}` : `no suggestion`
420420

421-
const t2 = performance.now()
421+
const t2 = Date.now()
422422

423423
logstr += `- number of suggestions: ${items.length}
424424
- sessionId: ${this.sessionManager.getActiveSession()?.sessionId}
@@ -468,7 +468,7 @@ ${itemLog}
468468
const lastDocumentChange = this.documentEventListener.getLastDocumentChangeEvent(document.uri.fsPath)
469469
if (
470470
lastDocumentChange &&
471-
performance.now() - lastDocumentChange.timestamp < CodeWhispererConstants.inlineSuggestionShowDelay
471+
Date.now() - lastDocumentChange.timestamp < CodeWhispererConstants.inlineSuggestionShowDelay
472472
) {
473473
await sleep(CodeWhispererConstants.showRecommendationTimerPollPeriod)
474474
} else {
@@ -486,7 +486,7 @@ ${itemLog}
486486
// Check if Next Edit Prediction feature flag is enabled
487487
if (Experiments.instance.get('amazonqLSPNEP', true)) {
488488
await showEdits(item, editor, session, this.languageClient, this)
489-
logstr += `- duration between trigger to edits suggestion is displayed: ${performance.now() - t0}ms`
489+
logstr += `- duration between trigger to edits suggestion is displayed: ${Date.now() - t0}ms`
490490
}
491491
return []
492492
}
@@ -530,7 +530,7 @@ ${itemLog}
530530

531531
this.sessionManager.updateCodeReferenceAndImports()
532532
// suggestions returned here will be displayed on screen
533-
logstr += `- duration between trigger to completion suggestion is displayed: ${performance.now() - t0}ms`
533+
logstr += `- duration between trigger to completion suggestion is displayed: ${Date.now() - t0}ms`
534534
void this.checkWhetherInlineCompletionWasShown()
535535
return itemsMatchingTypeahead as InlineCompletionItem[]
536536
} catch (e) {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export class DocumentEventListener {
2020
if (this.lastDocumentChangeEventMap.size > this._maxDocument) {
2121
this.lastDocumentChangeEventMap.clear()
2222
}
23-
this.lastDocumentChangeEventMap.set(e.document.uri.fsPath, { event: e, timestamp: performance.now() })
23+
this.lastDocumentChangeEventMap.set(e.document.uri.fsPath, { event: e, timestamp: Date.now() })
2424
// The VS Code provideInlineCompletionCallback may not trigger when Enter is pressed, especially in Python files
2525
// manually make this trigger. In case of duplicate, the provideInlineCompletionCallback is already debounced
2626
if (this.isEnter(e) && vscode.window.activeTextEditor) {
@@ -37,7 +37,7 @@ export class DocumentEventListener {
3737
const eventTime = result.timestamp
3838
const isDelete =
3939
(event && event.contentChanges.length === 1 && event.contentChanges[0].text === '') || false
40-
const timeDiff = Math.abs(performance.now() - eventTime)
40+
const timeDiff = Math.abs(Date.now() - eventTime)
4141
return timeDiff < 500 && isDelete
4242
}
4343
return false

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
*/
99
export class EditSuggestionState {
1010
private static isEditSuggestionCurrentlyActive = false
11-
private static displayStartTime = performance.now()
11+
private static displayStartTime = Date.now()
1212

1313
static setEditSuggestionActive(active: boolean): void {
1414
this.isEditSuggestionCurrentlyActive = active
1515
if (active) {
16-
this.displayStartTime = performance.now()
16+
this.displayStartTime = Date.now()
1717
}
1818
}
1919

@@ -22,6 +22,6 @@ export class EditSuggestionState {
2222
}
2323

2424
static isEditSuggestionDisplayingOverOneSecond(): boolean {
25-
return this.isEditSuggestionActive() && performance.now() - this.displayStartTime > 1000
25+
return this.isEditSuggestionActive() && Date.now() - this.displayStartTime > 1000
2626
}
2727
}

0 commit comments

Comments
 (0)