feat(visionos): Add visionOS sample app - #6676
Open
antonis wants to merge 13 commits into
Open
Conversation
`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>
Contributor
Semver Impact of This PR⚪ None (no version bump detected) 📋 Changelog PreviewThis is how your changes will appear in the changelog.
🤖 This preview updates automatically when you update the PR. |
Contributor
|
|
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. |
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
antonis
force-pushed
the
feat/visionos-sample
branch
from
September 4, 2026 12:28
b9c1ce4 to
e9ca804
Compare
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>
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>
There was a problem hiding this comment.
✅ 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.
📲 Install BuildsAndroid
|
Contributor
iOS (legacy) Performance metrics 🚀
|
| 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 |
Contributor
Android (legacy) Performance metrics 🚀
|
| 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 |
antonis
marked this pull request as ready for review
September 4, 2026 13:17
antonis
marked this pull request as draft
September 4, 2026 13:41
Contributor
Android (new) Performance metrics 🚀
|
| 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 |
Contributor
iOS (new) Performance metrics 🚀
|
| 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
marked this pull request as ready for review
September 4, 2026 14:11
# Conflicts: # CHANGELOG.md
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>
4 tasks
# Conflicts: # .github/file-filters.yml # .github/workflows/sample-application.yml # package.json
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.
📢 Type of change
📜 Description
@callstack/react-native-visionos.fix(ios): explicitUIKit/AppKitimport inRNSentryStart.m.💡 Motivation and Context
Closes #6669.
Partially #6648
💚 How did you test it?
📝 Checklist
sendDefaultPIIis enabled.🔮 Next steps