Skip to content

Add read-only Expo ballot spike - #62

Merged
DavidMoritz merged 2 commits into
codex/expo-mobile-scaffoldfrom
codex/expo-readonly-ballot
Aug 9, 2026
Merged

Add read-only Expo ballot spike#62
DavidMoritz merged 2 commits into
codex/expo-mobile-scaffoldfrom
codex/expo-readonly-ballot

Conversation

@ejones23

@ejones23 ejones23 commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Top layer of native stacked PR #64; depends on #61. Adds a typed compatibility adapter for get-candidates.php, runtime normalization of legacy PDO values, stable error codes, API base URL configuration, six adapter tests, and a read-only ballot detail screen with loading, retry, closed, missing, malformed-response, and network states. No vote submission, authentication, API endpoint, database, or deployment changes. Checks: 8 mobile tests, TypeScript, Expo lint/export, 188 legacy Vitest tests, 205 PHPUnit tests, and the legacy production build.

@ejones23
ejones23 force-pushed the codex/expo-readonly-ballot branch from 98f7a09 to 76a39dd Compare August 8, 2026 20:51
@ejones23
ejones23 marked this pull request as ready for review August 8, 2026 20: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.

The typed adapter layer is really well done — love how you handled all the PDO string quirks and the plain-text error responses from the PHP side. The discriminated union for load states and the AbortController cleanup show a lot of care. This is exactly the kind of compatibility seam that's going to make the migration smooth. Great work!

@DavidMoritz
DavidMoritz force-pushed the codex/expo-readonly-ballot branch from 76a39dd to 1801d8b Compare August 9, 2026 00:10
@DavidMoritz
DavidMoritz merged commit cc36d98 into master Aug 9, 2026
6 checks passed
@ejones23
ejones23 deleted the codex/expo-readonly-ballot branch August 9, 2026 14:05
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