Skip to content

test(replay): Add passthrough tests for device-state replay breadcrumbs#6115

Merged
antonis merged 2 commits intomainfrom
antonis/test-replay-device-state-breadcrumbs
May 8, 2026
Merged

test(replay): Add passthrough tests for device-state replay breadcrumbs#6115
antonis merged 2 commits intomainfrom
antonis/test-replay-device-state-breadcrumbs

Conversation

@antonis
Copy link
Copy Markdown
Contributor

@antonis antonis commented May 8, 2026

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

Add tests verifying that device-state breadcrumbs (device.orientation, device.connectivity, device.event) are not dropped by the RN replay breadcrumb converter and correctly pass through to the native SDK's default converter on both iOS and Android.

These categories were previously untested even though they work correctly via the passthrough path.

💡 Motivation and Context

Part of the "Making breadcrumbs data more useful on React Native" project (RN-613). Investigation confirmed device-state breadcrumbs render correctly in the replay timeline — this PR adds test coverage for that behavior.

💚 How did you test it?

  • Android: All 14 tests pass locally (./gradlew app:testDebugUnitTest)
  • iOS: Swift lint passes; full test run blocked locally by CocoaPods CDN issue (Sentry 9.12.1 not yet available) — will be validated in CI
  • yarn lint:swift — 0 violations
  • yarn lint:kotlin — 0 violations

📝 Checklist

  • I added tests to verify changes
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • All tests passing
  • No breaking changes

🔮 Next steps

🤖 Generated with Claude Code

Verify that device.orientation, device.connectivity, and device.event
breadcrumbs are not dropped by the RN replay breadcrumb converter and
correctly pass through to the native default converter on both iOS and
Android.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 8, 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).


  • test(replay): Add passthrough tests for device-state replay breadcrumbs by antonis in #6115
  • chore(deps): update JavaScript SDK to v10.52.0 by github-actions in #6108
  • chore(deps): bump basic-ftp from 5.3.0 to 5.3.1 by dependabot in #6111

🤖 This preview updates automatically when you update the PR.

@antonis antonis added the ready-to-merge Triggers the full CI test suite label May 8, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 8, 2026

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 429.57 ms 485.16 ms 55.59 ms
Size 48.30 MiB 53.49 MiB 5.19 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
3ce5254+dirty 410.57 ms 448.48 ms 37.91 ms
44c8b3f+dirty 414.20 ms 457.28 ms 43.08 ms
a50b33d+dirty 500.81 ms 532.11 ms 31.30 ms
0d9949d+dirty 403.57 ms 437.00 ms 33.43 ms
3817909+dirty 406.67 ms 416.58 ms 9.91 ms
d2eadf8+dirty 414.64 ms 454.56 ms 39.92 ms
5c1e987+dirty 423.52 ms 471.64 ms 48.12 ms
4953e94+dirty 442.02 ms 456.52 ms 14.50 ms
100ce80+dirty 463.66 ms 539.56 ms 75.90 ms
5fe1c6c+dirty 401.62 ms 445.28 ms 43.66 ms

App size

Revision Plain With Sentry Diff
3ce5254+dirty 43.75 MiB 48.12 MiB 4.37 MiB
44c8b3f+dirty 48.30 MiB 53.46 MiB 5.15 MiB
a50b33d+dirty 43.75 MiB 48.08 MiB 4.33 MiB
0d9949d+dirty 43.75 MiB 48.13 MiB 4.37 MiB
3817909+dirty 43.75 MiB 48.08 MiB 4.33 MiB
d2eadf8+dirty 48.30 MiB 53.48 MiB 5.18 MiB
5c1e987+dirty 43.75 MiB 48.08 MiB 4.33 MiB
4953e94+dirty 43.75 MiB 48.08 MiB 4.33 MiB
100ce80+dirty 48.30 MiB 53.46 MiB 5.15 MiB
5fe1c6c+dirty 43.75 MiB 48.14 MiB 4.39 MiB

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 8, 2026

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3837.76 ms 1223.45 ms -2614.31 ms
Size 5.15 MiB 6.67 MiB 1.51 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
3d377b5+dirty 1218.48 ms 1219.51 ms 1.03 ms
2c735cc+dirty 1229.67 ms 1221.50 ms -8.17 ms
44c8b3f+dirty 3823.85 ms 1207.66 ms -2616.19 ms
a50b33d+dirty 1197.74 ms 1197.17 ms -0.57 ms
100ce80+dirty 3842.93 ms 1229.52 ms -2613.41 ms
4953e94+dirty 1212.06 ms 1214.83 ms 2.77 ms
5fe1c6c+dirty 1220.79 ms 1217.63 ms -3.16 ms
8929511+dirty 1216.42 ms 1219.02 ms 2.60 ms
bc0d8cf+dirty 3830.33 ms 1220.52 ms -2609.81 ms
5c1e987+dirty 1204.30 ms 1222.15 ms 17.85 ms

App size

Revision Plain With Sentry Diff
3d377b5+dirty 3.38 MiB 4.76 MiB 1.38 MiB
2c735cc+dirty 3.38 MiB 4.74 MiB 1.35 MiB
44c8b3f+dirty 5.15 MiB 6.66 MiB 1.51 MiB
a50b33d+dirty 3.38 MiB 4.73 MiB 1.35 MiB
100ce80+dirty 5.15 MiB 6.67 MiB 1.51 MiB
4953e94+dirty 3.38 MiB 4.73 MiB 1.35 MiB
5fe1c6c+dirty 3.38 MiB 4.77 MiB 1.39 MiB
8929511+dirty 3.38 MiB 4.80 MiB 1.42 MiB
bc0d8cf+dirty 5.15 MiB 6.67 MiB 1.51 MiB
5c1e987+dirty 3.38 MiB 4.73 MiB 1.35 MiB

@sentry
Copy link
Copy Markdown

sentry Bot commented May 8, 2026

📲 Install Builds

Android

🔗 App Name App ID Version Configuration
Sentry RN io.sentry.reactnative.sample 8.11.0 (87) Release

⚙️ sentry-react-native Build Distribution Settings

@antonis antonis marked this pull request as ready for review May 8, 2026 09:53
@antonis antonis linked an issue May 8, 2026 that may be closed by this pull request
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 0bd1e79. Configure here.

Kotlin's assert() compiles to a JVM assertion that is a no-op without
the -ea flag. Use JUnit's assertNotNull for reliable test assertions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 8, 2026

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3858.39 ms 1233.16 ms -2625.23 ms
Size 5.15 MiB 6.67 MiB 1.51 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
3d377b5+dirty 1201.55 ms 1201.80 ms 0.25 ms
2c735cc+dirty 1223.33 ms 1224.38 ms 1.04 ms
44c8b3f+dirty 3849.24 ms 1209.94 ms -2639.31 ms
a50b33d+dirty 1207.11 ms 1212.10 ms 5.00 ms
100ce80+dirty 3843.57 ms 1226.46 ms -2617.12 ms
4953e94+dirty 1217.41 ms 1223.53 ms 6.12 ms
5fe1c6c+dirty 1201.36 ms 1209.15 ms 7.78 ms
8929511+dirty 1223.41 ms 1222.49 ms -0.92 ms
bc0d8cf+dirty 3834.64 ms 1223.91 ms -2610.73 ms
5c1e987+dirty 1208.43 ms 1220.72 ms 12.29 ms

App size

Revision Plain With Sentry Diff
3d377b5+dirty 3.38 MiB 4.76 MiB 1.38 MiB
2c735cc+dirty 3.38 MiB 4.74 MiB 1.35 MiB
44c8b3f+dirty 5.15 MiB 6.66 MiB 1.51 MiB
a50b33d+dirty 3.38 MiB 4.73 MiB 1.35 MiB
100ce80+dirty 5.15 MiB 6.67 MiB 1.51 MiB
4953e94+dirty 3.38 MiB 4.73 MiB 1.35 MiB
5fe1c6c+dirty 3.38 MiB 4.77 MiB 1.39 MiB
8929511+dirty 3.38 MiB 4.80 MiB 1.42 MiB
bc0d8cf+dirty 5.15 MiB 6.67 MiB 1.51 MiB
5c1e987+dirty 3.38 MiB 4.73 MiB 1.35 MiB

@antonis antonis merged commit ad66da3 into main May 8, 2026
85 of 86 checks passed
@antonis antonis deleted the antonis/test-replay-device-state-breadcrumbs branch May 8, 2026 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Triggers the full CI test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Verify device-state breadcrumbs render correctly in replay timeline

2 participants