Join pre/prompt/post for Comfy, stop zero-size generates snapping to a small square, and give the phone library a real closeable preview.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Towsty
2026-09-02 20:29:44 -05:00
co-authored by Cursor
parent d471d1bdd6
commit 369eb595d7
11 changed files with 76 additions and 28 deletions
+7 -4
View File
@@ -22,7 +22,7 @@ import {
updateShotQueue
} from '~/server/utils/shotQueue'
import { composeShotPrompt, allowIdentityRefs, type PermanenceRef } from '~/utils/globalLocks'
import { composePromptParts, resolvePromptWrappers } from '~/utils/promptParts'
import { composePromptParts, joinPromptParts, resolvePromptWrappers } from '~/utils/promptParts'
import type { QueuedExtension } from '~/server/utils/library'
import { persistLoraFields, ensureComfyLoraNames } from '~/server/utils/loras'
import { readLoraStack, resolveLoraStack } from '~/utils/loras'
@@ -150,7 +150,10 @@ export async function queueMiniMax(
job.status = 'uploading'
const chainIndex = job.library?.chainIndex || 0
const graphId = chainIndex > 0 ? workflowForExtension(params.workflow) : params.workflow
if (job.library) Object.assign(job.library, persistLoraFields(params.loraStack || params.loraName || job.library.loraStack || job.library.loraName))
if (job.library) {
const stack = resolveLoraStack(job.library.loraStack || job.library.loraName, params.loraStack || params.loraName)
if (stack.length) Object.assign(job.library, persistLoraFields(stack))
}
const engineName = isLtxWorkflow(graphId) ? 'LTX-2.3' : 'MiniMax H3'
const hasImage = Boolean(params.image?.data?.length)
const uploading = !hasImage
@@ -188,7 +191,7 @@ export async function queueMiniMax(
const shotIndex = job.library?.chainIndex || 0
const composedPrompt = composeShotPrompt({
globalLocks: job.library?.globalLocks || params.globalLocks,
prompt: composePromptParts(job.library?.promptPre || '', params.prompt, job.library?.promptPost || ''),
prompt: joinPromptParts(job.library?.promptPre, params.prompt, job.library?.promptPost),
shotIndex,
familyRefs: job.library?.permanenceRefs || params.permanenceRefs,
shotRefs: job.library?.shotPermanenceRefs?.[shotIndex] || params.shotPermanenceRefs?.[shotIndex]
@@ -417,7 +420,7 @@ export async function continueQueuedExtensions(
break
}
await queueMiniMax(job, {
prompt: ext.prompt,
prompt: joinPromptParts(wrappers.promptPre, ext.prompt, wrappers.promptPost),
image: { filename: 'last_frame.png', data: frame, type: 'image/png' },
width: params.width,
height: params.height,