Skip to content

1137 move ios android all source code to monorepo#1138

Closed
lmcmz wants to merge 2720 commits intodevfrom
1137-move-ios-android
Closed

1137 move ios android all source code to monorepo#1138
lmcmz wants to merge 2720 commits intodevfrom
1137-move-ios-android

Conversation

@lmcmz
Copy link
Copy Markdown
Collaborator

@lmcmz lmcmz commented Jan 5, 2026

🔗 Related Issues

Closes #1137

Linked automatically from the branch name. If incorrect, edit:

Self-Checklist

  • I read through my own diff
  • I ran at least one manual check
  • No mock / debug code left in production code

📝 Description

📸 Screenshots/Videos

zhouxl and others added 30 commits October 14, 2025 11:33
* fix: key is not on the server.

* feat: optimize code
305 - feat: payer interceptor modal for surge pricing
feat: display all profile in send account list
* feat: replace bridge fee and payer signer endpoint

* feat: update endpoint signAsBridgeFeePayer

* feat: update endpoint call
* feat: show alert

* feat: update main.jsbundle

* feat: surge price alert

* feat: update endpoint response struct
* feat: amount only use maxfee

* feat: show surge alert on Authz
feat: add key search on Secure Enclave Key
* fix: replace with user payer address and keyid

* feat: walletconnect add authz surge alert
Justin Golanowski and others added 17 commits December 23, 2025 14:05
fix: native bridge implementation
…-for-onboarding-workflow

310/972 ios create native bridge for onboarding workflow
* fix: logout issue when key is available but no profile

* Bump version 3.0.11

* feat: revert podfile.lock

* feat: replace coinbase url (#1989)

---------

Co-authored-by: lmcmz <lmcmze@gmail.com>
…5ad74a8986e86'

git-subtree-dir: apps/react-native/ios
git-subtree-mainline: 669b169
git-subtree-split: 339512d
…3d894e0b831d672d2'

git-subtree-dir: apps/react-native/android
git-subtree-mainline: c091d38
git-subtree-split: 01dd8e6
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 5, 2026

PR Summary

Migrated the Android source code from a Git submodule to be directly included in the monorepo. This change removes the .gitmodules file that previously referenced external repositories for iOS and Android, and updates the .gitignore to no longer exclude the apps/react-native/android/ directory. The Android project is now fully embedded with its complete source code, including GitHub workflows, build configurations, tests, and CI/CD pipelines.

Changes

File Summary
.gitignore Removed exclusion rules for apps/react-native/ios/ and apps/react-native/android/ directories, allowing the Android source code to be tracked directly in the monorepo instead of as submodules.
.gitmodules Deleted the .gitmodules file that previously defined submodule references to FRW-iOS and FRW-Android repositories on the dev branch.
apps/react-native/android Removed the submodule pointer that referenced commit 8c8b632570b5094d24ac92fc49a128186752a830 from the external Android repository.
apps/react-native/android/.github/CODEOWNERS New file assigning @onflow/wallet-mobile team as code owners for all files in the Android project.
apps/react-native/android/.github/ISSUE_TEMPLATE/bug_report.yml New GitHub issue template for reporting bugs with fields for description, expected behavior, reproduction steps, and environment details.
apps/react-native/android/.github/ISSUE_TEMPLATE/feature_request.yml New GitHub issue template for feature requests with fields for describing the problem and suggesting solutions.
apps/react-native/android/.github/pull_request_template.md New PR template with sections for related issues, summary of changes, regression testing requirements, risk assessment, and screenshots.
apps/react-native/android/.github/workflows/check-linked-issues.yml New GitHub Actions workflow that verifies pull requests have linked issues using the verify-linked-issue-action.
apps/react-native/android/.github/workflows/migrate-secrets.yml New comprehensive workflow for syncing secrets from the Android repository to the monorepo, supporting repository-level and environment-specific secrets with multiple sync options.
apps/react-native/android/.github/workflows/presubmit.yml New workflow using outblock/ai-reviewer for automated PR code reviews with Claude LLM integration.
apps/react-native/android/.github/workflows/release.yml New workflow for building and deploying Android APKs with separate jobs for dev (Firebase App Distribution) and release (Play Store) builds, including keystore generation and secret management.
apps/react-native/android/.gitignore New gitignore file excluding Gradle files, IDE configurations, build outputs, sensitive files like google-services.json and keystores, and React Native auto-generated resources.
apps/react-native/android/.gitmodules New empty .gitmodules file for the Android project.
apps/react-native/android/.kotlin/errors/errors-1756419679881.log Log file containing Kotlin daemon compilation failure related to incremental cache storage conflicts.
apps/react-native/android/.kotlin/errors/errors-1756427853679.log Log file containing Kotlin incremental compilation failure due to NullPointerException in ChangedJavaFilesProcessor.
apps/react-native/android/Gemfile New Gemfile specifying Fastlane as a dependency for Android build automation.
apps/react-native/android/Gemfile.lock Lock file containing resolved versions of Fastlane and its dependencies including AWS SDK, Google APIs, and Firebase tools.
apps/react-native/android/LICENSE.md New Apache License 2.0 file for the Android project.
apps/react-native/android/README.md New README with instructions for configuring google-services.json, signing information, key.properties with API keys, and running the project.
apps/react-native/android/app/.gitignore New gitignore excluding the /build directory for the app module.
apps/react-native/android/app/build.gradle New Gradle build file with React Native, Compose, Firebase, WalletConnect, Flow SDK integrations, multiple build types (debug, dev, releaseDebug, release), signing configs, ProGuard rules, and Play Store publishing configuration.
apps/react-native/android/app/libs/trustwalletcore.aar New binary AAR file for TrustWallet Core cryptographic library.
apps/react-native/android/app/proguard-rules.pro New ProGuard configuration with keep rules for Glide, Gson, Web3j, Flow SDK, WalletConnect, React Native, and various third-party libraries to prevent obfuscation issues.
apps/react-native/android/app/src/androidTest/java/com/flowfoundation/wallet/TestAES.kt New instrumented test verifying AES encryption and decryption functionality with key and IV parameters.
apps/react-native/android/app/src/androidTest/java/com/flowfoundation/wallet/TestApi.kt New instrumented tests for user registration API calls using HD wallet and keystore-based key generation with Flow Wallet Kit.
apps/react-native/android/app/src/androidTest/java/com/flowfoundation/wallet/TestFlowTransaction.kt New test class that loads the TrustWalletCore native library for Flow transaction testing.
apps/react-native/android/app/src/androidTest/java/com/flowfoundation/wallet/TestKeyStore.kt New tests for mnemonic decryption, coin removal, JSON keystore import, long hex passwords, JSON export, and mnemonic storage operations.
apps/react-native/android/app/src/androidTest/java/com/flowfoundation/wallet/TestWallet.kt New comprehensive tests for mnemonic creation, P256/secp256k1 signing with SHA256/SHA3-256, key derivation, signature verification, and Cadence script execution.
apps/react-native/android/app/src/androidTest/java/com/flowfoundation/wallet/manager/key/KeyCompatibilityManagerSimpleTest.kt New instrumented tests for KeyCompatibilityManager verifying key extraction, fallback to old Android Keystore, hardware-backed key limitations, and storage diagnostics.
apps/react-native/android/app/src/assetlinks.json New Digital Asset Links file for credential sharing between lilico.app website and Flow Wallet Android apps (dev and production).

autogenerated by presubmit.ai

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 5, 2026

Dependency Review

The following issues were found:

  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ✅ 0 package(s) with unknown licenses.
  • ⚠️ 2 packages with OpenSSF Scorecard issues.

View full job summary

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 5, 2026

⚠️ Security Dependency Review Failed ⚠️

This pull request introduces dependencies with security vulnerabilities of moderate severity or higher.

Vulnerable Dependencies:

📦 aws-sdk-s3@1.183.0

What to do next?

  1. Review the vulnerability details in the Dependency Review Comment above, specifically the "Vulnerabilities" section
  2. Click on the links in the "Vulnerability" section to see the details of the vulnerability
  3. If multiple versions of the same package are vulnerable, please update to the common latest non-vulnerable version
  4. If you are unsure about the vulnerability, please contact the security engineer
  5. If the vulnerability cannot be avoided (can't upgrade, or need to keep), contact #security on slack to get it added to the allowlist

Security Engineering contact: #security on slack

@lmcmz lmcmz changed the title 1137 move ios android 1137 move ios android all source code to monorepo Jan 5, 2026
Copy link
Copy Markdown

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

🚨 Pull request needs attention.

Review Summary

Commits Considered (30)
  • aa81a85: fix: emoji random (#1862)
  • 08c3af2: Feat/300 surge price walleconnect (#1861)
  • fix: replace with user payer address and keyid

  • feat: walletconnect add authz surge alert

  • c42a7e0: Merge pull request #1986 from onflow/surge_pricing

fix: surge pricing alert

  • d178cab: fix: surge pricing alert
  • 998e824: Merge pull request #1857 from onflow/search-keys

feat: add key search on Secure Enclave Key

  • 9dd5267: feat: add key search on Secure Enclave Key
  • 32f70bf: Feat/surge alert on dapp 553 (#1848)
  • feat: amount only use maxfee

  • feat: show surge alert on Authz

  • 6afd6e9: Update main.jsbundle
  • 2aad847: Merge pull request #1962 from onflow/surge_pricing

feat: surge pricing

  • 31d33a7: feat: surge pricing
  • 15a2c5b: feat: udpate request for pay endpoint (#1846)
  • b07c2bf: Feat/surge alert 300 (#1845)
  • feat: show alert

  • feat: update main.jsbundle

  • feat: surge price alert

  • feat: update endpoint response struct

  • a38ded9: Feat/553 ios update bridge fee and payer signer endpoint (#1839)
  • feat: replace bridge fee and payer signer endpoint

  • feat: update endpoint signAsBridgeFeePayer

  • feat: update endpoint call

  • 9106a58: Update incorrect endpoint (#1838)
  • 52b0f70: Merge pull request #1808 from onflow/300-surge-price-horizontal-handle

feat: add flow network interceptor

  • b06892b: Merge pull request #1938 from onflow/display_all_profile

feat: display all profile in send account list

  • 079092f: feat: display all profile in send account list
  • 7c2d2c5: Merge pull request #1821 from onflow/305-android-surge-payer-interceptor

305 - feat: payer interceptor modal for surge pricing

  • 34d6436: Merge branch 'dev' into 300-surge-price-horizontal-handle
  • ad303e4: feat: surge price handling browser & walletconnect
  • 3c162fc: Merge pull request #1926 from onflow/1627-bubble-item

1627 - fix: bubble item

  • f847870: feat: remove moveasset router
  • 97e7f0f: fix: key is not on the server. (#1832)
  • fix: key is not on the server.

  • feat: optimize code

  • 0a8b486: fix: bubble item
  • 360b815: fix: bubble item
  • bde1c42: feat: add logToNative bridge (#1830)
  • d6a0825: Merge pull request #1915 from onflow/log_bridge

feat: log callback to native

  • 890db84: fix: add log to file
  • d5b91de: feat: get all profile from native (#1828)
  • 9cc3867: fix: address feedback
Files Processed (30)
  • .gitignore (1 hunk)
  • .gitmodules (1 hunk)
  • apps/react-native/android (1 hunk)
  • apps/react-native/android/.github/CODEOWNERS (1 hunk)
  • apps/react-native/android/.github/ISSUE_TEMPLATE/bug_report.yml (1 hunk)
  • apps/react-native/android/.github/ISSUE_TEMPLATE/feature_request.yml (1 hunk)
  • apps/react-native/android/.github/pull_request_template.md (1 hunk)
  • apps/react-native/android/.github/workflows/check-linked-issues.yml (1 hunk)
  • apps/react-native/android/.github/workflows/migrate-secrets.yml (1 hunk)
  • apps/react-native/android/.github/workflows/presubmit.yml (1 hunk)
  • apps/react-native/android/.github/workflows/release.yml (1 hunk)
  • apps/react-native/android/.gitignore (1 hunk)
  • apps/react-native/android/.gitmodules (0 hunks)
  • apps/react-native/android/.kotlin/errors/errors-1756419679881.log (1 hunk)
  • apps/react-native/android/.kotlin/errors/errors-1756427853679.log (1 hunk)
  • apps/react-native/android/Gemfile (1 hunk)
  • apps/react-native/android/Gemfile.lock (1 hunk)
  • apps/react-native/android/LICENSE.md (1 hunk)
  • apps/react-native/android/README.md (1 hunk)
  • apps/react-native/android/app/.gitignore (1 hunk)
  • apps/react-native/android/app/build.gradle (1 hunk)
  • apps/react-native/android/app/libs/trustwalletcore.aar (0 hunks)
  • apps/react-native/android/app/proguard-rules.pro (1 hunk)
  • apps/react-native/android/app/src/androidTest/java/com/flowfoundation/wallet/TestAES.kt (1 hunk)
  • apps/react-native/android/app/src/androidTest/java/com/flowfoundation/wallet/TestApi.kt (1 hunk)
  • apps/react-native/android/app/src/androidTest/java/com/flowfoundation/wallet/TestFlowTransaction.kt (1 hunk)
  • apps/react-native/android/app/src/androidTest/java/com/flowfoundation/wallet/TestKeyStore.kt (1 hunk)
  • apps/react-native/android/app/src/androidTest/java/com/flowfoundation/wallet/TestWallet.kt (1 hunk)
  • apps/react-native/android/app/src/androidTest/java/com/flowfoundation/wallet/manager/key/KeyCompatibilityManagerSimpleTest.kt (1 hunk)
  • apps/react-native/android/app/src/assetlinks.json (1 hunk)
Actionable Comments (1)
  • apps/react-native/android/.github/workflows/presubmit.yml [1-1]

    possible bug: "Malformed YAML workflow name."

Skipped Comments (6)
  • apps/react-native/android/.kotlin/errors/errors-1756419679881.log [1-154]

    best practice: "Build error logs should not be committed to the repository."

  • apps/react-native/android/.kotlin/errors/errors-1756427853679.log [1-33]

    best practice: "Build error logs should not be committed to the repository."

  • apps/react-native/android/.github/workflows/check-linked-issues.yml [20-20]

    best practice: "Missing newline at end of file."

  • apps/react-native/android/app/build.gradle [44-46]

    security: "Hardcoded username in build configuration."

  • apps/react-native/android/.gitmodules [1-1]

    maintainability: "Empty gitmodules file should be removed."

  • apps/react-native/android/app/src/androidTest/java/com/flowfoundation/wallet/TestKeyStore.kt [97-100]

    possible bug: "Potential null pointer exception in test."

@@ -0,0 +1,28 @@
claude-sonnet-4-5-20250929name: Presubmit.ai
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The first line appears to have a malformed workflow name. It starts with claude-sonnet-4-5-20250929name: instead of just name:. This will cause the workflow to fail to parse correctly.

Copy link
Copy Markdown

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

LGTM!

Review Summary

Commits Considered (1)
  • 36817e9: update payer request data model
Files Processed (1)
  • .gitignore (1 hunk)
Actionable Comments (0)
Skipped Comments (1)
  • .gitignore [50-51]

    maintainability: "Comment is now misleading after removing ios and android entries."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

add ios and android source code to monorepo

5 participants