Skip to content

feat: native sign in flow#3

Merged
sumit-narang merged 15 commits into
sumit-narang:masterfrom
shakdwipeea:feat/preferences-end-to-end
Mar 18, 2026
Merged

feat: native sign in flow#3
sumit-narang merged 15 commits into
sumit-narang:masterfrom
shakdwipeea:feat/preferences-end-to-end

Conversation

@shakdwipeea

Copy link
Copy Markdown
Contributor
  • Add Dockerfile for containerized builds and fly.toml for Fly.io deployment.
  • Update environment examples with required vars for Docker deployment.
  • Update mobile AuthContext with improved error handling and async storage.
  • Update AGENTS.md and building.md with deployment instructions.

Files added:

  • Dockerfile: Multi-stage build for mobile app
  • fly.toml: Fly.io app configuration

@shakdwipeea shakdwipeea changed the title feat: add Docker and deployment configuration feat: native sign in flow Feb 23, 2026
Add Dockerfile for containerized builds and fly.toml for Fly.io deployment.
Update environment examples with required vars for Docker deployment.
Update mobile AuthContext with improved error handling and async storage.
Update AGENTS.md and building.md with deployment instructions.

Files added:
- Dockerfile: Multi-stage build for mobile app
- fly.toml: Fly.io app configuration
…harding

Replace maestro CLI with maestro-runner to enable parallel test execution
and improved reliability. Add CI workflow matrix with 4 shards distributing
8 P0 flows across separate jobs to reduce total runtime.

Update all test flows with extended wait conditions and scroll actions for
stability in CI environments. Assign unique e2e test users (A through H)
to each flow to ensure test isolation and prevent cross-test data conflicts.

Add deep linking bookmarks:// scheme support and disable automatic sync
during e2e mode to prevent race conditions. Implement retry logic in
diagnostics screen snapshot loading.

Update mobileE2eAndroid.sh script with auto-emulator start, parallel
worker scaling (capped at 4 for local stability), and proper artifact
handling per shard.
- Add multiple fallback locations for maestro-runner binary
- Check PATH first, then ~/.maestro-runner/bin, then ~/.local/bin
- Exit with error if binary not found after installation
- Remove redundant command existence check before version output
Ensure the shell script in mobile-e2e-android.yml explicitly specifies
bash as the interpreter for proper script execution.
Fix shell incompatibility by explicitly invoking bash via heredoc.
This ensures -o pipefail works on ubuntu-latest runners.
Move the inline bash script from the workflow YAML into a separate
scripts/mobileE2eAndroidShard.sh file. This improves maintainability
by allowing the script to be versioned independently and reused
outside the CI context.

Update workflow triggers to include the new script file.
Change the Android emulator profile from pixel_7 to pixel_5 and allocate 4096MB of memory to improve test stability and performance in the CI environment.
Increase emulator memory from 4GB to 6GB to prevent out-of-memory
issues during test execution. Add explicit checks to restart the adb
server and wait for `sys.boot_completed` property to ensure the
emulator is fully initialized before attempting reverse proxy and
test commands.
- route android e2e flows to diagnostics via deep link before startup assertions
- wait for e2e-diagnostics-action-refresh instead of tab-map visibility
- align capture-diagnostics helper with the same readiness probe
- suppress logbox overlays when EXPO_PUBLIC_BOOKMARKS_E2E_MODE=1
- verify with npm run typecheck and npm test
- add e2e-home-root test id on HomeScreen root container
- wait for e2e-home-root after every launchApp in android maestro flows
- deep-link to diagnostics only after home screen readiness is confirmed
- keep diagnostics readiness wait on e2e-diagnostics-action-refresh before actions
- update capture-diagnostics helper to follow the same launch readiness sequence
- add non-collapsable e2e-home-root marker on HomeScreen for reliable selector lookup
- dismiss transient system anr popup in maestro flows with optional wait-button tap after launch
- avoid adb restart races in shard script and wait for healthy device state before boot checks
- disable crash/anr system dialogs via adb global settings during e2e setup
- run emulator with no snapshot load/save to reduce stale launcher snapshot instability
- tap Close app optionally after launchApp to terminate stuck Pixel Launcher process
- keep Wait fallback tap for transient launcher anr dialogs
- apply launcher-anr dismissal sequence across all android p0 flows and diagnostics helper
- set anr/crash suppression flags in secure settings as well as global in shard setup
- preserve existing e2e startup ordering and diagnostics deep-link readiness checks
Handle diagnostics deep-link actions for deterministic e2e operations and switch the shard-3 preferences flow to trigger theme mutation via deep link instead of scrolling to a UI button.
- enable diagnostics route registration in debug and e2e builds
- filter linking prefixes to avoid malformed deep-link matching
- persist diagnostics theme updates via preferences storage to avoid runtime reference errors
- add a second diagnostics deep-link open in shard-3 and shard-4 flows for deterministic routing
- verify shard 3 and shard 4 maestro runs pass locally
@shakdwipeea shakdwipeea force-pushed the feat/preferences-end-to-end branch from cbdf68c to 46495ed Compare March 4, 2026 08:51
- move diagnostics theme persistence into apps/mobile/data/diagnostics.ts using shared preferences repository APIs
- remove DiagnosticsScreen dependency on missing data/preferencesStorage module to fix Metro bundling
- include preferences snapshot fields in diagnostics payload for hexagon theme assertions
- keep diagnostics route actions and buttons wired to setDiagnosticsHexagonTheme
- rerun local checks: typecheck, tests, and all android e2e shards passing
@shakdwipeea

Copy link
Copy Markdown
Contributor Author

finally ci passed @sumit-narang

@sumit-narang sumit-narang merged commit 020b74b into sumit-narang:master Mar 18, 2026
5 checks passed
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.

2 participants