includeWebFeedback: false leaves @sentry/browser's feedbackSync in bundles made on Windows, which then fail at launch
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 74/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- javascript, react-native, typescript
- Bereich
- build-system, tooling
Rechercherichtung
Das Issue nennt isFromSentryBrowser in dist/js/tools/metroconfig.js als Ursache. Lies diese Funktion und den Kommentar zu SENTRY_BROWSER_FEEDBACK_WRAPPER_RE und vergleiche dann, wie originModulePath mit Windows-Backslashes und Unix-Slashes behandelt wird. Fertig ist die Arbeit, wenn includeWebFeedback: false beide Browser-Feedback-Module im Windows-Bundle stubt und das Bundle erfolgreich startet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Environment
@sentry/react-native8.29.0 (the same code is in 8.31.0)- Expo SDK 57, React Native 0.86.3, Metro via
getSentryExpoConfig - Bundled on Windows 11 (
eas update, which bundles locally)
Steps to reproduce
- Use
getSentryExpoConfig(__dirname, { includeWebFeedback: false })inmetro.config.js. - On Windows, run
npx expo export --platform ios --source-maps(oreas update). - List the bundle's source map
sources.
Expected result
As on macOS and Linux: @sentry/feedback is stubbed, and so are @sentry/browser's feedbackSync.js and feedbackAsync.js, as the comment above SENTRY_BROWSER_FEEDBACK_WRAPPER_RE describes.
Actual result
@sentry/feedback is stubbed, but @sentry/browser/build/npm/esm/prod/feedbackSync.js and feedbackAsync.js are bundled. feedbackSync.js calls buildFeedbackIntegration() from the empty module as it loads, so the bundle fails at launch. On an expo-updates update, the phone records a failed launch and falls back to its embedded bundle.
The cause is isFromSentryBrowser in dist/js/tools/metroconfig.js:
function isFromSentryBrowser(originModulePath) {
return originModulePath.includes('@sentry/browser');
}
On Windows, Metro's context.originModulePath uses backslashes (...\node_modules\@sentry\browser\build\...), so this is never true. Matching either separator fixes it, for example /[\/]@sentry[\/]browser[\/]/.test(originModulePath).
Our workaround is to wrap config.resolver.resolveRequest after getSentryExpoConfig and return { type: 'empty' } for /\/feedback(Sync|Async)/ requested from a path matching that pattern.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 1.8k
- Forks
- 372
- Ø Merge
- 1 T. 1 Std.
- Gemergte PRs (30 T.)
- 107
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus getsentry/sentry-react-native
-
React-Native Replays Task
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
getsentry/sentry-react-native#6680 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Improvement React-Native
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
getsentry/sentry-react-native#6143 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
React-Native Task User Feedbacks
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
getsentry/sentry-react-native#5932 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
React-Native Replays Task
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
getsentry/sentry-react-native#5882 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Good First Issue React-Native Task
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 65/100
getsentry/sentry-react-native#5771 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in getsentry/sentry-react-native
Ähnliche Issues
-
Edit: Tele Posadas HDOffencheck:passed streams:edit
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
area:mcp bug has repro platform:vscode regression
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
anthropics/claude-code#103970 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
sdk-typescript: unquoted COPY globs in shell form are silently dropped from the image build contextOffenbug javascript
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag