Skip to content

Commit 19ef32c

Browse files
luinkamilogorek
andauthored
fix(core): Skip native frames while searching frame URLs. (#3897)
Co-authored-by: Kamil Ogórek <[email protected]>
1 parent 13aab60 commit 19ef32c

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

packages/core/src/integrations/inboundfilters.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ export class InboundFilters implements Integration {
194194
for (let i = frames.length - 1; i >= 0; i--) {
195195
const frame = frames[i];
196196

197-
if (frame?.filename !== '<anonymous>') {
197+
if (frame?.filename !== '<anonymous>' && frame?.filename !== '[native code]') {
198198
return frame.filename || null;
199199
}
200200
}

packages/core/test/lib/integrations/inboundfilters.test.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,5 +487,36 @@ describe('InboundFilters', () => {
487487
),
488488
).toBe(true);
489489
});
490+
491+
it('should search for script names when the last frame is from native code', () => {
492+
const messageEvent = {
493+
message: 'any',
494+
stacktrace: {
495+
frames: [
496+
{ filename: 'https://our-side.com/js/bundle.js' },
497+
{ filename: 'https://awesome-analytics.io/some/file.js' },
498+
{ filename: '[native code]' },
499+
],
500+
},
501+
};
502+
503+
expect(
504+
inboundFilters._isAllowedUrl(
505+
messageEvent,
506+
inboundFilters._mergeOptions({
507+
allowUrls: ['https://awesome-analytics.io/some/file.js'],
508+
}),
509+
),
510+
).toBe(true);
511+
512+
expect(
513+
inboundFilters._isDeniedUrl(
514+
messageEvent,
515+
inboundFilters._mergeOptions({
516+
denyUrls: ['https://awesome-analytics.io/some/file.js'],
517+
}),
518+
),
519+
).toBe(true);
520+
});
490521
});
491522
});

0 commit comments

Comments
 (0)