chore(sentry): filter NS_ERROR_UNEXPECTED + ConvexError API_ACCESS_REQUIRED (#3188)

NS_ERROR_UNEXPECTED (WORLDMONITOR-N6/N7/N8/N9): Firefox 149/Ubuntu XPCOM
Worker init failure. Same family as already-filtered NS_ERROR_ABORT and
NS_ERROR_OUT_OF_MEMORY. 0 repo matches. Worker fallback confirmed working
via breadcrumbs ("keeping flat list").

ConvexError: API_ACCESS_REQUIRED (WORLDMONITOR-NA, 15 events/5 users):
expected business error from PR #3125 (API key management). Free user opens
API Keys tab, server correctly denies, client try/catch at
UnifiedSettings.ts:731 handles gracefully. Convex WS transport leaks the
rejection to Sentry before the client Promise chain catches it.
This commit is contained in:
Elie Habib
2026-04-18 23:51:12 +04:00
committed by GitHub
parent 96fca1dc2b
commit d7e40bc4e5

View File

@@ -64,6 +64,7 @@ Sentry.init({
/userScripts is not defined/,
/NS_ERROR_ABORT/,
/NS_ERROR_OUT_OF_MEMORY/,
/NS_ERROR_UNEXPECTED/, // Firefox XPCOM: Worker init failure on privacy-hardened Firefox/Ubuntu — WORLDMONITOR-N6/N7/N8/N9
/DataCloneError.*could not be cloned/,
/cannot decode message/,
/WKWebView was deallocated/,
@@ -246,6 +247,7 @@ Sentry.init({
/doesn't provide an export named/, // stale cached chunk after deploy references removed export
/Possible side-effect in debug-evaluate/, // Chrome DevTools internal EvalError
/ConvexError: CONFLICT/, // Expected OCC rejection on concurrent preference saves
/ConvexError: API_ACCESS_REQUIRED/, // Expected business error: free user opens API Keys tab; client handles gracefully (UnifiedSettings.ts:731-738) — WORLDMONITOR-NA
/\[CONVEX [AQM]\(.+?\)\] Connection lost while action was in flight/, // Convex SDK transient WS disconnect
/Response did not contain `success` or `data`/, // DuckDuckGo browser internal tracker/content-block response — never emitted by our code
/Cannot set properties of undefined \(setting 'bodyTouched'\)/, // Quark browser (Alibaba mobile) touch-tracking script injection (WORLDMONITOR-N1)