File tree Expand file tree Collapse file tree 3 files changed +47
-0
lines changed Expand file tree Collapse file tree 3 files changed +47
-0
lines changed Original file line number Diff line number Diff line change @@ -31,6 +31,7 @@ import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.utils.Ama
3131import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
3232import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererUnknownLanguage
3333import software.aws.toolkits.jetbrains.services.codewhisperer.language.programmingLanguage
34+ import software.aws.toolkits.jetbrains.services.codewhisperer.telemetry.CodeWhispererTelemetryService
3435import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.CODE_SCAN_CREATE_PAYLOAD_TIMEOUT_IN_SECONDS
3536import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.CodeAnalysisScope
3637import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.DEFAULT_CODE_SCAN_TIMEOUT_IN_SECONDS
@@ -195,6 +196,9 @@ class CodeScanSessionConfig(
195196 files.forEach { file ->
196197 try {
197198 val relativePath = " ${project.name} /${file.relativeTo(projectRoot.toNioPath())} "
199+ if (relativePath.contains(" ../" ) || relativePath.contains(" ..\\ " )) {
200+ CodeWhispererTelemetryService .getInstance().sendInvalidZipEvent(file, projectRoot.toNioPath(), relativePath)
201+ }
198202 LOG .debug { " Selected file for truncation: $file " }
199203 it.putNextEntry(relativePath.toString(), file)
200204 } catch (e: Exception ) {
Original file line number Diff line number Diff line change @@ -51,9 +51,11 @@ import software.aws.toolkits.telemetry.Component
5151import software.aws.toolkits.telemetry.CredentialSourceId
5252import software.aws.toolkits.telemetry.MetricResult
5353import software.aws.toolkits.telemetry.Result
54+ import java.nio.file.Path
5455import java.time.Duration
5556import java.time.Instant
5657import java.util.Queue
58+ import kotlin.io.path.pathString
5759
5860@Service
5961class CodeWhispererTelemetryService {
@@ -609,6 +611,14 @@ class CodeWhispererTelemetryService {
609611 assert (ApplicationManager .getApplication().isUnitTestMode)
610612 return this .previousUserTriggerDecisions
611613 }
614+
615+ fun sendInvalidZipEvent (filePath : Path , projectRoot : Path , relativePath : String ) {
616+ CodewhispererTelemetry .invalidZip(
617+ filePath = filePath.pathString,
618+ workspaceRoot = projectRoot.pathString,
619+ relativePath = relativePath
620+ )
621+ }
612622}
613623
614624fun isTelemetryEnabled (): Boolean = AwsSettings .getInstance().isTelemetryEnabled
Original file line number Diff line number Diff line change 177177 " reloaded"
178178 ],
179179 "description" : " Toolkit run state."
180+ },
181+ {
182+ "name" : " filePath" ,
183+ "type" : " string" ,
184+ "description" : " The path of the file"
185+ },
186+ {
187+ "name" : " workspaceRoot" ,
188+ "type" : " string" ,
189+ "description" : " The path of the project root"
190+ },
191+ {
192+ "name" : " relativePath" ,
193+ "type" : " string" ,
194+ "description" : " The relative path of the file"
180195 }
181196 ],
182197 "metrics" : [
530545 }
531546 ],
532547 "passive" : true
548+ },
549+ {
550+ "name" : " codewhisperer_invalidZip" ,
551+ "description" : " Invalid zip file" ,
552+ "metadata" : [
553+ {
554+ "type" : " filePath" ,
555+ "required" : true
556+ },
557+ {
558+ "type" : " workspaceRoot" ,
559+ "required" : true
560+ },
561+ {
562+ "type" : " relativePath" ,
563+ "required" : true
564+ }
565+ ]
533566 }
534567 ]
535568}
You can’t perform that action at this time.
0 commit comments