feat(android-nav3): Android Nav3 integration - #6128
Merged
Merged
Conversation
Contributor
|
This was referenced Sep 18, 2026
📲 Install BuildsAndroid
|
3 of 7 tasks
…274) (#6129) Introduce a new `sentry-android-navigation3` module in connection with our Nav3 support.
0xadam-brown
requested review from
adinauer,
markushi,
romtsn and
runningcode
as code owners
September 24, 2026 08:06
…4) (#6130) Introduce RouteTranslator as part of Nav3 support. It uses host app-provided extractors to convert back stack entries into Routes suitable for use in Sentry Nav3 data.
…ns (JAVA-274) (#6131) Introduce BackStackObserver, which is responsible for converting Nav3 back stack changes into breadcrumbs, scope state, and navigation transactions.
Introduce SentryNavEffect as our primary entry point for Nav3 support. The initial aim is to provide parity with our existing Nav2 support. That means generating nav transactions, breadcrumbs, and screen names as the user navigates through the app. We also record up to N frames of the host app's back stack in current scope context. (N is 10 by default; it and other Sentry data configs can be adjusted via SentryNavOptions.) Similar to Nav2, we assume each tracked navigation destination represents the current screen's contents. We don't (yet) support the notion of Scenes (https://developer.android.com/guide/navigation/navigation-3/scenes) or multipane layouts. (Support for each is tracked under [JAVA-590](https://linear.app/getsentry/issue/JAVA-590/nav3-multipane-support). For more details, see the KDocs to SentryNavEffect, SentryNavOptions, RouteNameExtractor, and RouteArgumentsExtractor. SentryNavEffect is experimental and (for now) internal. We'll make it public in a later commit when we're ready to release.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ecb6243. Configure here.
0xadam-brown
force-pushed
the
feat/sentry-nav3-effect-stack
branch
from
September 28, 2026 12:25
ecb6243 to
668faac
Compare
#6137) Make SentryNavEffect and related APIs (technically) public so they can be called from the Nav3 sample app. For now, keep them marked as @ApiStatus.Internal until we actually release Nav3 support (at which point we'll include an appropriate CHANGELOG entry).
0xadam-brown
force-pushed
the
feat/sentry-nav3-effect-stack
branch
from
September 28, 2026 12:28
668faac to
da14227
Compare
Member
Author
|
Pushes were me getting my clanker to add #6137 to the commit list. All code is identical to what was previously reviewed + approved. |
markushi
approved these changes
Sep 29, 2026
0xadam-brown
enabled auto-merge (squash)
September 29, 2026 07:21
Member
Author
|
Re-ran |
0xadam-brown
disabled auto-merge
September 29, 2026 07:30
0xadam-brown
enabled auto-merge (squash)
September 29, 2026 07:38
2 of 6 tasks
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.

No code needs to be reviewed for this PR as it's already been reviewed in the PRs stacked on top of it and hasn't been modified since.
PR Stack (Android Nav3)
📜 Description
This is the collection branch for the Android Nav3 stack.
It carries no feature code itself. The implementation is split across the stacked PRs below so the
module scaffold, route modeling, observer layer, and Compose-facing effect can be reviewed
independently and merged forward through the branch chain before this collection branch is
squash-merged into
main.💡 Motivation and Context
Nav3 support is large enough that reviewing it as one PR would hide the architectural boundaries.
This collection branch gives us a stable top-level PR for the whole effort while the stack lands in
reviewable steps.
addresses: JAVA-274
Note that this PR stack does not make Nav3 support public. (While API entry points use the
publickeyword, they remain@ApiStatus.Internal. The former is required so that we can post subsequent PRs for the Nav3 sample app.)Once approved for public release, we'll remove the
@ApiStatus.Internalannotations and include a proper CHANGELOG + cross references to official Sentry Nav3 docs.💚 How did you test it?
This branch is intentionally empty apart from the collection commit. Each stacked PR contains its
own verification details.
📝 Checklist
sendDefaultPIIis enabled.🔮 Next steps
@ApiStatus.Internalannotations from SentryNavEffect, SentryNavOptions, RouteNameExtractor, and RouteArgumentsExtractor once we're ready to release publicly + add an appropriate CHANGELOG entry + publish the module via craft (link).#skip-changelog