Repository navigation
Conversation
… advisory query-string@7.1.3 pins decode-uri-component to ^0.2.2, so Dependabot cannot update it to the fixed 0.5.1 without violating that range. Add a resolutions override forcing 0.5.1, which is a safe drop-in: the package has zero dependencies and the same single-function API across 0.2 -> 0.5 (only the internal decoder changed). - decode-uri-component: 0.2.2 -> 0.5.1 (quadratic-time DoS on malformed percent-encoded input) [#723] Transitive sample-app dependency (query-string via @react-navigation); not shipped in @sentry/react-native. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Semver Impact of This PR⚪ None (no version bump detected) 📋 Changelog PreviewThis is how your changes will appear in the changelog.
🤖 This preview updates automatically when you update the PR. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 467b314. Configure here.
| "glob@npm:^10.4.2": "^10.5.0", | ||
| "axios": "^1.20.0", | ||
| "follow-redirects": "^1.16.1", | ||
| "decode-uri-component": "^0.5.1", |
There was a problem hiding this comment.
ESM override breaks query-string
High Severity
The decode-uri-component resolution jumps to 0.5.1, but that release is ESM-only with a default export. query-string@7.1.3 still requires a CommonJS callable, so the override yields a module namespace and TypeError: decodeComponent is not a function when React Navigation or expo-router parse query strings in the sample apps.
Additional Locations (1)
Triggered by project rule: PR Review Guidelines for Cursor Bot
Reviewed by Cursor Bugbot for commit 467b314. Configure here.
There was a problem hiding this comment.
Good catch — confirmed. decode-uri-component went ESM-only in 0.4.0, and query-string@7.1.3 loads it via a CommonJS require(), so forcing 0.5.1 yields a non-callable module namespace and decodeComponent is not a function when the sample apps parse query strings.
There's no CJS-compatible patched release — 0.2.2 is the last CommonJS version, and every fixed release (0.4+/0.5) is ESM-only. Since this is sample-app-only (query-string ← @react-navigation), DoS-only, and not part of the shipped @sentry/react-native, we're dismissing the Dependabot alert as tolerable risk and closing this PR rather than shipping a broken override.


📢 Type of change
📜 Description
Adds a
resolutionsoverride pinningdecode-uri-componentto the patched 0.5.1 to clear a quadratic-time DoS advisory.query-string@7.1.3pinsdecode-uri-component@^0.2.2, so Dependabot refuses to update it (0.5.1 is outside that range). A yarnresolutionsoverride bypasses the range, and it is a safe drop-in: the package has zero dependencies and the same single-function API across 0.2 → 0.5 — only the internal decoder was rewritten.💡 Motivation and Context
Resolves one open Dependabot alert that Dependabot itself cannot auto-fix.
decode-uri-componentis a transitive sample-app dependency (query-string←@react-navigation/core, used by the RN and macOS sample apps) — not a dependency of the shipped@sentry/react-nativepackage (packages/core), so nothing reaches end-user apps.💚 How did you test it?
Added
"decode-uri-component": "^0.5.1"to rootresolutions, ranyarn install(resolves to 0.5.1), and verified onlypackage.jsonandyarn.lockchanged.📝 Checklist
sendDefaultPIIis enabled.🔮 Next steps
Remove the
decode-uri-componentresolutions override oncequery-string(via@react-navigation) widens its range to a patched release.🤖 Generated with Claude Code