Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
05f3279
chore: bump react-native to 0.81.6 and related deps
janicduplessis Apr 20, 2026
8bb058c
chore: bump safe-area-context to 5.7.0 and screens to 4.24.0
janicduplessis Apr 20, 2026
de77cbf
chore: downgrade react-native-screens 4.24.0 → 4.16.0
janicduplessis Apr 20, 2026
e67a6b7
chore: restore :new_arch_enabled=>false in Podfile, update iOS lock f…
janicduplessis Apr 20, 2026
f6684ac
fix: correct line counts and blank-line context in RN 0.81 patch
janicduplessis Apr 21, 2026
c8cd02e
fix: update Bundle React Native script for RN 0.81
janicduplessis Apr 21, 2026
3bfd3b9
fix: map zustand subpath imports to CJS files for Hermes
janicduplessis Apr 21, 2026
f83528c
chore: drop zustand subpath overrides now that v5 ships a react-nativ…
janicduplessis Apr 21, 2026
d2e0c91
chore(android): bump @react-native-menu/menu 1.2.3 → 2.0.0
janicduplessis Apr 21, 2026
5424368
fix(android): patch @shopify/flash-list and react-native-performance …
janicduplessis Apr 21, 2026
a066c1b
chore(ios): regenerate Podfile.lock for @react-native-menu/menu 2.0.0…
janicduplessis Apr 21, 2026
664a2a5
fix: pin react to 19.1.4 to match RN 0.81.6's bundled renderer
janicduplessis Apr 27, 2026
b30762a
ci: pin sandbox to @janic/rn-0.81 across CI install steps
janicduplessis Apr 27, 2026
782f0bf
fix(android): bump animateable-text + reanimated for RN 0.81 reflecti…
janicduplessis Apr 30, 2026
7cca7cf
fix: force-resolve @reservoir0x/reservoir-sdk to its CJS entry
janicduplessis May 1, 2026
ca950ac
fix(metro): bypass Node 22 strict exports for reservoir-sdk override
janicduplessis May 1, 2026
853beb6
ci: include JS-bundle config in rock fingerprint
janicduplessis May 1, 2026
c52add0
fix(metro): disable unstable_enablePackageExports for RN 0.81
janicduplessis May 2, 2026
0bd01f9
fix(metro): scope CJS-resolution override to reservoir-sdk + viem
janicduplessis May 2, 2026
96c7c55
fix(metro): force CJS for viem/ox/abitype subpaths under RN 0.81
janicduplessis May 2, 2026
8d134cc
fix(metro): pin axios to browser CJS to avoid Node-only requires
janicduplessis May 2, 2026
4cfb311
fix(android): patch react-native-fs to pass non-null reject code on R…
janicduplessis May 2, 2026
a56a956
fix(metro): upgrade axios via resolution, drop CJS resolver overrides
janicduplessis May 3, 2026
6445746
fix(patches): rewrite react-native-fs patch in patch-package format
janicduplessis May 4, 2026
12a87d4
chore: drop obsolete @shopify/flash-list 1.8.2 patch
janicduplessis May 4, 2026
45474d1
fix(send): pin AddressField height on Android to avoid row jump on RN…
janicduplessis May 6, 2026
26dd57a
revert: drop metro/babel configs from rock fingerprint
janicduplessis May 6, 2026
03a9814
chore: clean up Info.plist leakage + drop obsolete patches
janicduplessis May 6, 2026
1c8957b
chore(patches): adopt RFC patch headers + restore animateable-text patch
janicduplessis May 6, 2026
c4aee5c
fix(patches): also patch index.d.ts in react-native-animateable-text
janicduplessis May 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/android-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ jobs:
- name: Install dependencies
env:
SSH_AUTH_SOCK: /tmp/ssh_agent_sandbox.sock
SANDBOX_BRANCH: '@janic/rn-0.81'
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hardcoded sandbox branch override left in CI workflows

High Severity

SANDBOX_BRANCH: '@janic/rn-0.81' is hardcoded in all five CI workflow files. This development-time override forces yarn install && yarn setup to resolve internal sandbox packages from a feature branch. If merged to the main branch, all CI builds will permanently depend on this ephemeral branch, breaking when it's deleted or diverges.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit fc51990. Configure here.

run: |
yarn install && yarn setup

Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/ios-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ jobs:
- name: Install dependencies
env:
SSH_AUTH_SOCK: /tmp/ssh_agent_sandbox.sock
SANDBOX_BRANCH: '@janic/rn-0.81'
run: yarn install && yarn setup

- name: Rock Build - iOS simulator
Expand Down Expand Up @@ -186,6 +187,7 @@ jobs:
- name: Install dependencies
env:
SSH_AUTH_SOCK: /tmp/ssh_agent_sandbox.sock
SANDBOX_BRANCH: '@janic/rn-0.81'
run: yarn install && yarn setup

- name: Set up Ruby
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/ios-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ jobs:
- name: Install dependencies
env:
SSH_AUTH_SOCK: /tmp/ssh_agent_sandbox.sock
SANDBOX_BRANCH: '@janic/rn-0.81'
run: yarn install && yarn setup

- name: Rock Remote Build - iOS simulator
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/unit-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ jobs:
- name: Install dependencies
env:
SSH_AUTH_SOCK: /tmp/ssh_agent_sandbox.sock
SANDBOX_BRANCH: '@janic/rn-0.81'
run: |
yarn install && yarn setup

Expand Down
1 change: 1 addition & 0 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
android:roundIcon="@mipmap/og_round"
android:allowBackup="false"
android:theme="@style/BootTheme"
android:usesCleartextTraffic="${usesCleartextTraffic}"
android:networkSecurityConfig="@xml/network_security_config"
android:requestLegacyExternalStorage="true"
android:resizeableActivity="false"
Expand Down
10 changes: 2 additions & 8 deletions android/app/src/main/java/me/rainbow/MainApplication.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,10 @@ import android.app.Application
import android.content.Context
import com.facebook.react.PackageList
import com.facebook.react.ReactApplication
import com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNative
import com.facebook.react.ReactNativeHost
import com.facebook.react.ReactPackage
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
import com.facebook.react.defaults.DefaultReactNativeHost
import com.facebook.react.soloader.OpenSourceMergedSoMapping
import com.facebook.soloader.SoLoader
import io.branch.rnbranch.RNBranchModule
import me.rainbow.NativeModules.Haptics.RNHapticsPackage
import me.rainbow.NativeModules.Internals.InternalPackage
Expand Down Expand Up @@ -56,11 +54,7 @@ class MainApplication : Application(), ReactApplication {
ReactNativePerformance.onAppStarted();
super.onCreate()
appContext = this
SoLoader.init(this, OpenSourceMergedSoMapping)
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
// If you opted-in for the New Architecture, we load the native entry point for this app.
load()
}
loadReactNative(this)
// Branch logging for debugging
RNBranchModule.enableLogging()
RNBranchModule.getAutoInstance(this)
Expand Down
6 changes: 3 additions & 3 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import org.apache.tools.ant.taskdefs.condition.Os
buildscript {

ext {
buildToolsVersion = "35.0.0"
buildToolsVersion = "36.0.0"
minSdkVersion = 26
compileSdkVersion = 35
targetSdkVersion = 35
compileSdkVersion = 36
targetSdkVersion = 36
ndkVersion = "27.1.12297006"
kotlin_version = "2.1.20"
kotlinVersion = "2.1.20"
Expand Down
4 changes: 4 additions & 0 deletions android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
# are providing them.
newArchEnabled=false

# Use this property to enable or disable edge-to-edge display.
# Mandatory on Android 16 (API 36), opt-in on older versions.
edgeToEdgeEnabled=false

# Use this property to enable or disable the Hermes JS engine.
# If set to false, you will be using JSC instead.
hermesEnabled=true
Expand Down
2 changes: 1 addition & 1 deletion android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
2 changes: 2 additions & 0 deletions ios/ImageNotification/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,7 @@
<key>NSExtensionPrincipalClass</key>
<string>NotificationService</string>
</dict>
<key>RCTNewArchEnabled</key>
<false/>
</dict>
</plist>
2 changes: 0 additions & 2 deletions ios/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,6 @@ target 'Rainbow' do
use_react_native!(
privacy_file_aggregation_enabled: false,
:path => config[:reactNativePath],
# to enable hermes on iOS, change `false` to `true` and then install pods
:hermes_enabled => ENV['USE_HERMES'] != 'NO',
:new_arch_enabled => false,
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/.."
Expand Down
Loading
Loading