Support RN SDK use in libraries
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- javascript, react-native
- Domaine
- mobile, observability
Piste de recherche
Commencez par reproduire le problème avec React Native 0.71.11, Hermes, Metro et Sentry React Native SDK 6.2.0 sur Android et iOS, en utilisant le callback beforeSend de Sentry.init et le stacktrace d’exemple. Suivez la manière dont les noms de fichiers de stacktrace.frames sont produits et définissez comme résultat soit une distinction fiable entre bibliothèque et client, soit une limitation et une alternative documentées.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
What React Native libraries do you use?
React Native without Frameworks
Are you using sentry.io or on-premise?
sentry.io (SaS)
@sentry/react-native SDK Version
6.2.0
How does your development environment look like?
Sentry React Native SDK Version: 6.2.0
React Native Version: 0.71.11
Hermes Enabled: Yes
Platforms Tested: Android, iOS
Build Tools: Metro bundler
Sentry.init()
Sentry.init({
dsn: 'https://[email protected]/library-project-id',
release: '0.0.1',
beforeSend(event) {
// Attempting to filter errors based on stacktrace
const isFromLibrary = event.exception?.values?.some((value) =>
value.stacktrace?.frames?.some((frame) =>
frame.filename?.includes('/node_modules/@my-library-name')
)
);
return isFromLibrary ? event : null;
},
});
Steps to Reproduce
I am unable to effectively filter errors in my React Native project using stacktrace.frames in the beforeSend callback. Despite providing proper logic to inspect the stack trace and filenames, the error events do not include sufficient information to reliably distinguish between errors originating from my project( my project is react native library ) and those from the client app.
This has become a critical issue for my project, where I am building a React Native SDK that will be integrated into client apps. I want to ensure that only errors from my SDK are sent to my Sentry project, while unexpected errors from client apps (using their own DSN and release) are excluded.
Expected Result
- I expect the stacktrace.frames[].filename to include the library name or a clear identifier (e.g., node_modules/@my-library or similar) that shows where the error originates. This would make it much easier to filter errors specific to the project.
- If this is not posible, is there another reliable way to distinguish between errors originating from the library and client app without relying solely on the stacktrace? Thanks
Actual Result
Stacktrace Does Not Contain library Identifiers:
The stacktrace.frames[].filename does not include a clear path to node_modules/@my/library-name or any other library-specific identifier.
Example stacktrace from a client app error:
"stacktrace": {
"frames": [
{
"filename": "app:///Pressability.js",
"function": "responderEventHandlers.onResponderRelease",
"lineno": 525,
"colno": 27
},
{
"filename": "app:///index.js",
"function": "TouchableOpacity.props.onPress",
"lineno": 171,
"colno": 27
}
]
}
- Langage dominant
- TypeScript
- Étoiles
- 1.8k
- Forks
- 372
- Merge moyen
- 1 j 4 h
- PR mergées (30 j)
- 104
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de getsentry/sentry-react-native
-
React-Native Replays Task
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
getsentry/sentry-react-native#6680 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Improvement React-Native
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
getsentry/sentry-react-native#6143 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
React-Native Task User Feedbacks
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
getsentry/sentry-react-native#5932 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
React-Native Replays Task
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
getsentry/sentry-react-native#5882 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Good First Issue React-Native Task
Difficulté 1/5 Moins d'une heure Accessibilité débutants 65/100
getsentry/sentry-react-native#5771 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de getsentry/sentry-react-native
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
polarsource/polar#15580 ·
Les mainteneurs répondent en général sous 1 jour
-
accepted bug via-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 69/100
pingdotgg/t3code#20931 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug/1-unconfirmed kind/bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 83/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
ranxianglei/billion-context#3583 ·
Les mainteneurs répondent en général sous 1 jour