Skip to content

Commit 4f5582a

Browse files
iHiDclaude
andauthored
Filter obfuscated browser extension errors from Sentry (#8464) (#8477)
Browser extensions using hex-obfuscated variable names (_0x4761 etc.) trigger ReferenceErrors that are not bugs in Exercism code. Filter them by detecting _0x hex patterns in error messages and webkit-masked-url in stack frames. Closes #8464 Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 91a6813 commit 4f5582a

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

app/javascript/utils/react-bootloader.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,19 @@ if (process.env.SENTRY_DSN) {
8484
)
8585
if (isRemoveChildError) return null
8686

87+
// Drop errors from obfuscated browser extensions or injected scripts.
88+
// Obfuscated code uses hex variable names like _0x4761, _0x5e4966 etc.
89+
// Safari reports "Can't find variable: _0x...", Chrome reports "_0x... is not defined".
90+
// Also filter when stack frames reference webkit-masked-url (WebKit extension sandbox).
91+
const isObfuscatedExtensionError = event.exception?.values?.some((ex) => {
92+
const hasObfuscatedVar = /_0x[0-9a-f]+/.test(ex.value ?? '')
93+
const hasMaskedUrl = ex.stacktrace?.frames?.some((frame) =>
94+
frame.filename?.includes('webkit-masked-url')
95+
)
96+
return hasObfuscatedVar || hasMaskedUrl
97+
})
98+
if (isObfuscatedExtensionError) return null
99+
87100
const tag = document.querySelector<HTMLMetaElement>(
88101
'meta[name="user-id"]'
89102
)

0 commit comments

Comments
 (0)