Show the busy label the instant a click lands, before the first job row exists
Between pressing Transcribe and the first /jobs poll there was a blind window where real work (POST in flight, token refresh, initial upload) had no on-screen trace at all — the screenshot complaint 'shows nothing'. Any non-null busy label now renders as a pipeline-style card in the same slot the panel occupies, so feedback starts at click time.
This commit is contained in:
parent
b5836d0fb6
commit
05b84a361a
1 changed files with 15 additions and 0 deletions
|
|
@ -847,6 +847,21 @@ fun DetailScreen(state: DesktopState) {
|
||||||
val sJob = detail.jobs.firstOrNull { it.jobType == "summarize" }
|
val sJob = detail.jobs.firstOrNull { it.jobType == "summarize" }
|
||||||
if (pipeline != null) {
|
if (pipeline != null) {
|
||||||
PipelinePanel(pipeline)
|
PipelinePanel(pipeline)
|
||||||
|
} else if (detail.busy != null) {
|
||||||
|
// Click-landed but no job row yet (POST/token/poll latency):
|
||||||
|
// busy is REAL work in flight — showing nothing here was the
|
||||||
|
// "hit transcribe, screen looks dead" blind window.
|
||||||
|
SonarCard(modifier = Modifier.fillMaxWidth()) {
|
||||||
|
Row(
|
||||||
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
|
horizontalArrangement = Arrangement.spacedBy(Shonar.Space2),
|
||||||
|
) {
|
||||||
|
Text("→", style = MaterialTheme.typography.bodySmall,
|
||||||
|
color = MaterialTheme.colorScheme.primary)
|
||||||
|
Text(detail.busy!!, style = MaterialTheme.typography.bodySmall,
|
||||||
|
color = MaterialTheme.colorScheme.primary)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Rescue-swap note: the engine succeeded but had to switch
|
// Rescue-swap note: the engine succeeded but had to switch
|
||||||
// summarizers mid-job. Tell the user in plain words, not the raw
|
// summarizers mid-job. Tell the user in plain words, not the raw
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue