feat: Allow ending a session with a different status code #801
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.
As of right now, the status code of the session cannot be modified through this SDK. This is a problem when errors or crashes are handled manually. Such sessions are then marked as "crash-free". This is especially problematic when the
on_crash
callback is used, which may discard processing the event further. This is a snippet from theinproc
backend:sentry-native/src/backends/sentry_backend_inproc.c
Lines 531 to 556 in 19df84a
This is the only place where the session may be marked with the crashed status code.
Because of these reasons, I propose making the session status a part of the public API and an option to end the session using that custom status code. Another possibility is making the session structure public like in other Sentry SDKs. However, that would be a greater change to support it properly in all places.