Add native local scope for Windows/Linux #928
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adopts the local scope implementation changes for
sentry-native
discussed in getsentry/sentry-native#1226.Instead of applying scope data to each outgoing event via the
before_send
handler, the SDK now uses a write-onlysentry_scope_t
instance which is then passed to the newsentry_capture_event_with_scope
function. Also, with this approach global scope can be modified directly via native's API (tags, level, etc.) which addresses the issue with missing context values for fast-fail crashes.Breaking changes:
Dist
andEnvironment
properties are now set during the SDK initialization via options, no more corresponding set/get functions inScope
class.ConfigureScope
function and it'll become no-op after switching to native's local scopes anyway it was removed forUSentrySubsystem
.Note: adding breadcrumbs via
sentry_add_breadcrumb
to global scope unblocks further work on getsentry/sentry-native#1166 as custom handling for the corresponding event in Unreal plugin is no longer required.