launch: pre-flight accuracy pass on Show HN + Reddit copy

Fixed claims a technical audience would catch:
- Android build is Gradle (assembleRelease/bundleRelease), NOT EAS — EAS is only in
  the unshipped iOS workflow. Changed 'GitHub Actions + EAS' -> 'GitHub Actions (Gradle)'.
- App is Android-only: dropped 'iOS Keychain', kept 'Android Keystore'.
- Diff viewer renders into native views (ScrollView), not a FlatList.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
engineer
2026-06-08 09:15:59 -07:00
parent 92a022cfd1
commit 8c75007ee5
2 changed files with 4 additions and 4 deletions

View File

@@ -20,11 +20,11 @@ opencode is a CLI tool that runs an AI coding agent (Claude, GPT-4, Gemini — y
The interesting engineering bits:
- SSE streaming over `EventSource` polyfill (React Native has no native EventSource — the web polyfill works but needs patching for Android's OkHttp redirect behavior)
- Diff viewer is a custom line-level parser rendering into a FlatList, not a WebView — keeps it snappy and allows proper dark-mode theming
- Diff viewer is a custom line-level parser rendering into native views, not a WebView — keeps it snappy and allows proper dark-mode theming
- Tool call approval is a bottom sheet that interrupts the stream and waits for user input before the agent proceeds
- Biometric auth (`expo-local-authentication`) gates both app open and individual message sends
- Credentials in Android Keystore via `expo-secure-store`
- Built with Expo SDK 54, TypeScript, signed AAB on every tag via GitHub Actions + EAS
- Built with Expo SDK 54, TypeScript, signed APK + AAB on every tag via GitHub Actions (Gradle)
**Stack:** React Native / Expo, TypeScript, React Query for server state, Zustand for local state, Sentry for crash reporting (opt-in, off by default).