Skip to content

Commit fc94615

Browse files
abueideclaude
andcommitted
fix(rn): remove stale adb reverse rules before setting new ones
The Metro connection issue was caused by stale port forwarding rules from previous test runs. When an emulator persists between runs (dev mode), old adb reverse rules stay active and conflict with new Metro ports. Solution: - Remove existing tcp:8081 reverse before setting new one - Verify the reverse is active with `adb reverse --list` - This ensures clean state for each test run Fixes the "Unable to load script" error that occurred when: 1. Metro allocated port 8091 (or any non-8081 port) 2. Old reverse rule forwarded 8081 -> old Metro port (or didn't exist) 3. App tried to connect to localhost:8081 and failed Note: adb reverse is NOT a long-lived process - it sets up forwarding in the adb daemon and exits. The forwarding persists until removed or the emulator is stopped. Changes: - test-suite-android-e2e.yaml: Remove old reverse, verify new one - test-suite-all-e2e.yaml: Remove old reverse, verify new one - Updated device lock files from test runs Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent b505edd commit fc94615

5 files changed

Lines changed: 21 additions & 3 deletions

File tree

examples/android/devbox.d/android/devices/devices.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@
1414
}
1515
],
1616
"checksum": "8df4d3393b61fbbb08e45cf8762f95c521316938e514527916e4fce88a849d57",
17-
"generated_at": "2026-02-20T01:54:46Z"
17+
"generated_at": "2026-02-20T03:14:41Z"
1818
}

examples/react-native/devbox.d/android/devices/devices.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@
1414
}
1515
],
1616
"checksum": "8df4d3393b61fbbb08e45cf8762f95c521316938e514527916e4fce88a849d57",
17-
"generated_at": "2026-02-20T03:07:47Z"
17+
"generated_at": "2026-02-20T03:16:58Z"
1818
}

examples/react-native/devbox.d/ios/devices/devices.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@
1010
}
1111
],
1212
"checksum": "4d5276f203d7ad62860bfc067f76194df53be449d4aa8a3b2d069855ec1f3232",
13-
"generated_at": "2026-02-20T03:07:49Z"
13+
"generated_at": "2026-02-20T03:16:59Z"
1414
}

examples/react-native/tests/test-suite-all-e2e.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,17 @@ processes:
238238
fi
239239
240240
echo "Setting up Metro port forwarding: 8081 -> $METRO_PORT (serial: $serial)"
241+
242+
# Remove any existing reverse on port 8081
243+
adb -s "$serial" reverse --remove tcp:8081 2>/dev/null || true
244+
245+
# Set up new reverse
241246
adb -s "$serial" reverse tcp:8081 tcp:$METRO_PORT
242247
248+
# Verify reverse is active
249+
echo "Verifying port forwarding..."
250+
adb -s "$serial" reverse --list
251+
243252
# Deploy using android.sh (APK already built by build-android)
244253
android.sh deploy
245254
depends_on:

examples/react-native/tests/test-suite-android-e2e.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,17 @@ processes:
136136
fi
137137
138138
echo "Setting up Metro port forwarding: 8081 -> $METRO_PORT (serial: $serial)"
139+
140+
# Remove any existing reverse on port 8081
141+
adb -s "$serial" reverse --remove tcp:8081 2>/dev/null || true
142+
143+
# Set up new reverse
139144
adb -s "$serial" reverse tcp:8081 tcp:$METRO_PORT
140145
146+
# Verify reverse is active
147+
echo "Verifying port forwarding..."
148+
adb -s "$serial" reverse --list
149+
141150
# Deploy using android.sh (APK already built by build-android)
142151
android.sh deploy
143152
depends_on:

0 commit comments

Comments
 (0)