Skip to content

fix(aws): defer Android app launch until open - #2512

Open
dennisimoo wants to merge 1 commit into
callstack:mainfrom
dennisimoo:fix/aws-device-farm-deferred-app-launch
Open

fix(aws): defer Android app launch until open#2512
dennisimoo wants to merge 1 commit into
callstack:mainfrom
dennisimoo:fix/aws-device-farm-deferred-app-launch

Conversation

@dennisimoo

Copy link
Copy Markdown

Summary

AWS Device Farm Android sessions now create Appium with appium:autoLaunch=false by default. The existing open lifecycle still activates the requested package after allocation, but first-run system activities can no longer make WebDriver session creation fail before agent-device gains control.

This changes 2 files (+15/-1). Other providers and iOS behavior are unchanged; explicit internal capability overrides still win.

Validation

Tested commit fdab96c27afe40bcd5432ed110ffc6353aee4686:

  • pnpm check:affected --run — all runnable checks passed
  • 102 related test files / 588 tests passed
  • Regression test failed before the implementation (autoLaunch was undefined) and passes after it

GitHub remains authoritative for the listed live/device lanes.

Copilot AI lite review requested due to automatic review settings September 12, 2026 08:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

Add a regression test verifying that an explicit appium:autoLaunch: true override wins.

Pull request overview

Updates AWS Device Farm Android sessions to defer app launch until open.

Changes:

  • Sets Android appium:autoLaunch to false.
  • Preserves explicit capability overrides.
  • Adds regression coverage.
File summaries
File Summary
packages/provider-webdriver/src/aws-device-farm.ts Applies the Android deferred-launch default.
packages/provider-webdriver/src/aws-device-farm.test.ts Tests the default behavior; add coverage confirming explicit true overrides remain effective.
Review details

Suppressed comments (1)

packages/provider-webdriver/src/aws-device-farm.test.ts:138

  • This regression test only exercises the default path. The merge order on lines 248–250 is the part that guarantees an explicitly configured appium:autoLaunch value still wins, so add a case that passes webdriverCapabilities: { 'appium:autoLaunch': true } and asserts true; otherwise a future change that reverses the spreads would silently break the documented override behavior.
  assert.equal(prepared.webdriverCapabilities['appium:autoLaunch'], false);
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@thymikee

Copy link
Copy Markdown
Member

No code findings at fdab96c. The Android default reaches WebDriver session creation, explicit overrides still win, and open retains the later app activation. Before this is ready, please provide a live AWS Android run that allocates a session with autoLaunch=false, opens the requested package successfully, and cleans up the session; the capability-construction test does not prove that provider lifecycle. There are no conflicts, and GitHub currently reports no checks for this head.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants