Browse Source

fix(growth): Debug stackframes with relative abs_paths (#44186)

Scott Cooper 2 years ago
parent
commit
151a4ee874

+ 0 - 0
static/app/components/events/interfaces/crashContent/exception/sourceaMapDebug.spec.tsx → static/app/components/events/interfaces/crashContent/exception/sourceMapDebug.spec.tsx


+ 15 - 0
static/app/components/events/interfaces/crashContent/exception/useSourceMapDebug.spec.tsx

@@ -53,4 +53,19 @@ describe('getUniqueFilesFromException', () => {
 
     expect(result).toHaveLength(0);
   });
+
+  it('uses frames that are relative to home directory', function () {
+    const event = modifyEventFrames(
+      TestStubs.EventStacktraceException({
+        platform: 'javascript',
+      }),
+      {absPath: '~/myfile.js', filename: '~/myfile.js'}
+    );
+    const result = getUniqueFilesFromException(
+      (event.entries as EntryException[])[0].data.values!,
+      props
+    );
+
+    expect(result).toHaveLength(1);
+  });
 });

+ 2 - 2
static/app/components/events/interfaces/crashContent/exception/utils.tsx

@@ -3,9 +3,9 @@ import {getFileExtension} from 'sentry/utils/fileExtension';
 
 const fileNameBlocklist = ['@webkit-masked-url'];
 export function isFrameFilenamePathlike(frame: Frame): boolean {
-  let filename = '';
+  let filename = frame.absPath ?? '';
   try {
-    filename = new URL(frame.absPath ?? '').pathname.split('/').reverse()[0];
+    filename = new URL(filename).pathname.split('/').reverse()[0];
   } catch {
     // do nothing
   }