Skip to content

Commit 3c58d6c

Browse files
Merge master into feature/editable_diffview
2 parents ac0e31c + 9453746 commit 3c58d6c

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

packages/amazonq/src/app/inline/EditRendering/displayImage.ts

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -313,15 +313,18 @@ export async function displaySvgDecoration(
313313
item: InlineCompletionItemWithReferences,
314314
inlineCompletionProvider?: AmazonQInlineCompletionItemProvider
315315
) {
316+
function logSuggestionFailure(type: 'DISCARD' | 'REJECT', reason: string, suggestionContent: string) {
317+
getLogger('nextEditPrediction').debug(
318+
`Auto ${type} edit suggestion with reason=${reason}, suggetion: ${suggestionContent}`
319+
)
320+
}
316321
// Check if edit is too far from current cursor position
317322
const currentCursorLine = editor.selection.active.line
318323
if (Math.abs(startLine - currentCursorLine) >= autoDiscardEditCursorDistance) {
319324
// Emit DISCARD telemetry for edit suggestion that can't be shown because the suggestion is too far away
320325
const params = createDiscardTelemetryParams(session, item)
321326
languageClient.sendNotification('aws/logInlineCompletionSessionResults', params)
322-
getLogger('nextEditPrediction').debug(
323-
`Auto discarded edit suggestion for suggestion that is too far away: ${item.insertText as string}`
324-
)
327+
logSuggestionFailure('DISCARD', 'cursor is too far away', item.insertText as string)
325328
return
326329
}
327330

@@ -340,9 +343,7 @@ export async function displaySvgDecoration(
340343
// Emit DISCARD telemetry for edit suggestion that can't be shown due to active completion
341344
const params = createDiscardTelemetryParams(session, item)
342345
languageClient.sendNotification('aws/logInlineCompletionSessionResults', params)
343-
getLogger('nextEditPrediction').debug(
344-
`Auto discarded edit suggestion for active completion suggestion: ${item.insertText as string}`
345-
)
346+
logSuggestionFailure('DISCARD', 'Conflicting active inline completion', item.insertText as string)
346347
return
347348
}
348349

@@ -355,6 +356,7 @@ export async function displaySvgDecoration(
355356
const params = createDiscardTelemetryParams(session, item)
356357
// TODO: this session is closed on flare side hence discarded is not emitted in flare
357358
languageClient.sendNotification('aws/logInlineCompletionSessionResults', params)
359+
logSuggestionFailure('DISCARD', 'Invalid patch', item.insertText as string)
358360
return
359361
}
360362
const documentChangeListener = vscode.workspace.onDidChangeTextDocument((e) => {
@@ -373,9 +375,7 @@ export async function displaySvgDecoration(
373375

374376
const isPatchValid = applyPatch(e.document.getText(), item.insertText as string)
375377
if (!isPatchValid) {
376-
getLogger('nextEditPrediction').debug(
377-
`Auto rejected edit suggestion for invalid patch: ${item.insertText as string}}`
378-
)
378+
logSuggestionFailure('REJECT', 'Invalid patch due to document change', item.insertText as string)
379379
void vscode.commands.executeCommand('aws.amazonq.inline.rejectEdit')
380380
}
381381
})
@@ -389,6 +389,11 @@ export async function displaySvgDecoration(
389389
const currentPosition = e.selections[0].active
390390
const distance = Math.abs(currentPosition.line - startLine)
391391
if (distance > autoRejectEditCursorDistance) {
392+
logSuggestionFailure(
393+
'REJECT',
394+
`cursor position move too far away off ${autoRejectEditCursorDistance} lines`,
395+
item.insertText as string
396+
)
392397
void vscode.commands.executeCommand('aws.amazonq.inline.rejectEdit')
393398
}
394399
})

0 commit comments

Comments
 (0)