Unit Tests / test (push) Successful in 11s
## 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 trackReviewed-on: #28
28 lines
653 B
TypeScript
28 lines
653 B
TypeScript
import type { CapacitorConfig } from '@capacitor/cli';
|
|
|
|
const config: CapacitorConfig = {
|
|
appId: 'com.aimloperations.chat',
|
|
appName: 'Hesychia',
|
|
webDir: 'build',
|
|
server: {
|
|
// Bundled assets; HashRouter (#24) handles deep links without a rewrite server.
|
|
androidScheme: 'https',
|
|
},
|
|
android: {
|
|
allowMixedContent: false,
|
|
},
|
|
plugins: {
|
|
SplashScreen: {
|
|
launchAutoHide: true,
|
|
backgroundColor: '#0f172a',
|
|
showSpinner: false,
|
|
},
|
|
Keyboard: {
|
|
// StatusBar does not overlay the WebView; keep resizeOnFullScreen for notch devices.
|
|
resizeOnFullScreen: true,
|
|
},
|
|
},
|
|
};
|
|
|
|
export default config;
|