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.
Like we do already for Android, we'll use a fake event (that is never sent to Sentry) to collect context information from the Cocoa SDK for iOS. (App, Device, OperatingSystem, etc.)
The context info we get back is serializably compatible with our existing contexts, so we can leverage that to hold the data.
Much of this was improving and adding tests for cloning/updating contexts. Previously we would only copy an entire key if it didn't exist. Now we will bring in any extra data we have within each key. See tests for examples.
Along the way, I found that unlike the other contexts,
Runtime.Clone
was accidentally made public. I've marked it obsolete, as users should not be calling that (unless we want to allow it on all context types. There's nothing special aboutRuntime
).