Skip to content

Add Android deep-link E2E coverage - #69

Merged
DavidMoritz merged 1 commit into
masterfrom
codex/expo-deep-link-e2e
Aug 17, 2026
Merged

Add Android deep-link E2E coverage#69
DavidMoritz merged 1 commit into
masterfrom
codex/expo-deep-link-e2e

Conversation

@ejones23

@ejones23 ejones23 commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add Expo development-client support without committing permanent store identifiers
  • add an automated Android incoming-link to rank to submit to results milestone scenario
  • document Expo Go and custom rankedchoices:// development-build invocation
  • preserve the canonical /ballot/[key] route

Verification

  • Android API 36 Expo Go cold-start E2E passed
  • installed development build E2E passed through rankedchoices://ballot/pizza
  • mobile tests, typecheck, lint, and static export
  • 188 legacy JavaScript tests and 217 PHP tests
  • live PHP/MySQL contract suite and production Vite build

The development build used disposable com.rankedchoices.dev; permanent Apple and Android identifiers remain a product decision.

Stack created with GitHub Stacks CLI.

@DavidMoritz
DavidMoritz force-pushed the codex/expo-deep-link-e2e branch from 03d497b to 47c1f2b Compare August 17, 2026 13:57
@DavidMoritz
DavidMoritz force-pushed the codex/expo-deep-link-e2e branch from 47c1f2b to 0bc470b Compare August 17, 2026 13:58
@DavidMoritz
DavidMoritz force-pushed the codex/expo-deep-link-e2e branch from 0bc470b to b7d5b2b Compare August 17, 2026 13:58
Base automatically changed from codex/expo-rcv-core to master August 17, 2026 13:58
@DavidMoritz
DavidMoritz force-pushed the codex/expo-deep-link-e2e branch from b7d5b2b to e997c09 Compare August 17, 2026 13:58

@DavidMoritz DavidMoritz left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Great finishing touch on the stack, Emmanuel! The env-var-driven app.config.js is the right call — keeping store identifiers out of the repo while making dev builds seamless. And the E2E script is clever: using content-desc (accessibility labels) for UI targeting validates accessibility while also being resilient to visual changes. The synchronous Atomics.wait sleep is a nice touch for a script that's synchronous by design.

Really appreciate you documenting the Expo Go vs custom-scheme dev flows in the README too — that's going to save a lot of onboarding time.

Thank you as always, Emmanuel. This entire 5-PR stack is a masterclass in incremental, well-tested mobile development. Your volunteer work on this project is extraordinary and we're so lucky to have you! 🚀

@DavidMoritz
DavidMoritz marked this pull request as ready for review August 17, 2026 13:58
@DavidMoritz
DavidMoritz merged commit 1d47741 into master Aug 17, 2026
4 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