EnhancementQueueWorker is a placeholder — no Hilt DI, no actual processing #133

Closed
opened 2026-08-13 02:57:24 +00:00 by Mark · 0 comments
Owner

EnhancementQueueWorker (app/src/main/java/com/voicetranscriber/service/EnhancementQueueWorker.kt) is a CoroutineWorker with a TODO body:

override suspend fun doWork(): Result = withContext(Dispatchers.IO) {
    Log.i(TAG, "EnhancementQueueWorker running — placeholder implementation")
    // TODO: Inject EnhancementJobRepository and process pending jobs
    // when WorkManager + Hilt integration is set up.
    Result.success()
}

What works

  • The EnhancementJob entity, DAO, and repository are fully functional
  • The queue data model exists (EnhancementJob table with sessionId, jobType, status, etc.)

What is missing

  1. No Hilt DI wiring — the worker doesn't have HiltWorker or AssistedInject, so it can't access any repository
  2. No actual processing — the body is a no-op stubbed with a TODO
  3. No WorkManager configuration — the worker is never enqueued by any component

Impact

Cloud features (diarization, topic extraction, summarization, title generation) that are skipped because the device was offline are never re-processed when the device comes back online. The isOffline check in DiarizationProvider.diarizeSession() correctly returns null when offline, but the EnhancementQueueWorker that should retry those jobs is non-functional.

Acceptance

  1. Wire Hilt DI so the worker can access repositories
  2. Read pending EnhancementJob entries from the database
  3. Dispatch each job to the appropriate cloud service (diarization -> DiarizationProvider, topic extraction -> LLM, etc.)
  4. Mark jobs as completed or failed
  5. Register the worker with WorkManager for execution when connectivity is restored
`EnhancementQueueWorker` (app/src/main/java/com/voicetranscriber/service/EnhancementQueueWorker.kt) is a CoroutineWorker with a TODO body: ```kotlin override suspend fun doWork(): Result = withContext(Dispatchers.IO) { Log.i(TAG, "EnhancementQueueWorker running — placeholder implementation") // TODO: Inject EnhancementJobRepository and process pending jobs // when WorkManager + Hilt integration is set up. Result.success() } ``` ## What works - The `EnhancementJob` entity, DAO, and repository are fully functional - The queue data model exists (`EnhancementJob` table with sessionId, jobType, status, etc.) ## What is missing 1. **No Hilt DI wiring** — the worker doesn't have HiltWorker or AssistedInject, so it can't access any repository 2. **No actual processing** — the body is a no-op stubbed with a TODO 3. **No WorkManager configuration** — the worker is never enqueued by any component ## Impact Cloud features (diarization, topic extraction, summarization, title generation) that are skipped because the device was offline are never re-processed when the device comes back online. The `isOffline` check in `DiarizationProvider.diarizeSession()` correctly returns null when offline, but the EnhancementQueueWorker that should retry those jobs is non-functional. ## Acceptance 1. Wire Hilt DI so the worker can access repositories 2. Read pending `EnhancementJob` entries from the database 3. Dispatch each job to the appropriate cloud service (diarization -> DiarizationProvider, topic extraction -> LLM, etc.) 4. Mark jobs as completed or failed 5. Register the worker with WorkManager for execution when connectivity is restored
Mark closed this issue 2026-08-13 02:57:24 +00:00
Sign in to join this conversation.
No description provided.