-
Notifications
You must be signed in to change notification settings - Fork 73
chore: upgrade example to expo54 sdk with CNG #396
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
mfazekas
wants to merge
14
commits into
rive-app:main
Choose a base branch
from
mfazekas:mfazekas/example-expo54
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
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
- Move Rive assets from ios/Assets to assets/rive for better organization - Delete iOS native directory (will be regenerated with expo prebuild) - Update Android resource files and configuration
Major version upgrades: - Expo SDK 53 → 54 - React Native 0.79.6 → 0.81.5 - React 19.0.0 → 19.1.0 - React Native Reanimated 3.17.5 → 4.1.1 Android updates: - compileSdk 35 → 36 (Android 16) - AGP 8.8.2 → 8.11.0 - Gradle 8.13 → 8.14.3 - Edge-to-edge rendering now mandatory iOS updates: - Regenerated with SDK 54 templates - CocoaPods dependencies updated This upgrade resolves the androidx.core:core-ktx:1.17.0 compatibility issue that required AGP 8.9.1+ and compileSdk 36. Breaking changes: - SDK 54 is the last version supporting Legacy Architecture - expo-file-system new API is now default - Edge-to-edge is mandatory on Android
Upgrading from 2.11.1 to 2.11.4 to address potential picker text visibility issues on Android 16 with edge-to-edge rendering. Version 2.11.3+ includes critical fixes for React Native 0.81 and new architecture compatibility. This should resolve the light text on white background issue in the Layout example screen. If the issue persists, will add Expo config plugin to modify Android styles.xml. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Issue: After upgrading to Expo SDK 54 with Android 16 edge-to-edge, picker text was invisible due to DayNight theme using dark colors. Solution: - Set userInterfaceStyle: "light" in app.config.js (for iOS and consistency) - Created withLightTheme Expo config plugin using withAndroidStyles - Plugin changes AppTheme parent from Theme.AppCompat.DayNight.NoActionBar to Theme.AppCompat.Light.NoActionBar during expo prebuild - Ensures pickers have good contrast (dark text on light background) The config plugin is needed because userInterfaceStyle alone doesn't modify Android's theme parent in styles.xml. Note: The app is not currently prepared for dark mode support, so forcing Light theme is appropriate for now. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
…ation - Add expo prebuild step to build-ios and build-android jobs - Exclude project.pbxproj from verify-prebuild check (Expo generates random UUIDs) - Exclude Podfile.lock, .xcworkspace, PrivacyInfo.xcprivacy (generated files) - Fixes iOS/Android build failures (native folders now generated in CI) - Fixes verify-prebuild check (non-deterministic files excluded) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Expo generates random UUIDs in project.pbxproj on each prebuild run, making it non-deterministic. This file is now excluded from verification along with other generated files (Podfile.lock, .xcworkspace, PrivacyInfo.xcprivacy). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Native folders (ios/android) are committed to the repository, so CI doesn't need to regenerate them before building. The prebuild step is only needed in the verify-prebuild workflow to check if committed folders match what would be generated. This reverts the prebuild additions from commit 2e95635. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
…ches When Podfile.lock changes (e.g., after React Native upgrade), the cache restore-keys can match an older cache with incompatible Pod versions. This causes CocoaPods to fail with 'hermes-engine version differs from Pods/Local Podspecs' error. Now we detect partial cache matches and clear the Pods directory before running pod install, ensuring clean installation with correct versions. Also removed the most permissive restore-key to avoid matching caches from completely different dependency versions.
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.
expo prebuilt -p android)