-
Notifications
You must be signed in to change notification settings - Fork 51
chore: remove native folders from pos sample #257
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR converts the pos-app from a standard React Native project to an Expo-managed workflow and updates WalletConnect dependencies. The major changes include:
- Removal of iOS and Android native directories in favor of Expo-managed builds
- Update of WalletConnect packages from 2.22.4 to 2.23.0
- Update of @reown/appkit packages from 1.8.9 to 1.8.11
- Addition of Expo prebuild steps to CI/CD workflows
- Removal of explicit Xcode project/workspace paths from workflows in favor of dynamic discovery
- Addition of code signing configuration in the Fastlane file
- Change of app scheme from "mobilepos" to "WPay"
Reviewed Changes
Copilot reviewed 52 out of 97 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| fastlane/Fastfile | Added code signing configuration using update_code_signing_settings |
| dapps/pos-app/package.json | Updated WalletConnect dependencies to 2.23.0 |
| dapps/pos-app/package-lock.json | Updated dependency lockfile with new package versions |
| dapps/pos-app/ios/* | Removed all iOS native files (converted to Expo-managed) |
| dapps/pos-app/android/* | Removed all Android native files (converted to Expo-managed) |
| dapps/pos-app/app.json | Changed app scheme from "mobilepos" to "WPay" |
| dapps/pos-app/.gitignore | Added ios/ and android/ directories to gitignore |
| .github/workflows/release-ios-base.yaml | Added Expo prebuild support and dynamic Xcode path discovery |
| .github/workflows/release-android-base.yaml | Added Expo prebuild support with conditional gradle caching |
| .github/workflows/release-pos-ios.yaml | Updated scheme name and added is-expo-project flag |
| .github/workflows/release-pos-android.yaml | Added is-expo-project flag |
| .github/workflows/release--ios-.yaml | Removed explicit Xcode project/workspace paths |
Files not reviewed (2)
- dapps/pos-app/ios/mobilepos.xcworkspace/contents.xcworkspacedata: Language not supported
- dapps/pos-app/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| update_code_signing_settings( | ||
| use_automatic_signing: false, | ||
| path: ENV['XCODE_PROJECT_PATH'], | ||
| bundle_identifier: ENV['BUNDLE_ID'], | ||
| code_sign_identity: "Apple Distribution", | ||
| ) |
Copilot
AI
Nov 3, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] The trailing comma after code_sign_identity on line 56 is unnecessary and inconsistent with Ruby best practices for single-line method calls. Consider removing it for cleaner code style.
| ~/.gradle/wrapper | ||
| ${{ inputs.root-path }}/android/.gradle | ||
| key: ${{ runner.os }}-gradle-${{ inputs.name }}-${{ hashFiles(format('{0}/android/**/*.gradle*', inputs.root-path), format('{0}/android/**/gradle-wrapper.properties', inputs.root-path)) }} | ||
| ${{ inputs.is-expo-project == false && format('{0}/android/.gradle', inputs.root-path) || '' }} |
Copilot
AI
Nov 3, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] The conditional logic mixing GitHub Actions expressions with logical operators is difficult to read. Consider using a conditional step instead of inline ternary-like operations for better maintainability.
| # Find the .xcodeproj and .xcworkspace (works for both Expo and non-Expo) | ||
| XCODEPROJ=$(find "${{ inputs.root-path }}/ios" -maxdepth 1 -name "*.xcodeproj" -print -quit) | ||
| XCWORKSPACE=$(find "${{ inputs.root-path }}/ios" -maxdepth 1 -name "*.xcworkspace" -print -quit) | ||
Copilot
AI
Nov 3, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The dynamic Xcode path discovery assumes the ios directory exists. For Expo projects, prebuild runs before this step, but this step should validate that the paths were found and fail gracefully if they weren't. Consider adding validation after the find commands to ensure XCODEPROJ and XCWORKSPACE are not empty.
| if [ -z "$XCODEPROJ" ] || [ -z "$XCWORKSPACE" ]; then | |
| echo "❌ Error: Could not find Xcode project or workspace in '${{ inputs.root-path }}/ios'." | |
| echo "XCODEPROJ: '$XCODEPROJ'" | |
| echo "XCWORKSPACE: '$XCWORKSPACE'" | |
| exit 1 | |
| fi | |
Summary