Import allowIdentityRefs in the studio queue and retry jobs that hit that error.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Towsty
2026-08-28 18:04:25 -05:00
co-authored by Cursor
parent b8c0fb029d
commit 0d8766bcb6
+8
View File
@@ -7,6 +7,7 @@ import { fetchLiveQueue } from '~/server/utils/comfy'
import { isLtxWorkflow, isTextToVideo, LTX_DISABLED_MESSAGE, ltxWorkflowEnabled, parseVideoWorkflow, type VideoWorkflowId } from '~/utils/videoModels' import { isLtxWorkflow, isTextToVideo, LTX_DISABLED_MESSAGE, ltxWorkflowEnabled, parseVideoWorkflow, type VideoWorkflowId } from '~/utils/videoModels'
import { persistLoraFields } from '~/server/utils/loras' import { persistLoraFields } from '~/server/utils/loras'
import { resolveLoraStack } from '~/utils/loras' import { resolveLoraStack } from '~/utils/loras'
import { allowIdentityRefs } from '~/utils/globalLocks'
export type StudioJobStatus = 'waiting' | 'running' | 'held' | 'complete' | 'error' | 'cancelled' export type StudioJobStatus = 'waiting' | 'running' | 'held' | 'complete' | 'error' | 'cancelled'
export type StudioJobKind = 'video' | 'edit' export type StudioJobKind = 'video' | 'edit'
@@ -544,6 +545,13 @@ function pendingAlive(job: StudioJob) {
function repairStaleJobs(jobs: StudioJob[]) { function repairStaleJobs(jobs: StudioJob[]) {
for (const job of jobs) { for (const job of jobs) {
if (job.status === 'error' && /allowIdentityRefs is not defined/i.test(String(job.lastError || ''))) {
job.status = 'waiting'
job.liveJobId = undefined
job.lastError = undefined
job.updatedAt = Date.now()
continue
}
if (job.status !== 'running') continue if (job.status !== 'running') continue
const live = job.liveJobId ? getJob(job.liveJobId) : undefined const live = job.liveJobId ? getJob(job.liveJobId) : undefined
const liveBusy = live && (live.status === 'queued' || live.status === 'uploading' || live.status === 'running') const liveBusy = live && (live.status === 'queued' || live.status === 'uploading' || live.status === 'running')