Skip to content

Clean up Rollbar noise from the deferred error-reporting listeners - #3620

Merged
tom2drum merged 2 commits into
mainfrom
claude/rollbar-events-missing-args-2f45a1
Aug 6, 2026
Merged

Clean up Rollbar noise from the deferred error-reporting listeners#3620
tom2drum merged 2 commits into
mainfrom
claude/rollbar-events-missing-args-2f45a1

Conversation

@tom2drum

@tom2drum tom2drum commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Description

Cleans up two sources of unactionable Rollbar noise introduced by the deferred-Rollbar refactor (#3568), which added early unhandledrejection and error window listeners that the app never had before.

  • Empty "Item sent with null or missing arguments." items — the unhandledrejection listener forwarded event.reason as Rollbar's only argument; on public instances rejections are dominated by browser-extension / third-party noise with null or bare-object reasons that Rollbar can't turn into a message, so it files empty items (160+ occurrences on one item). The listener is removed — matching pre-refactor behavior (unhandled rejections were never reported before) with no loss of coverage, since genuine page crashes are reported as critical through the React error boundary. The remaining uncaught-error listener is guarded so a non-Error/non-string thrown value becomes a titled message with the raw value preserved as custom data, closing the same hole on that path.
  • Opaque "Script error." items — the same error listener surfaces cross-origin script errors, which the browser masks to the bare string "Script error." with no stack or payload (a CORS measure), sourced from third-party scripts we don't control. "Script error" is added to ignoredMessages (the existing 'cross-origin' entry doesn't match this literal string), keeping the listener's value for genuine same-origin uncaught errors.

Environment variables

None

Minimum API version

None

Breaking or incompatible changes

None

Additional information

Unit tests in src/services/rollbar/queue.spec.ts cover the guarded error-listener paths (non-Error thrown value → fallback message + custom data; null error → falls back to the event message).

🤖 Generated with Claude Code

tom2drum and others added 2 commits August 6, 2026 19:54
The deferred-Rollbar refactor (#3568) added an `unhandledrejection`
window listener that forwarded `event.reason` as Rollbar's sole argument.
On public instances rejections are dominated by wallet-extension /
third-party noise with `null`/bare-object reasons, which Rollbar cannot
turn into a message — it files empty "Item sent with null or missing
arguments." occurrences (Rollbar item #25, 160+ occurrences).

Remove the `unhandledrejection` listener: this matches pre-refactor
behavior (the app never reported unhandled rejections before) and loses
nothing — genuine page crashes surface as `critical` via the React error
boundary. Guard the remaining `error` listener so a non-Error/non-string
thrown value becomes a titled message + the raw value as custom data,
closing the same empty-item hole on that path.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The uncaught-error window listener added in #3568 surfaces cross-origin
"Script error." events — the browser masks details of errors thrown by
different-origin third-party scripts (GA, walletconnect, etc.), leaving
only that string with no stack or payload. They are unactionable and
were never reported before the deferred-Rollbar refactor.

Add "Script error" to `ignoredMessages` (the existing 'cross-origin'
entry does not match this literal string), dropping the noise while the
listener still captures genuine same-origin uncaught errors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@tom2drum tom2drum changed the title Stop Rollbar from filing empty "null or missing arguments" error items Clean up Rollbar noise from the deferred error-reporting listeners Aug 6, 2026
@tom2drum
tom2drum merged commit d082c2c into main Aug 6, 2026
@tom2drum
tom2drum deleted the claude/rollbar-events-missing-args-2f45a1 branch August 6, 2026 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant