diff --git a/app/src/main/kotlin/com/shonar/desktop/DesktopState.kt b/app/src/main/kotlin/com/shonar/desktop/DesktopState.kt index 5419b8f..6898eba 100644 --- a/app/src/main/kotlin/com/shonar/desktop/DesktopState.kt +++ b/app/src/main/kotlin/com/shonar/desktop/DesktopState.kt @@ -1527,19 +1527,23 @@ class DesktopState(private val appDir: File = defaultAppDir()) { d0.remoteId = null d0.busy = null d0.error = "That server recording no longer exists — press Transcribe to upload again." + _detail.value = d0.copy() + return@launch } else if (it is ProviderError.Transient && it.message?.contains("already running") == true) { // The engine already works this stage (earlier click, // auto-queue, or a job that survived an app restart): - // that IS the work the user asked for — attach to it - // and show live progress instead of an error. + // that IS the work the user asked for — fall through to + // the poll loop below and show its live progress. + // (Returning here used to strand the initial + // "Summarizing… 0%" label on screen forever.) d0.error = null } else { d0.busy = null d0.error = it.message ?: "Reprocess failed." + _detail.value = d0.copy() + return@launch } - _detail.value = d0.copy() - return@launch } // Poll the target job to a terminal state. while (true) {