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" }
|
||||
if (pipeline != null) {
|
||||
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
|
||||
// summarizers mid-job. Tell the user in plain words, not the raw
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue