feat: native sign in flow#3
Merged
sumit-narang merged 15 commits intoMar 18, 2026
Merged
Conversation
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
cbdf68c to
46495ed
Compare
- 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
Contributor
Author
|
finally ci passed @sumit-narang |
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.
Files added: