fix(error-handling): Auto-recover from browser extension DOM errors - #4124
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 1.31kB (0.01%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: gazebo-production-systemAssets Changed:
Files in
view changes for bundle: gazebo-production-esmAssets Changed:
Files in
|
Codecov Report❌ Patch coverage is
@@ Coverage Diff @@
## main #4124 +/- ##
==========================================
- Coverage 98.77% 98.70% -0.07%
==========================================
Files 823 824 +1
Lines 15147 15161 +14
Branches 4387 4386 -1
==========================================
+ Hits 14961 14965 +4
- Misses 179 184 +5
- Partials 7 12 +5
Continue to review full report in Codecov by Sentry.
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4124 +/- ##
==========================================
- Coverage 98.77% 98.70% -0.07%
==========================================
Files 823 824 +1
Lines 15147 15161 +14
Branches 4387 4394 +7
==========================================
+ Hits 14961 14965 +4
- Misses 179 184 +5
- Partials 7 12 +5
Continue to review full report in Codecov by Harness.
|
Codecov ReportAttention: Patch coverage is
✅ All tests successful. No failed tests found.
@@ Coverage Diff @@
## main #4124 +/- ##
==========================================
- Coverage 98.77% 98.70% -0.07%
==========================================
Files 823 824 +1
Lines 15147 15161 +14
Branches 4379 4386 +7
==========================================
+ Hits 14961 14965 +4
- Misses 179 184 +5
- Partials 7 12 +5
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
✅ Deploy preview for gazebo ready!Previews expire after 1 month automatically.
|
Codecov Report❌ Patch coverage is
@@ Coverage Diff @@
## main #4124 +/- ##
==========================================
- Coverage 98.77% 98.70% -0.07%
==========================================
Files 823 824 +1
Lines 15147 15161 +14
Branches 4387 4394 +7
==========================================
+ Hits 14961 14965 +4
- Misses 179 184 +5
- Partials 7 12 +5
Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
Description
This PR implements a solution for
NotFoundErrors (specificallyinsertBeforeandremoveChildfailures) that occur due to browser extensions directly manipulating React-managed DOM nodes. The root cause of these errors was identified as browser extensions interfering with React's DOM management. Previously, these errors would trigger a full error fallback UI for the user and generate non-actionable alerts in Sentry. This fix improves user experience by silently recovering from these transient issues and cleans up Sentry data by filtering irrelevant errors.Code Example
N/A
Notable Changes
src/sentry.tsto filter outNotFoundErrorevents with messages containinginsertBeforeorremoveChildin thebeforeSendhook. These errors are caused by third-party browser extensions and are not actionable application bugs, reducing Sentry noise.ErrorBoundaryWithRecoveryclass component insrc/layouts/shared/ErrorBoundary/ErrorBoundaryWithRecovery.tsx. This component catches the specificNotFoundErrors and automatically forces a remount of its children (up to 2 retries) by updating aretryKey. This allows React to re-render the component tree from a clean state, effectively recovering from the DOM desynchronization.ErrorBoundaryinsrc/layouts/shared/ErrorBoundary/ErrorBoundary.tsxnow wraps itsSentry.ErrorBoundarywith the newErrorBoundaryWithRecovery. This ensures that all existing uses of ourErrorBoundarybenefit from the auto-recovery mechanism without requiring changes at individual call sites.Screenshots
N/A
Link to Sample Entry
N/A
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-1871
This PR was automatically generated by Sentry. You can adjust this setting at any time.