- Add config.py with multi-source config (YAML, .env, env vars)
- Add .env.example and config.yaml.example
- Add settings API endpoints (GET/POST /api/v1/settings)
- Add status endpoint (GET /api/v1/status) with hardware subsystem check
- Add settings screen to web client (protected by API token)
- Add localization strings for settings UI
- Add tests for config module and new endpoints
- Update README with config documentation
- gradlew (executable shell script)
- gradle/wrapper/gradle-wrapper.jar
- gradle/wrapper/gradle-wrapper.properties (Gradle 8.5)
- Fixes 'gradlew: No such file or directory' error in CI
- Replaced egor-tensin/setup-wine with manual Wine installation
- Uses WineHQ repo for winehq-stable on Ubuntu
- Should work with Gitea's action registry
- build-exe.yml: publishes PaperDash.exe to rolling-draft release
- build-apk.yml: publishes app-debug.apk to android-rolling-draft release
- Both use ncipollo/release-action with draft:true and allowUpdates
- build-exe.yml: Python server → PyInstaller → PaperDash.exe (windows-latest)
- build-apk.yml: Android project → Gradle → app-debug.apk (ubuntu-latest)
- Both trigger on push/PR to main when relevant paths change
- FastAPI server with audio mixer (Windows + Voicemeeter), media tracking,
notifications (progress + alerts), telemetry, and system tray .exe build
- Test suite covering notifications, audio mixer, media, telemetry, and API
- E-Ink web client (vanilla JS, DOM API, block meters, swipe gestures)
- Android WebView APK for BOOX Go 7 Color Gen II (Android 13, Kotlin)
- Design decision records in .pi/docs/design/
- PyInstaller build script for server .exe