fix(sentry): ignore NotFoundError from Replay SDK removeChild - #4121
sentry[bot] wants to merge 1 commit into
Conversation
|
Seer wants to keep iterating on this pull request to get CI passing, but the Sentry GitHub App installation is missing permissions it needs to read the failing checks and push a fix. Review and accept the updated permissions to let Seer continue: https://github.com/organizations/codecov/settings/installations/86101127/permissions/update |
Bundle ReportChanges will increase total bundle size by 88 bytes (0.0%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: gazebo-production-esmAssets Changed:
Files in
view changes for bundle: gazebo-production-systemAssets Changed:
Files in
|
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #4121 +/- ##
=======================================
Coverage 98.77% 98.77%
=======================================
Files 823 823
Lines 15147 15147
Branches 4387 4387
=======================================
Hits 14961 14961
Misses 179 179
Partials 7 7
Continue to review full report in Codecov by Sentry.
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
✅ All tests successful. No failed tests found. @@ Coverage Diff @@
## main #4121 +/- ##
=======================================
Coverage 98.77% 98.77%
=======================================
Files 823 823
Lines 15147 15147
Branches 4379 4387 +8
=======================================
Hits 14961 14961
Misses 179 179
Partials 7 7
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4121 +/- ##
=======================================
Coverage 98.77% 98.77%
=======================================
Files 823 823
Lines 15147 15147
Branches 4387 4387
=======================================
Hits 14961 14961
Misses 179 179
Partials 7 7
Continue to review full report in Codecov by Harness.
|
✅ Deploy preview for gazebo ready!Previews expire after 1 month automatically.
|
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #4121 +/- ##
=======================================
Coverage 98.77% 98.77%
=======================================
Files 823 823
Lines 15147 15147
Branches 4387 4379 -8
=======================================
Hits 14961 14961
Misses 179 179
Partials 7 7
Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
Description
This PR addresses the
NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.error.Root Cause:
This error is not caused by application code but by a conflict between the Sentry Replay SDK (rrweb) and React's DOM reconciler. Specifically, rrweb patches
Element.removeChildfor session recording. During its initialization, rrweb attempts to patchadoptedStyleSheets, which fails with aTypeErroron certain browser/OS combinations (e.g., Chrome 145 on Windows), likely due to a conflict with another browser mechanism or extension. This partial failure leaves rrweb's DOM tracking in an inconsistent state. When React'scommitDeletionEffectslater calls rrweb's patchedremoveChildduring component unmounting, rrweb's internal state does not match the actual DOM, leading to theNotFoundError.Solution Implemented:
To prevent this third-party error from cluttering Sentry, this PR adds the specific error message
"Failed to execute 'removeChild' on 'Node'"to theignoreErrorsarray insrc/sentry.ts.Why this approach:
This error is already caught by an
ErrorBoundaryand tagged as third-party code, indicating it's not directly fixable within our application logic. Ignoring it reduces noise in Sentry while the underlying issue in the Sentry Replay SDK (rrweb) is addressed. Future steps will involve upgrading the@sentry/reactpackage to a version that contains fixes for theadoptedStyleSheetsredefinition failure and exploring additional replay configuration options to prevent this scenario.Code Example
Notable Changes
"Failed to execute 'removeChild' on 'Node'"to theignoreErrorsarray insrc/sentry.ts.NotFoundErrorfrom cluttering Sentry logs.@sentry/reactpackage upgrades.Screenshots
Link to Sample Entry
Legal Boilerplate
Look, I get it. The entity doing business as "Codecov" is owned by Harness, Inc. In 2026 Harness acquired Codecov and as a result Harness is going to need some rights from me in order to utilize my contributions in this PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Harness can use, modify, copy, and redistribute my contributions, under Harness's choice of terms.
Fixes GAZEBO-186Y
This PR was automatically generated by Sentry. You can adjust this setting at any time.