Repository navigation
Conversation
|
@l2hyunwoo is attempting to deploy a commit to the Callstack Team on Vercel. A member of the Team first needs to authorize it. |
This branch has not been deployed
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
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.
What is this?
Android app launches now restore missing
adb reversemappings before starting the app. If forwarding disappears between test files, Harness can reconnect to Metro instead of exhausting all three launch attempts while Metro remains healthy on the host.Fixes #210.
How does it work?
The existing forwarding setup is shared by platform initialization and each emulator or physical-device app session. After stopping the previous app process, Harness restores the configured Metro port and the existing 8080 mapping before launching the app. A forwarding error prevents that launch and propagates to the caller.
This applies to both process resets between files and startup retries. Timeout settings and test isolation stay unchanged. It does not address commands interrupted while the ADB server itself is shutting down.
Testing
Four regression tests cover both Android device factories: restoring lost mappings across successive sessions with a custom Metro port, and rejecting a launch when forwarding fails. All four fail on the original implementation and pass with this change; all 19 instance tests pass.
pnpm build:all,pnpm lint:all,pnpm test:all,pnpm typecheck:all, andpnpm exec nx release plan:check --base=upstream/mainpass. The repository's docs typecheck target is disabled by its existing configuration.The issue's emulator recordings and logs show the same two trivial tests on API 35 arm64: removing Metro forwarding after the first passing file causes a startup failure without the patch; with the patch, both files pass. The built Android implementation in this PR matches that validated implementation except for comments. Physical-device behavior is covered by unit tests, not a device run.
Why is this useful?
Local Android test runs recover from lost forwarding on the next app launch without increasing startup timeouts or disabling process resets. A patch version plan is included.