Skip to content

feat: Network calls for Session Replay on Android#4860

Open
jamescrosswell wants to merge 20 commits intomainfrom
replay-network-spans
Open

feat: Network calls for Session Replay on Android#4860
jamescrosswell wants to merge 20 commits intomainfrom
replay-network-spans

Conversation

@jamescrosswell
Copy link
Collaborator

@jamescrosswell jamescrosswell commented Jan 22, 2026

Resolves #4192:

This PR ensures performanceSpans are sent with replay events so that outbound network requests in Maui for Android are displayed correctly in the Replay -> Network tab.

image

Implementation notes

The performanceSpan itself doesn't include a replyId, so it has to be sent along with the replay event - i.e. it gets sent by the mobile/Android SDK. The way android does this is to inspect the stream of breadcrumbs and convert these into RRWeb custom events. Typicallly this is done via the DefaultBreadcrumbConverter but it's also possible to swap that out with a custom converter (which is what our ReactNative SDK does).

This PR is an attempt to utilise the DefaultReplayBreadcrumbConverter by ensuring that our breadcrumbs contain all the data properties it's expecting.

Additional comments

If we eventually try to implement this for iOS, iOS looks for slightly different field names

@codecov
Copy link

codecov bot commented Jan 22, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.85%. Comparing base (cbd1f38) to head (d631418).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4860      +/-   ##
==========================================
- Coverage   73.87%   73.85%   -0.02%     
==========================================
  Files         483      483              
  Lines       17578    17581       +3     
  Branches     3464     3465       +1     
==========================================
  Hits        12985    12985              
- Misses       3740     3742       +2     
- Partials      853      854       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jamescrosswell jamescrosswell changed the title Initial commit Network calls for Session Replay on Android Jan 23, 2026
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've moved most of this out to a separate PR as well, since it's just a means to an end to diagnose the problem (not actually part of the change this PR is meant to effect):

@jamescrosswell jamescrosswell marked this pull request as ready for review February 3, 2026 00:13
@jamescrosswell jamescrosswell marked this pull request as draft February 3, 2026 01:12
@jamescrosswell jamescrosswell marked this pull request as ready for review February 3, 2026 01:40
@jamescrosswell jamescrosswell changed the title Network calls for Session Replay on Android feat: Network calls for Session Replay on Android Feb 4, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 4, 2026

Semver Impact of This PR

None (no version bump detected)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


Dependencies ⬆️

Deps

  • chore(deps): update Native SDK to v0.12.5 by github-actions in #4892
  • chore(deps): update Native SDK to v0.12.4 by github-actions in #4875
  • build(deps): bump getsentry/github-workflows/sentry-cli/integration-test from 2.14.1 to 3.2.0 by Flash0ver in #4858
  • chore(deps): update Native SDK to v0.12.3 by github-actions in #4832
  • chore(deps): update Java SDK to v8.29.0 by github-actions in #4817

Test

  • chore(test): update PublicApiGenerator from 11.1.0 to 11.5.4 by Flash0ver in #4866
  • chore(test): update FluentAssertions from 6.12.0 to 7.2.0 by Flash0ver in #4864

Other

  • test(integration): prevent auto-relaunch on Android by jpnurmi in #4833
  • ci(release): Switch from action-prepare-release to Craft by BYK in #4835
  • chore(repo): Add Claude Code settings with basic permissions by philipphofmann in #4850
  • feat: Network calls for Session Replay on Android by jamescrosswell in #4860
  • fix: Apply Enricher to User Feedback by bitsandfoxes in #4883
  • chore: update Roslynator.Analyzers from 4.9.0 to 4.15.0 by Flash0ver in #4878
  • chore: upgrade to C# 14.0 by Flash0ver in #4857
  • fix: Allow Sentry failures when SENTRY_ALLOW_FAILURE is set in the Sentry CLI by DanielMcAssey in #4852
  • chore: bump testing dependencies by Flash0ver in #4865
  • feat: Update error 413 handling by bitsandfoxes in #4863
  • fixed: Thread safety in AssemblyStoreReader when sending events on Android by jamescrosswell in #4814
  • ci: remove trailing slash from workflow references by copilot-swe-agent in #4837
  • feat: Added Main to SentryThread by bitsandfoxes in #4807
  • build: fix Build of Compiler-Extension by Flash0ver in #4804

🤖 This preview updates automatically when you update the PR.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 4, 2026

Messages
📖 Do not forget to update Sentry-docs with your feature once the pull request gets approved.

Generated by 🚫 dangerJS against d631418

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Android Session Replay - Add network calls

3 participants