Keep the extension prompt editable while the last frame loads.
The box was disabled for last-frame extract and a stuck videoBusy flag, so typing died after a finished job. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+6
-5
@@ -534,7 +534,6 @@
|
||||
placeholder="Motion prompt for this extension…"
|
||||
:keep-items="keepPrompts.video"
|
||||
keep-heading="Video prompts"
|
||||
:disabled="videoBusy"
|
||||
/>
|
||||
<DurationField v-model="item.duration" class="mt-3" label="Duration" />
|
||||
<LoraSelect
|
||||
@@ -1413,7 +1412,7 @@
|
||||
{{ lastFrameLoading ? 'Reading last frame…' : 'Last frame preview unavailable' }}
|
||||
</p>
|
||||
</div>
|
||||
<label class="block text-sm">
|
||||
<div class="block text-sm">
|
||||
<span class="mb-1 block text-zinc-400">Extension prompt</span>
|
||||
<PromptField
|
||||
v-model="extendPrompt"
|
||||
@@ -1422,10 +1421,9 @@
|
||||
placeholder="Continue the motion from this frame…"
|
||||
:keep-items="keepPrompts.video"
|
||||
keep-heading="Video prompts"
|
||||
:disabled="lastFrameLoading || videoBusy"
|
||||
textarea-class=""
|
||||
/>
|
||||
</label>
|
||||
</div>
|
||||
<DurationField
|
||||
v-model="extendDuration"
|
||||
label="Extension duration"
|
||||
@@ -5698,7 +5696,10 @@ async function loadLastFrame(id: string) {
|
||||
lastFrameLoading.value = true
|
||||
const gen = ++lastFrameGen
|
||||
try {
|
||||
const blob = await $fetch<Blob>(`/api/library/clips/${id}/last-frame`, { responseType: 'blob' })
|
||||
const blob = await $fetch<Blob>(`/api/library/clips/${id}/last-frame`, {
|
||||
responseType: 'blob',
|
||||
signal: AbortSignal.timeout(20_000)
|
||||
})
|
||||
if (gen !== lastFrameGen) return
|
||||
if (lastFrameObjectUrl) URL.revokeObjectURL(lastFrameObjectUrl)
|
||||
lastFrameObjectUrl = URL.createObjectURL(blob)
|
||||
|
||||
Reference in New Issue
Block a user