- Update build.gradle with signingConfigs for release builds
- Enable minification and resource shrinking for release
- Add keystore.properties.example template
- Update .gitignore to exclude keystore and credentials
https://claude.ai/code/session_01WzGEr7t8hWFyiANo22iokS
- Update capacitor.config.ts to support live reload via environment variables
(CAPACITOR_LIVE_RELOAD and CAPACITOR_SERVER_URL)
- Add script/capacitor-live-reload.ts to auto-detect local IP and configure sync
- Add script/capacitor-production.ts to revert to production bundled assets
- Add npm scripts: cap:live-reload, cap:production, dev:mobile
- Update vite.config.ts to use appropriate HMR settings for local vs cloud dev
https://claude.ai/code/session_01WzGEr7t8hWFyiANo22iokS
The battery level and charging event listeners were added but never
cleaned up when the component unmounts. This caused memory leaks as
anonymous functions couldn't be removed.
Fix:
- Store handler references in variables
- Properly cleanup event listeners in useEffect return function
- Prevents memory leaks on component unmount/remount cycles
- Create FLOWS.md with complete inventory of all 16 flows in codebase
- Mark 5 complete, 7 partial, and 4 not started flows
- Add [UNFINISHED FLOW] TODO markers to affected files:
- wine-launcher.sh: VM launcher not implemented
- execute.ts: Non-JS/TS language support missing
- app-registry.ts: Stub implementation only
- OAUTH_IMPLEMENTATION.md: Unlink endpoint needed
- DEPLOYMENT_STATUS.md: Railway deployment pending
- Add FLOWS.md reference to PROJECT_RUNDOWN.md
Expanded the security policy to include detailed sections on purpose, organizational boundaries, reporting vulnerabilities, severity assessment, response timelines, disclosure policy, bug bounty, security best practices, and safe harbor.
Expanded the security policy to include detailed sections on purpose, organizational boundaries, reporting vulnerabilities, severity assessment, response timelines, disclosure policy, bug bounty, security best practices, and safe harbor.