Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Prevent circular structure serialization in events #3727

Merged
merged 3 commits into from
Jun 22, 2021

Conversation

kamilogorek
Copy link
Contributor

This will prevent SDK from failing to serialize an incorrect onerror call eg. window.onerror(jqueryEvent). This is invalid JS code, as first argument should be a string message or ErrorEvent object - https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror but we have to somehow handle it gracefully.

It'll utilize our known Non-Error exception captured with keys: currentTarget, delegateTarget, isTrigger message and __serialied__ context field.

ref: #2809 should fix some users issues, but cannot guarantee that all of them.

@kamilogorek kamilogorek requested review from a team, rhcarvalho and AbhiPrasad and removed request for a team June 22, 2021 09:51
@github-actions
Copy link
Contributor

github-actions bot commented Jun 22, 2021

size-limit report

Path Size
@sentry/browser - CDN Bundle (gzipped) 21 KB (0%)
@sentry/browser - Webpack 21.94 KB (0%)
@sentry/react - Webpack 21.97 KB (0%)
@sentry/browser + @sentry/tracing - CDN Bundle (gzipped) 28.4 KB (0%)

Copy link
Member

@AbhiPrasad AbhiPrasad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would like to see tests but otherwise ✅

@kamilogorek
Copy link
Contributor Author

Test added

@kamilogorek kamilogorek merged commit ac3cf20 into master Jun 22, 2021
@kamilogorek kamilogorek deleted the prevent-cirular-ref branch June 22, 2021 12:07
1999 added a commit to 1999/sentry-javascript that referenced this pull request Jun 25, 2021
…transport

* upstream/master: (29 commits)
  ref: Always use lowercase files (getsentry#3742)
  feat: Make dedupe integration default for browser (getsentry#3730)
  ref(ember): Allow initing Ember without config entry (getsentry#3745)
  fix(serverless): wrapEventFunction does not await for async code (getsentry#3740)
  Metrics: Tag CLS elements (getsentry#3734)
  feat: Add Next.js 11 to supported peer dependencies list (getsentry#3711)
  test: Run integration tests for Next 10/11 and Webpack 4/5 matrix (getsentry#3741)
  fix: Correctly limit Buffer requests (getsentry#3736)
  Whoops. Remove pinned node version from package.json
  ref: Introduce test runner for node session health tests (getsentry#3728)
  fix: Prevent circular structure serialization in events (getsentry#3727)
  ref(node): Update Node manual tests and test for sessionCount (getsentry#3726)
  ref(ember): Update scenarios and remove a few to speed up tests (getsentry#3720)
  docs: Fix typos (getsentry#3716)
  fix(ember): Fix ember test flake (getsentry#3719)
  release: 6.7.2
  ci: fix ember flaky test (getsentry#3718)
  misc: changelog for release 6.7.2 (getsentry#3717)
  fix(release-health): Prevent sending terminal status session updates (getsentry#3701)
  ref: Make beforeSend more strict (getsentry#3713)
  ...
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.

2 participants