-
-
Notifications
You must be signed in to change notification settings - Fork 333
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Expose SentryFileManager and SentryCurrentDateProvider #835
Conversation
If I'm not mistaken react-native only needs |
Hmm, we could also do that, but let's just add it to the |
Hybrid SDKs as react-native need a way to synchronously store an envelope to disk. Previously, this was possible by exposing SentryFileManager on the SentryClient, but this breaks users of react-native that use use_frameworks!, see getsentry/sentry-react-native#1171. A way to fix this would be to expose SentryFileManager and SentryCurrentDateProvider as proposed in #835. This has the downside of making classes public, that shouldn't be public. A better workaround is to expose storeEnvelope on the SentryClient.
Hybrid SDKs as react-native need a way to synchronously store an envelope to disk. Previously, this was possible by exposing SentryFileManager on the SentryClient, but this breaks users of react-native that use use_frameworks!, see getsentry/sentry-react-native#1171. A way to fix this would be to expose SentryFileManager and SentryCurrentDateProvider as proposed in #835. This has the downside of making classes public, that shouldn't be public. A better workaround is to expose storeEnvelope on the SentryClient.
Suggested change opened in #836 |
Hybrid SDKs as react-native need a way to synchronously store an envelope to disk. Previously, this was possible by exposing SentryFileManager on the SentryClient, but this breaks users of react-native that use use_frameworks!, see getsentry/sentry-react-native#1171. A way to fix this would be to expose SentryFileManager and SentryCurrentDateProvider as proposed in #835. This has the downside of making classes public, that shouldn't be public. A better workaround is to expose storeEnvelope on the SentryClient.
📜 Description
Expose
SentryFileManager.h
andSentryCurrentDateProvider.h
to be public as@sentry/react-native
uses them.💡 Motivation and Context
Directly importing private header files caused issued for users that use
use_frameworks!
in their Podfile: getsentry/sentry-react-native#1171💚 How did you test it?
Linked to this branch locally with our react native sample app and confirmed that the issue is gone when using
use_frameworks!
.📝 Checklist
🔮 Next steps
Corresponding PR for React Native to follow that no longer directly imports these header files.