Skip to content

feat(visionos): Add visionOS sample app - #6676

Open
antonis wants to merge 13 commits into
mainfrom
feat/visionos-sample
Open

feat(visionos): Add visionOS sample app#6676
antonis wants to merge 13 commits into
mainfrom
feat/visionos-sample

Conversation

@antonis

@antonis antonis commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

📢 Type of change

  • New feature
  • Bugfix

📜 Description

💡 Motivation and Context

Closes #6669.
Partially #6648

💚 How did you test it?

Screenshot 2026-09-04 at 14 23 28

📝 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

antonis and others added 2 commits September 4, 2026 14:26
`postDidBecomeActiveNotification` references `UIApplication`/`NSApplication`
without importing the owning framework. On iOS/tvOS these were pulled in
transitively; visionOS's stricter module compilation requires the import
before use. Add an explicit guarded import mirroring the usage site.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a visionOS sample built on @callstack/react-native-visionos, wired to
@sentry/react-native and driven by yarn like the other samples. Verified to
build against the local SDK on the visionOS Simulator.

Two sample-local Podfile workarounds are documented inline:
- REACT_NATIVE_NODE_MODULES_DIR pins the podspec's RN feature detection to
  this sample's react-native (0.79), since CocoaPods evaluates RNSentry.podspec
  from packages/core and would otherwise resolve the SDK's own newer RN.
- A post_install patch forces FMT_USE_CONSTEVAL off for fmt 11.0.2 under
  Xcode 26's stricter C++20 consteval.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

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).


  • feat(visionos): Add visionOS sample app by antonis in #6676
  • feat(sample): Add tvOS sample app by antonis in #6677
  • fix(e2e): Pin json gem < 3.0 for RN < 0.72 iOS builds by antonis in #6678
  • feat(ios): Expose enableMemoryIntrospection option by antonis in #6674
  • feat(android): Add anrProfilingSampleRate option by antonis in #6673
  • ci: Unpin Android E2E emulator build by antonis in #6672
  • ref(ios): Remove deprecated private SDK API usage by philprime in #6647
  • chore(deps): update Cocoa SDK to v9.27.0 by github-actions in #6670
  • chore(deps): update Sentry Android Gradle Plugin to v6.21.0 by github-actions in #6671
  • chore(deps): Bump fast-uri to ^3.1.6 to resolve security alerts by antonis in #6662
  • chore(deps): Bump qs to ^6.16.0 to resolve security alerts by antonis in #6663
  • chore(deps): Bump @xmldom/xmldom pins to patched versions to resolve security alerts by antonis in #6664
  • docs: Revamp root and nested AGENTS.md by antonis in #6666

🤖 This preview updates automatically when you update the PR.

@github-actions

github-actions Bot commented Sep 4, 2026

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

Generated by 🚫 dangerJS against 2e9a866

@socket-security

socket-security Bot commented Sep 4, 2026

Copy link
Copy Markdown

All alerts resolved. Learn more about Socket for GitHub.

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

View full report

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@antonis
antonis force-pushed the feat/visionos-sample branch from b9c1ce4 to e9ca804 Compare September 4, 2026 12:28
Comment thread yarn.lock Outdated
Comment thread yarn.lock Outdated
antonis and others added 3 commits September 4, 2026 14:43
Resolves the Critical OS command injection advisory (CVE-2025-11953 /
GHSA-399j-vxmf-hjvr) in the Metro dev server. Dev-only sample dependency.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Compile the visionOS sample against the local SDK on macos-26 (Xcode 26,
visionOS Simulator SDK preinstalled) for a generic simulator destination.
Build-only gate, mirroring build-macos. Fold the sample into the existing
sample_react_native change filter.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixes clang-format violations in the scaffolded XCTest file flagged by the
Lint job.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@antonis antonis added the ready-to-merge Triggers the full CI test suite label Sep 4, 2026
Drop the stale `< 1.3.4` pin (a template workaround for the dropped implicit
logger dependency, already mitigated by the explicit `gem 'logger'`) so the
gem floats to a patched release, matching the other samples. Clears the
high-severity AtomicReference#update Float::NAN livelock advisory.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit aa9892f. Configure here.

@sentry

sentry Bot commented Sep 4, 2026

Copy link
Copy Markdown

📲 Install Builds

Android

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

⚙️ sentry-react-native Build Distribution Settings

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3837.40 ms 1220.54 ms -2616.86 ms
Size 5.15 MiB 6.88 MiB 1.73 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
ecf47a2+dirty 3835.20 ms 1222.43 ms -2612.77 ms
3817909+dirty 1183.90 ms 1187.50 ms 3.60 ms
5ee78d6+dirty 3847.52 ms 1224.27 ms -2623.25 ms
890d145+dirty 1223.59 ms 1231.37 ms 7.78 ms
e763471+dirty 3841.16 ms 1218.06 ms -2623.09 ms
3d31fcf+dirty 3838.09 ms 1223.46 ms -2614.63 ms
9210ae6+dirty 3815.93 ms 1214.14 ms -2601.79 ms
26843eb+dirty 3861.60 ms 1238.77 ms -2622.82 ms
7a89652+dirty 3861.46 ms 1229.61 ms -2631.85 ms
9ad4522+dirty 3850.40 ms 1222.40 ms -2628.00 ms

App size

Revision Plain With Sentry Diff
ecf47a2+dirty 4.98 MiB 6.46 MiB 1.49 MiB
3817909+dirty 3.38 MiB 4.73 MiB 1.35 MiB
5ee78d6+dirty 5.15 MiB 6.69 MiB 1.53 MiB
890d145+dirty 3.38 MiB 4.77 MiB 1.38 MiB
e763471+dirty 4.98 MiB 6.51 MiB 1.53 MiB
3d31fcf+dirty 4.98 MiB 6.56 MiB 1.58 MiB
9210ae6+dirty 5.15 MiB 6.68 MiB 1.53 MiB
26843eb+dirty 4.98 MiB 6.53 MiB 1.55 MiB
7a89652+dirty 5.15 MiB 6.70 MiB 1.55 MiB
9ad4522+dirty 4.98 MiB 6.56 MiB 1.58 MiB

Previous results on branch: feat/visionos-sample

Startup times

Revision Plain With Sentry Diff
343b6d3+dirty 3856.33 ms 1224.19 ms -2632.14 ms

App size

Revision Plain With Sentry Diff
343b6d3+dirty 5.15 MiB 6.88 MiB 1.73 MiB

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 495.26 ms 523.32 ms 28.06 ms
Size 50.56 MiB 56.46 MiB 5.90 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
a2585ce+dirty 426.36 ms 483.26 ms 56.90 ms
882f8ae+dirty 399.98 ms 427.06 ms 27.08 ms
af33f3b+dirty 434.90 ms 506.14 ms 71.24 ms
ecf47a2+dirty 420.40 ms 458.02 ms 37.62 ms
acd838e+dirty 422.63 ms 462.39 ms 39.76 ms
580fb5c+dirty 436.34 ms 471.63 ms 35.28 ms
5ca03f9+dirty 423.30 ms 467.00 ms 43.70 ms
5c1e987+dirty 423.52 ms 471.64 ms 48.12 ms
822d35b+dirty 429.31 ms 498.04 ms 68.73 ms
8448c07+dirty 422.88 ms 471.22 ms 48.34 ms

App size

Revision Plain With Sentry Diff
a2585ce+dirty 49.74 MiB 55.36 MiB 5.61 MiB
882f8ae+dirty 48.30 MiB 53.60 MiB 5.29 MiB
af33f3b+dirty 49.74 MiB 55.09 MiB 5.35 MiB
ecf47a2+dirty 49.74 MiB 54.82 MiB 5.07 MiB
acd838e+dirty 48.30 MiB 53.60 MiB 5.30 MiB
580fb5c+dirty 49.74 MiB 54.79 MiB 5.05 MiB
5ca03f9+dirty 49.74 MiB 55.26 MiB 5.52 MiB
5c1e987+dirty 43.75 MiB 48.08 MiB 4.33 MiB
822d35b+dirty 49.74 MiB 54.84 MiB 5.10 MiB
8448c07+dirty 49.74 MiB 55.37 MiB 5.63 MiB

Previous results on branch: feat/visionos-sample

Startup times

Revision Plain With Sentry Diff
50f60e2+dirty 422.98 ms 472.66 ms 49.68 ms
343b6d3+dirty 418.14 ms 432.35 ms 14.20 ms

App size

Revision Plain With Sentry Diff
50f60e2+dirty 50.56 MiB 56.46 MiB 5.90 MiB
343b6d3+dirty 50.56 MiB 56.46 MiB 5.90 MiB

Comment thread samples/react-native-visionos/visionos/VisionSampleTests/VisionSampleTests.m Outdated
@antonis
antonis marked this pull request as ready for review September 4, 2026 13:17
Comment thread samples/react-native-visionos/visionos/VisionSample.xcodeproj/project.pbxproj Outdated
Comment thread samples/react-native-visionos/visionos/VisionSampleTests/VisionSampleTests.m Outdated
@antonis
antonis marked this pull request as draft September 4, 2026 13:41
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 514.21 ms 544.40 ms 30.19 ms
Size 50.56 MiB 56.46 MiB 5.90 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
eb93136+dirty 500.37 ms 532.58 ms 32.21 ms
9210ae6+dirty 444.14 ms 459.80 ms 15.66 ms
94af3bd+dirty 413.04 ms 451.76 ms 38.71 ms
7d6fd3a+dirty 435.06 ms 458.78 ms 23.72 ms
15d4514+dirty 413.63 ms 449.62 ms 35.99 ms
9ad4522+dirty 432.43 ms 450.91 ms 18.49 ms
0a147b2+dirty 442.80 ms 522.24 ms 79.44 ms
7887847+dirty 420.47 ms 460.55 ms 40.08 ms
a3265b6+dirty 410.96 ms 444.76 ms 33.80 ms
57e0069+dirty 442.25 ms 486.64 ms 44.39 ms

App size

Revision Plain With Sentry Diff
eb93136+dirty 48.30 MiB 53.58 MiB 5.28 MiB
9210ae6+dirty 48.30 MiB 53.54 MiB 5.23 MiB
94af3bd+dirty 48.30 MiB 53.57 MiB 5.26 MiB
7d6fd3a+dirty 43.94 MiB 49.00 MiB 5.06 MiB
15d4514+dirty 48.30 MiB 53.60 MiB 5.30 MiB
9ad4522+dirty 49.74 MiB 55.38 MiB 5.63 MiB
0a147b2+dirty 49.74 MiB 55.08 MiB 5.34 MiB
7887847+dirty 49.74 MiB 54.81 MiB 5.07 MiB
a3265b6+dirty 48.30 MiB 53.58 MiB 5.28 MiB
57e0069+dirty 49.74 MiB 54.85 MiB 5.11 MiB

Previous results on branch: feat/visionos-sample

Startup times

Revision Plain With Sentry Diff
50f60e2+dirty 433.74 ms 443.36 ms 9.62 ms
343b6d3+dirty 422.15 ms 444.58 ms 22.43 ms

App size

Revision Plain With Sentry Diff
50f60e2+dirty 50.56 MiB 56.46 MiB 5.90 MiB
343b6d3+dirty 50.56 MiB 56.46 MiB 5.90 MiB

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3848.28 ms 1218.64 ms -2629.64 ms
Size 5.15 MiB 6.88 MiB 1.73 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
71abba0+dirty 3852.70 ms 1224.53 ms -2628.16 ms
bc0d8cf+dirty 3834.64 ms 1223.91 ms -2610.73 ms
68ae91b+dirty 3836.36 ms 1222.04 ms -2614.32 ms
267d3ed+dirty 3860.14 ms 1223.39 ms -2636.76 ms
f170ec3+dirty 3844.74 ms 1222.67 ms -2622.07 ms
b9bebee+dirty 3858.02 ms 1231.92 ms -2626.11 ms
d038a14+dirty 3831.11 ms 1216.30 ms -2614.81 ms
853723c+dirty 3849.33 ms 1221.07 ms -2628.26 ms
e763471+dirty 3826.10 ms 1221.52 ms -2604.58 ms
3d31fcf+dirty 3857.46 ms 1237.17 ms -2620.29 ms

App size

Revision Plain With Sentry Diff
71abba0+dirty 5.15 MiB 6.67 MiB 1.52 MiB
bc0d8cf+dirty 5.15 MiB 6.67 MiB 1.51 MiB
68ae91b+dirty 4.98 MiB 6.46 MiB 1.48 MiB
267d3ed+dirty 5.15 MiB 6.69 MiB 1.54 MiB
f170ec3+dirty 5.15 MiB 6.69 MiB 1.53 MiB
b9bebee+dirty 5.15 MiB 6.68 MiB 1.53 MiB
d038a14+dirty 5.15 MiB 6.67 MiB 1.51 MiB
853723c+dirty 5.15 MiB 6.69 MiB 1.53 MiB
e763471+dirty 4.98 MiB 6.51 MiB 1.53 MiB
3d31fcf+dirty 4.98 MiB 6.56 MiB 1.58 MiB

Previous results on branch: feat/visionos-sample

Startup times

Revision Plain With Sentry Diff
50f60e2+dirty 3872.83 ms 1242.77 ms -2630.06 ms
343b6d3+dirty 3870.70 ms 1239.43 ms -2631.27 ms

App size

Revision Plain With Sentry Diff
50f60e2+dirty 5.15 MiB 6.88 MiB 1.73 MiB
343b6d3+dirty 5.15 MiB 6.88 MiB 1.73 MiB

Set SDKROOT to xros on both project configs to match the target's
SUPPORTED_PLATFORMS, and reach the test root view controller through the
active window scene instead of AppDelegate.window (absent under the
SwiftUI RCTMainWindow lifecycle).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@antonis
antonis marked this pull request as ready for review September 4, 2026 14:11
Comment thread samples/react-native-visionos/visionos/VisionSample/Info.plist
antonis and others added 3 commits September 7, 2026 09:00
visionOS is arm64-only; the scaffolded armv7 capability matches no device
and can block device install or App Store distribution. Aligns with the
iOS sample.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@antonis antonis linked an issue Sep 7, 2026 that may be closed by this pull request
4 tasks
# Conflicts:
#	.github/file-filters.yml
#	.github/workflows/sample-application.yml
#	package.json
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.

Add visionOS sample to the project Add CI checks for tvOS and visionOS

1 participant