Restore automatic video batch continuation and prepare stable Comfy loading

This commit is contained in:
Towsty
2026-09-09 06:58:35 -05:00
parent 4bf992210d
commit badf59d914
10 changed files with 83 additions and 21 deletions
+12 -11
View File
@@ -1099,16 +1099,6 @@
</details>
</div>
<label
v-if="studioMode === 'video' && queuedExtensionCount > 0"
class="flex cursor-pointer items-start gap-3 rounded-2xl border border-white/10 bg-zinc-950/40 px-4 py-3"
>
<input v-model="queueAutoRun" type="checkbox" class="mt-1">
<span>
<span class="block text-sm font-medium text-zinc-200">Run remaining shots automatically</span>
<span class="mt-0.5 block text-xs text-zinc-500">Overnight set-and-forget. Leave this off to edit prompts on Queue (under this job) and process the next shot when you are ready.</span>
</span>
</label>
<div v-if="studioMode === 'video'" class="space-y-3">
<label
class="flex cursor-pointer items-start gap-3 rounded-2xl border border-white/10 bg-zinc-950/40 px-4 py-3"
@@ -1145,6 +1135,17 @@
</label>
</div>
</GenerationSettings>
<label
v-if="studioMode === 'video' && queuedExtensionCount > 0"
class="flex cursor-pointer items-start gap-3 rounded-2xl border border-white/10 bg-zinc-950/40 px-4 py-3"
>
<input v-model="queueAutoRun" type="checkbox" class="mt-1">
<span>
<span class="block text-sm font-medium text-zinc-200">Run remaining shots automatically</span>
<span class="mt-0.5 block text-xs text-zinc-500">Overnight set-and-forget. Leave this off to edit prompts on Queue (under this job) and process the next shot when you are ready.</span>
</span>
</label>
<div class="sticky bottom-3 z-10 flex flex-wrap gap-3 rounded-2xl bg-zinc-950/95 p-2 shadow-lg">
<button
type="button"
@@ -2867,7 +2868,7 @@ const renamingFamily = ref(false)
const renameDraft = ref('')
const renameInput = ref<HTMLInputElement | null>(null)
const unlockPassword = ref('')
const queueAutoRun = ref(false)
const queueAutoRun = ref(true)
const refineExtensionFrame = ref(true)
const saveLosslessAnchor = ref(true)
const refinementDenoise = ref(REFINEMENT_DENOISE_DEFAULT)
+6 -6
View File
@@ -94,7 +94,7 @@
:disabled="Boolean(busyId)"
@click="cutIn(job)"
>
{{ job.cutIn ? 'Next after current shot' : (canCutIn ? 'Run next' : 'Start now') }}
{{ job.cutIn ? 'Next after current shot' : (canCutIn ? 'Prioritize batch' : 'Start batch') }}
</button>
<button
v-if="job.status === 'error'"
@@ -712,7 +712,7 @@ function jobLine(job: StudioJobRow) {
function continueLabel(queue: Queue) {
const next = nextSegment(queue)
if (!next) return 'Process next'
return `Continue shot ${next.index + 1}`
return `Run only shot ${next.index + 1}`
}
function segmentCaption(queue: Queue, segment: Segment) {
@@ -1134,11 +1134,11 @@ function queueIsArmed(queue: Queue) {
}
function canProcessShots(job: StudioJobRow) {
return Boolean(job.shots) && !jobIsGenerating(job) && !jobIsHeldPaused(job)
return Boolean(job.shots) && !jobIsGenerating(job)
}
function canProcessQueue(queue: Queue) {
return queue.status !== 'running' && !queueIsHeldPaused(queue)
return queue.status !== 'running'
}
function canPauseJob(job: StudioJobRow) {
@@ -1151,7 +1151,7 @@ function jobIsArmed(job: StudioJobRow) {
function jobPauseLabel(job: StudioJobRow) {
if (jobIsLatched(job)) return 'Will pause after this'
if (jobIsHeldPaused(job)) return 'Paused'
if (jobIsHeldPaused(job)) return 'Resume remaining'
return 'Pause after this'
}
@@ -1163,7 +1163,7 @@ function jobPauseTitle(job: StudioJobRow) {
function queuePauseLabel(queue: Queue) {
if (queueIsLatched(queue)) return 'Will pause after this'
if (queueIsHeldPaused(queue)) return 'Paused'
if (queueIsHeldPaused(queue)) return 'Resume remaining'
return 'Pause after this'
}