mirror of
https://github.com/koala73/worldmonitor.git
synced 2026-04-25 17:14:57 +02:00
* fix(sentry): triage 4 inbox issues — silence no-user checkout + deck.gl/Safari noise
- checkout.ts: skip Sentry emit when action='no-user' (pre-auth redirect UX,
not an error; Clerk analytics already tracks this funnel). session_expired
and other codes keep emitting so mid-flight auth drops stay visible.
- main.ts beforeSend: gate short-var Safari ReferenceError
(/^Can't find variable: \w{1,2}$/) with empty stack + !hasFirstParty —
WORLDMONITOR-NQ ('ss' injection).
- main.ts beforeSend: extend deck.gl internal null-access gate to cover
\w{1,3}\.isHidden when !hasFirstParty — WORLDMONITOR-NR (Safari 26.4 beta
MVTLayer crash preceded by DeckGLMap map-error breadcrumbs). First-party
SmartPollContext.isHidden regressions still surface.
Resolves WORLDMONITOR-NN / NQ / NR in Sentry (inNextRelease). NP
(Convex funrun permit) resolved w/o code change — emitted by Convex→Sentry
SDK, not our bundle; recurrence = real concurrency signal.
* test(sentry): add regression coverage for checkout-skip policy + deck.gl/short-var filters
Addresses P2 review findings on PR #3303:
- Extract skip-Sentry predicate to src/services/checkout-sentry-policy.ts
(mirrors checkout-no-user-policy.ts). Pins the contract: 'no-user' skips;
everything else (no-token, http-error, missing-checkout-url, exception,
entitlement-timeout) emits. A static-source assertion walks every
reportCheckoutError call site in checkout.ts and asserts its policy
decision — forces explicit declaration on any new action string.
- Add 8 tests to tests/sentry-beforesend.test.mjs for the two new filters:
* \w{1,3}\.isHidden deck.gl gate: suppresses empty-stack + vendor-only,
surfaces first-party (SmartPollContext.isHidden) regressions, and
surfaces 4+ char symbol accesses.
* ^Can't find variable: \w{1,2}$ gate: suppresses empty-stack short-var,
surfaces first-party frames on same message, surfaces 3+ char names.
test:data: 6358 pass (was 6340 → +18 new regression tests).
4.7 KiB
4.7 KiB