Local-only app: remove network, uploads, providers, backend, desktop

Phone is now a pure on-device recorder: no accounts, no servers, no
background uploads (INTERNET permission gone). File sync is the user's
own tooling; the library adopts externally added files.

Android:
- Delete provider package (Nextcloud, custom SHONAR, sync-folder,
  registry, auth, TOFU/TLS), sync stack (SyncWorker/Drain/Slots,
  MigrationRunner), provider/storage/folder UI, AI-via-server details.
- Home shows a fixed 'on this phone' library; details keep playback,
  rename, file info. Settings lose Network/provider/HTTP-logging.
- Library root is the stored folder or Music/Recordings; import is
  double-scan proof (mutex + unique filePath index, migration v3->v4
  dedupes by path) with regression tests.
- Drop okhttp/work/security-crypto/media deps; delete their tests.

Repo: backend/, desktop/, worker/, deploy/, shared/, server scripts
and docs removed; README rewritten; CI keeps the android job only.
This commit is contained in:
avi 2026-09-14 11:56:20 -05:00
commit 8c510f4ab9
154 changed files with 196 additions and 23570 deletions

View file

@ -61,15 +61,8 @@ dependencies {
// persistence
implementation("androidx.datastore:datastore-preferences:1.1.1")
// keystore-backed secrets (server provider credentials)
implementation("androidx.security:security-crypto:1.1.0-alpha06")
// networking (server provider APIs over HTTPS)
implementation("com.squareup.okhttp3:okhttp:4.12.0")
// background sync driver (M5)
implementation("androidx.work:work-runtime-ktx:2.9.0")
// MediaStyle pill buttons in the recording notification (system-rendered).
implementation("androidx.media:media:1.7.0")
// background work (none — local-only app keeps no workers)
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0")
@ -80,10 +73,6 @@ dependencies {
// dispatcher or provider JSON parsing under test.
testImplementation("org.json:json:20240303")
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0")
testImplementation("com.squareup.okhttp3:mockwebserver:4.12.0")
// In-test certificate authority for the P5 TOFU tests (self-signed
// fixtures generated at runtime, no checked-in keys).
testImplementation("com.squareup.okhttp3:okhttp-tls:4.12.0")
testImplementation("androidx.room:room-testing:2.6.1")
androidTestImplementation(composeBom)
}