[PLAT-8726] Use device.id
as fallback user.id
for events & sessions
#1442
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.
Goal
Makes behaviour of
user.id
consistent with other platform, crash errors, and our online documentation.After calling
Bugsnag.setUser(nil, withEmail: nil, andName: nil)
, events and sessions should have theiruser.id
set to the default Bugsnag-generated device ID.Changeset
Adds
-[BugsnagUser withUserId]
to get a user object with the fallbackid
if required.Updates
BugsnagSessionTracker
andBugsnagClient
to use this method to populate sessions and events with auser.id
.Renames
-[BugsnagUser initWithUserId:name:emailAddress:]
to-[BugsnagUser initWithId:name:emailAddress:]
.Removes unused method
+[BugsnagUser userWithUserId:name:emailAddress:]
.Simplifies
-[BugsnagConfiguration getPersistedUserData]
.Testing
Amends existing and adds a new scenario to verify that fallback
user.id
is sent when expected, while retaining ability to nullify it via callbacks.