Stop cancelled video jobs from coming back after delete.
A leftover process-remaining wake was flipping the row back to running or error, so Remove looked like it did nothing. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+2
-2
@@ -1108,12 +1108,12 @@
|
||||
{{ job.cutIn ? 'Next' : (canCutInStudioJob ? 'Run next' : 'Start now') }}
|
||||
</button>
|
||||
<button
|
||||
v-if="job.status === 'waiting' || job.status === 'held'"
|
||||
v-if="job.status === 'waiting' || job.status === 'held' || job.status === 'running' || job.status === 'error'"
|
||||
type="button"
|
||||
class="shrink-0 text-xs text-zinc-400 hover:text-red-200"
|
||||
@click="dismissStudioJob(job.id)"
|
||||
>
|
||||
Remove
|
||||
{{ job.status === 'running' ? 'Cancel' : 'Remove' }}
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
+9
-6
@@ -537,7 +537,7 @@ const pauseDisabledReason = computed(() => {
|
||||
return ''
|
||||
})
|
||||
const clearableCount = computed(() => (
|
||||
jobs.value.filter(job => job.status === 'waiting' || job.status === 'held').length
|
||||
jobs.value.filter(job => job.status === 'waiting' || job.status === 'held' || job.status === 'error').length
|
||||
+ orphans.value.filter(queue => queue.status !== 'running').length
|
||||
))
|
||||
|
||||
@@ -776,7 +776,7 @@ function jobThumb(job: StudioJobRow) {
|
||||
}
|
||||
|
||||
function canRemoveJob(job: StudioJobRow) {
|
||||
return job.status === 'waiting' || job.status === 'held' || job.status === 'running'
|
||||
return job.status === 'waiting' || job.status === 'held' || job.status === 'running' || job.status === 'error'
|
||||
}
|
||||
|
||||
function promptSnippet(text?: string) {
|
||||
@@ -841,9 +841,12 @@ async function confirmRemove() {
|
||||
}
|
||||
|
||||
async function removeJob(job: StudioJobRow) {
|
||||
await $fetch(`/api/studio-queue/${job.id}`, { method: 'DELETE' }).catch((err: any) => {
|
||||
error.value = err?.data?.statusMessage || err?.message || 'Could not remove that job'
|
||||
})
|
||||
try {
|
||||
await $fetch(`/api/studio-queue/${job.id}`, { method: 'DELETE' })
|
||||
} catch (err: any) {
|
||||
error.value = err?.data?.statusMessage || err?.statusMessage || err?.message || 'Could not remove that job'
|
||||
throw err
|
||||
}
|
||||
await loadQueues()
|
||||
}
|
||||
|
||||
@@ -1002,7 +1005,7 @@ async function clearAll() {
|
||||
if (!confirm(`Clear waiting and paused jobs from the queue? Saved clips stay in the library.${extra}`)) return
|
||||
error.value = ''
|
||||
try {
|
||||
for (const job of jobs.value.filter(item => item.status === 'waiting' || item.status === 'held')) {
|
||||
for (const job of jobs.value.filter(item => item.status === 'waiting' || item.status === 'held' || item.status === 'error')) {
|
||||
await $fetch(`/api/studio-queue/${job.id}`, { method: 'DELETE' }).catch(() => null)
|
||||
}
|
||||
await $fetch('/api/queues', { method: 'DELETE' })
|
||||
|
||||
Reference in New Issue
Block a user