Skip to content

E2E Blockers ​

Known blockers that need to be resolved before E2E tests can run reliably on self-hosted or GHA infrastructure.

OS Versions Out of Date ​

Both iOS and Android OS versions used in the test suite are out of date. Newer OS versions include permission changes that cause the current test suite to fail. Needs updating before any new infrastructure can be fully validated.

Screen Size Constraints ​

Tests were written against specific screen dimensions and don't accommodate multiple sizes. BrowserStack was specifically configured to use large flagship devices, which is impractical for both self-hosted and GHA-hosted E2E where rendering overhead directly affects CPU and memory pressure and load times become a bottleneck. Tests need to work against a defined, smaller device profile before launching these PR E2E tests.

Parallel Runs Stealing Jobs ​

Tests query for existing jobs from a shared staging environment. If multiple test runs execute in parallel across PRs or CI jobs, they can pick up the same job. One run allocates it first, leaving the other with missing or corrupted state mid-test. The fix is to create jobs specifically for each test run and use only those jobs, eliminating any chance of contention.

Admin User Creation ​

All E2E tests require an admin user to make API requests that set up backend state before each test. On the Mac Mini, admin users were hard-coded per runner. On GHA hosted runners each job gets a fresh emulator with no persistent state between runs, so admin users can't be pre-provisioned. A dynamic creation step needs to be added to the GHA workflow.

Example of how playwright handles it - https://github.com/zuno-tech/mono-playwright/blob/main/globalSetUp/globalSetup.js