Closes #153. - Capacitor v7 scaffold producing a sideloadable debug APK from dist/web/ - .github/workflows/build-android.yml — workflow_dispatch only; soft dependency on forgejo-stack/job-android via use_prebaked_image input (fast path ~3-5 min, fallback installs JDK + Android SDK at runtime) - Privacy hardening: allowBackup=false, FileProvider removed, Google Services plugin reference removed, usesCleartextTraffic=false, dataExtractionRules deny-all - INTERNET permission documented in docs/PRIVACY_GAPS.md (Capacitor requires it; CSP connect-src 'self' enforces no traffic) - Branded launcher icons + splash regenerated from .resources/icon.png - docs/android-apk.md updated with Q1-Q5 decisions + CI section - docs/PRIVACY_GAPS.md updated with Android <=9 Downloads/ world-readable gap - Plan: docs/superpowers/plans/2026-05-17-android-apk-and-ci.md Q1-Q5 decisions: - Q1 file output: accept Downloads/ (documented privacy gap on Android <=9) - Q2 back button: Capacitor default (close on root) - Q3 android/ placement: master - Q4 CI: in scope, workflow_dispatch only - Q5 min API: 23 (Capacitor 7 default) Review rounds 1 and 2 closed all P0 + P1 findings. Three P2 polish items split to follow-ups.
12 lines
231 B
TypeScript
12 lines
231 B
TypeScript
import type { CapacitorConfig } from "@capacitor/cli";
|
|
|
|
const config: CapacitorConfig = {
|
|
appId: "com.metascrub.app",
|
|
appName: "MetaScrub",
|
|
webDir: "dist/web",
|
|
server: {
|
|
androidScheme: "https",
|
|
},
|
|
};
|
|
|
|
export default config;
|