Prevent root/jailbreak detection from blocking startup#2391
Merged
Conversation
…so that it doesn't block startup
c603c10 to
6e29df1
Compare
Collaborator
Android notifier sizes
Generated by 🚫 Danger |
…cenario to use OnSendCallback instead of InterceptingDelivery
…le device ID generation
de7f47c to
582d8f6
Compare
…ugsnag_event_set_context`
…` metadata rather than hard-coding it to `true`
…very but also post the crash back onto the main looper
tomlongridge
approved these changes
Feb 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Improve startup time to not requiring the
isRootedflag to be known before theClientconstructor returns.Design
Moved the root detection onto a low priority, dedicated background thread. The existing executors were not used because root detection can always be done in parallel, and we don't want other startup processes being blocked by it (due to queuing).
Once root detection is complete, a new
SynchronizeStatemessage is broadcast which causes the NDK to build its cache ofapp/device/contextand retrieve the newisRootedvalue as part of that process.Changes
This PR also includes some fixes to the device-id generation & NDK
contextattribute handling which were exposed by the higher-level changes. These issues caused previously passing tests to start failing.Testing
Manual testing and relied on existing tests.