Ship duration control, hidden previews, job resume, and desktop file purge.

The slider never left this machine, so deploy the generate UI with separate input/output hide toggles, reconnect in-progress jobs after refresh, and delete Comfy input/output files after they are saved to the library.
This commit is contained in:
2026-08-25 20:25:36 -05:00
parent 1a271c05a4
commit c5ed4d7ac4
16 changed files with 651 additions and 104 deletions
+11 -4
View File
@@ -17,6 +17,7 @@ export interface JobEvent {
busy?: boolean
queueRunning?: number
queuePending?: number
folderLocked?: boolean
}
export interface Job {
@@ -36,6 +37,7 @@ export interface Job {
ownerKey: string
folderId: string
hideThumbnail: boolean
folderLocked?: boolean
name?: string
prompt: string
aspect: string
@@ -81,6 +83,10 @@ export function getJob(id: string) {
return jobs.get(id)
}
export function listJobs() {
return [...jobs.values()]
}
export function jobSnapshot(job: Job) {
return {
type: 'snapshot' as const,
@@ -91,12 +97,13 @@ export function jobSnapshot(job: Job) {
maxStep: job.maxStep,
promptId: job.promptId,
elapsedMs: Date.now() - job.startedAt,
filename: job.video?.filename,
subfolder: job.video?.subfolder,
mediaType: job.video?.type,
filename: job.library?.folderLocked ? undefined : job.video?.filename,
subfolder: job.library?.folderLocked ? undefined : job.video?.subfolder,
mediaType: job.library?.folderLocked ? undefined : job.video?.type,
clipId: job.clipId,
hideThumbnail: job.hideThumbnail,
error: job.error
error: job.error,
folderLocked: job.library?.folderLocked
}
}