diff --git a/cmd/roborev/tui/handlers.go b/cmd/roborev/tui/handlers.go index fe4a6c47..f397bbf4 100644 --- a/cmd/roborev/tui/handlers.go +++ b/cmd/roborev/tui/handlers.go @@ -283,7 +283,7 @@ func (m model) handleNextKey() (tea.Model, tea.Cmd) { job := m.jobs[nextIdx] if job.Status == storage.JobStatusDone { return m, m.fetchReviewForPrompt(job.ID) - } else if job.Status == storage.JobStatusRunning && job.Prompt != "" { + } else if (job.Status == storage.JobStatusRunning || job.Status == storage.JobStatusQueued) && job.Prompt != "" { m.currentReview = &storage.Review{ Agent: job.Agent, Prompt: job.Prompt, @@ -404,7 +404,7 @@ func (m model) handlePrevKey() (tea.Model, tea.Cmd) { job := m.jobs[prevIdx] if job.Status == storage.JobStatusDone { return m, m.fetchReviewForPrompt(job.ID) - } else if job.Status == storage.JobStatusRunning && job.Prompt != "" { + } else if (job.Status == storage.JobStatusRunning || job.Status == storage.JobStatusQueued) && job.Prompt != "" { m.currentReview = &storage.Review{ Agent: job.Agent, Prompt: job.Prompt, diff --git a/cmd/roborev/tui/handlers_msg.go b/cmd/roborev/tui/handlers_msg.go index 32103be5..a5bf3263 100644 --- a/cmd/roborev/tui/handlers_msg.go +++ b/cmd/roborev/tui/handlers_msg.go @@ -200,7 +200,7 @@ func (m model) handleJobsMsg(msg jobsMsg) (tea.Model, tea.Cmd) { job := m.jobs[nextIdx] if job.Status == storage.JobStatusDone { return m, m.fetchReviewForPrompt(job.ID) - } else if job.Status == storage.JobStatusRunning && job.Prompt != "" { + } else if (job.Status == storage.JobStatusRunning || job.Status == storage.JobStatusQueued) && job.Prompt != "" { m.currentReview = &storage.Review{ Agent: job.Agent, Prompt: job.Prompt, diff --git a/cmd/roborev/tui/handlers_review.go b/cmd/roborev/tui/handlers_review.go index 29a3324f..9e6d215b 100644 --- a/cmd/roborev/tui/handlers_review.go +++ b/cmd/roborev/tui/handlers_review.go @@ -15,7 +15,7 @@ func (m model) handlePromptKey() (tea.Model, tea.Cmd) { if job.Status == storage.JobStatusDone { m.promptFromQueue = true return m, m.fetchReviewForPrompt(job.ID) - } else if job.Status == storage.JobStatusRunning && job.Prompt != "" { + } else if (job.Status == storage.JobStatusRunning || job.Status == storage.JobStatusQueued) && job.Prompt != "" { jobCopy := *job m.currentReview = &storage.Review{ Agent: job.Agent, diff --git a/cmd/roborev/tui/nav.go b/cmd/roborev/tui/nav.go index 0b658f0e..a14ff979 100644 --- a/cmd/roborev/tui/nav.go +++ b/cmd/roborev/tui/nav.go @@ -60,7 +60,7 @@ func (m *model) findPrevPromptableJob() int { for i := m.selectedIdx + 1; i < len(m.jobs); i++ { job := m.jobs[i] if m.isJobVisible(job) && - (job.Status == storage.JobStatusDone || (job.Status == storage.JobStatusRunning && job.Prompt != "")) { + (job.Status == storage.JobStatusDone || (job.Prompt != "" && (job.Status == storage.JobStatusRunning || job.Status == storage.JobStatusQueued))) { return i } } @@ -73,7 +73,7 @@ func (m *model) findNextPromptableJob() int { for i := m.selectedIdx - 1; i >= 0; i-- { job := m.jobs[i] if m.isJobVisible(job) && - (job.Status == storage.JobStatusDone || (job.Status == storage.JobStatusRunning && job.Prompt != "")) { + (job.Status == storage.JobStatusDone || (job.Prompt != "" && (job.Status == storage.JobStatusRunning || job.Status == storage.JobStatusQueued))) { return i } }