Ship Android app by wrapping the web build with Capacitor (#20) #28

Merged
westfarn merged 3 commits from ship-android-capacitor-20 into master 2026-07-26 17:12:49 -07:00
Owner

Summary

  • Closes Ship Android app by wrapping the web build with Capacitor (#20)
  • Add Capacitor 7 to llm-fe/ (capacitor.config.ts, appId com.aimloperations.chat, webDir: build) and commit the generated android/ project
  • npm scripts: build:mobile (.env.mobile + CRA build + cap sync), android:open, android:sync, assets:generate
  • .env.mobile defaults to prod backend; override independently of web deploys
  • Native chrome: Android back button (history / exit at root), status bar + keyboard resize, safe-area CSS; Preferences registered for JWT mirror (#22)
  • Icons/splash via @capacitor/assets; signing via optional keystore.properties; docs in llm-fe/ANDROID.md + root README

Blockers #22 / #23 / #24 already on master.

Test plan

  • npm run test:ci (79 tests)
  • npm run build + npx cap add android / cap sync
  • npm run build:mobile + open in Android Studio on a machine with SDK
  • Emulator/device QA: login, chat stream, theme, back button, keyboard/safe-area, WS resume
  • Generate upload keystore outside repo; ./gradlew bundleRelease for internal testing track
## Summary - Closes #20 - Add Capacitor 7 to `llm-fe/` (`capacitor.config.ts`, appId `com.aimloperations.chat`, `webDir: build`) and commit the generated `android/` project - npm scripts: `build:mobile` (`.env.mobile` + CRA build + `cap sync`), `android:open`, `android:sync`, `assets:generate` - `.env.mobile` defaults to prod backend; override independently of web deploys - Native chrome: Android back button (history / exit at root), status bar + keyboard resize, safe-area CSS; Preferences registered for JWT mirror (#22) - Icons/splash via `@capacitor/assets`; signing via optional `keystore.properties`; docs in `llm-fe/ANDROID.md` + root README Blockers #22 / #23 / #24 already on master. ## Test plan - [x] `npm run test:ci` (79 tests) - [x] `npm run build` + `npx cap add android` / `cap sync` - [ ] `npm run build:mobile` + open in Android Studio on a machine with SDK - [ ] Emulator/device QA: login, chat stream, theme, back button, keyboard/safe-area, WS resume - [ ] Generate upload keystore outside repo; `./gradlew bundleRelease` for internal testing track
westfarn added 3 commits 2026-07-26 17:12:22 -07:00
Add Capacitor 7 scaffolding (config, android/, npm scripts, .env.mobile),
native back-button/safe-area chrome, icons/splash, and signing docs so
llm-fe ships one codebase to web and Android.
Document sync, debug/release Gradle builds, signing, and internal-testing
upload so the native project folder is self-contained for release work.
Rename Android shell display name to Hesychia (#29)
Unit Tests / test (pull_request) Successful in 15s
52cc2428ec
Capacitor appName and Android string resources (plus docs) now show Hesychia
so the mobile shell matches the product rebrand when this wrap lands.
westfarn force-pushed ship-android-capacitor-20 from b5d3154d20 to 52cc2428ec 2026-07-26 17:12:22 -07:00 Compare
westfarn merged commit a4a28ef13e into master 2026-07-26 17:12:49 -07:00
westfarn deleted branch ship-android-capacitor-20 2026-07-26 17:12:49 -07:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ai_ml_operations/chat_web_app#28