Skip to content

Commit 1c02728

Browse files
committed
Revert "[Amazon Q Security Scans] Refactoring code to improve the performance (aws#5346)"
This reverts commit 1c778ac.
1 parent f992120 commit 1c02728

File tree

2 files changed

+37
-33
lines changed

2 files changed

+37
-33
lines changed

packages/core/src/codewhisperer/service/securityIssueHoverProvider.ts

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -25,30 +25,34 @@ export class SecurityIssueHoverProvider extends SecurityIssueProvider implements
2525
): vscode.Hover {
2626
const contents: vscode.MarkdownString[] = []
2727

28-
const fileIssues = this.issues.find((group) => group.filePath === document.fileName)?.issues || []
29-
30-
for (const issue of fileIssues) {
31-
const range = new vscode.Range(issue.startLine, 0, issue.endLine, 0)
32-
if (range.contains(position)) {
33-
contents.push(this._getContent(document.fileName, issue))
34-
telemetry.codewhisperer_codeScanIssueHover.emit({
35-
findingId: issue.findingId,
36-
detectorId: issue.detectorId,
37-
ruleId: issue.ruleId,
38-
includesFix: !!issue.suggestedFixes.length,
39-
credentialStartUrl: AuthUtil.instance.startUrl,
40-
})
41-
TelemetryHelper.instance.sendCodeScanRemediationsEvent(
42-
document.languageId,
43-
'CODESCAN_ISSUE_HOVER',
44-
issue.detectorId,
45-
issue.findingId,
46-
issue.ruleId,
47-
undefined,
48-
undefined,
49-
undefined,
50-
!!issue.suggestedFixes.length
51-
)
28+
for (const group of this.issues) {
29+
if (document.fileName !== group.filePath) {
30+
continue
31+
}
32+
33+
for (const issue of group.issues) {
34+
const range = new vscode.Range(issue.startLine, 0, issue.endLine, 0)
35+
if (range.contains(position)) {
36+
contents.push(this._getContent(group.filePath, issue))
37+
telemetry.codewhisperer_codeScanIssueHover.emit({
38+
findingId: issue.findingId,
39+
detectorId: issue.detectorId,
40+
ruleId: issue.ruleId,
41+
includesFix: !!issue.suggestedFixes.length,
42+
credentialStartUrl: AuthUtil.instance.startUrl,
43+
})
44+
TelemetryHelper.instance.sendCodeScanRemediationsEvent(
45+
document.languageId,
46+
'CODESCAN_ISSUE_HOVER',
47+
issue.detectorId,
48+
issue.findingId,
49+
issue.ruleId,
50+
undefined,
51+
undefined,
52+
undefined,
53+
!!issue.suggestedFixes.length
54+
)
55+
}
5256
}
5357
}
5458

packages/core/src/codewhisperer/service/securityScanHandler.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -118,17 +118,17 @@ export function mapToAggregatedList(
118118
scope: CodeWhispererConstants.CodeAnalysisScope
119119
) {
120120
const codeScanIssues: RawCodeScanIssue[] = JSON.parse(json)
121-
const filteredIssues = codeScanIssues.flatMap((issue) => {
121+
const filteredIssues = codeScanIssues.filter((issue) => {
122122
if (scope === CodeWhispererConstants.CodeAnalysisScope.FILE && editor) {
123-
const isValidIssue = issue.codeSnippet.every((codeIssue, index) => {
124-
const lineNumber = issue.startLine + index
123+
for (let lineNumber = issue.startLine; lineNumber <= issue.endLine; lineNumber++) {
125124
const line = editor.document.lineAt(lineNumber - 1)?.text
126-
const codeContent = codeIssue.content
127-
return line === codeContent
128-
})
129-
return isValidIssue ? [issue] : []
125+
const codeContent = issue.codeSnippet.find((codeIssue) => codeIssue.number === lineNumber)?.content
126+
if (line !== codeContent) {
127+
return false
128+
}
129+
}
130130
}
131-
return [issue]
131+
return true
132132
})
133133

134134
filteredIssues.forEach((issue) => {
@@ -306,7 +306,7 @@ export async function uploadArtifactToS3(
306306
`Amazon Q is unable to upload workspace artifacts to Amazon S3 for security scans. For more information, see the Amazon Q documentation or contact your network or organization administrator.`
307307
)
308308
const errorMessage = getTelemetryReasonDesc(error)?.includes(`"PUT" request failed with code "403"`)
309-
? `"PUT" request failed with code "403"`
309+
? `UploadArtifactToS3Exception: "PUT" request failed with code "403"`
310310
: getTelemetryReasonDesc(error) ?? 'Security scan failed.'
311311

312312
throw new UploadArtifactToS3Error(errorMessage)

0 commit comments

Comments
 (0)