referenced by leftover Webflow scripts on locale pages (TW/FR/KR/JP) where the // jQuery snippet didn't load. We replaced Webflow JS with inline handlers — this is dead code // we can't reach from CMS-rendered HTML. if (/(\$ is not defined|Can't find variable: \$)/.test(msg) && !source) return true; return false; } window.addEventListener('error', function(e){ // Skip CORS-anonymized errors (no useful info) and resource-loading errors if (!e || !e.message || e.message === 'Script error.') return; if (e.target && (e.target.tagName === 'IMG' || e.target.tagName === 'LINK' || e.target.tagName === 'SCRIPT')) { // resource load fail — skip, too noisy (ad blockers, etc.) return; } var stack = e.error && e.error.stack ? String(e.error.stack) : null; // Skip errors triggered by browser extensions (MetaMask appendChild wrapper, etc.) — // user-side issue, not our code. Identified by chrome-extension:// in source/stack. if (isExtensionError(stack, e.filename)) return; if (isThirdPartyNoise(e.message, e.filename, stack)) return; send({ message: e.message, stack: stack, source_file: e.filename || null, line_no: typeof e.lineno === 'number' ? e.lineno : null, col_no: typeof e.colno === 'number' ? e.colno : null, error_type: 'error' }); }, true); window.addEventListener('unhandledrejection', function(e){ var r = e && e.reason; var msg = r ? (r.message || String(r)) : 'unhandledrejection'; var stack = r && r.stack ? String(r.stack) : null; if (isExtensionError(stack, null)) return; if (isThirdPartyNoise(msg, null, stack)) return; send({ message: msg, stack: stack, error_type: 'unhandledrejection' }); }); })();