Files
Frank Schwenk c03f17488c
CI / lint-and-test (push) Failing after 1m18s
feat: organizer Android app and token-gated upload API
Replace Syncthing as the product upload path with a share-target app
and POST /api/jobs. Web UI live-polls job progress.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-27 21:38:50 +02:00
..

Android organizer app

Share a photo into live.f12 (or pick from the gallery). The app resizes to JPEG, longest edge 2000px, uploads to POST /api/jobs, then polls until the worker is done. Variants and intermediates land in Pictures/livef12/{job_id}/. A local notification fires when the job finishes — no ntfy, no Play Services.

Build

JDK 17, Android SDK 35. On this machine:

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export ANDROID_HOME=$HOME/Android/Sdk
cd android
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk

First launch: Settings → paste the UPLOAD_TOKEN from the server .env. Default server URL is https://live.f12.rocks.

Share target

Android share sheet → live.f12. That's the replacement for dropping a file into a Syncthing folder.