diff --git a/src/extensions/core/imageCompare.ts b/src/extensions/core/imageCompare.ts index 70e2c0e022..de0ffa61c5 100644 --- a/src/extensions/core/imageCompare.ts +++ b/src/extensions/core/imageCompare.ts @@ -29,7 +29,7 @@ useExtensionService().registerExtension({ const toUrl = (record: Record) => { const params = new URLSearchParams(record) - appendCloudResParam(params) + appendCloudResParam(params, record.filename) return api.apiURL(`/view?${params}${rand}`) } diff --git a/src/renderer/extensions/linearMode/LinearControls.vue b/src/renderer/extensions/linearMode/LinearControls.vue index 442f7caab9..05e4aec2a6 100644 --- a/src/renderer/extensions/linearMode/LinearControls.vue +++ b/src/renderer/extensions/linearMode/LinearControls.vue @@ -90,7 +90,7 @@ function getDropIndicator(node: LGraphNode) { const buildImageUrl = () => { if (!filename) return undefined const params = new URLSearchParams(resultItem) - appendCloudResParam(params, String(filename)) + appendCloudResParam(params, resultItem.filename) return api.apiURL(`/view?${params}${app.getPreviewFormatParam()}`) } diff --git a/src/stores/nodeOutputStore.ts b/src/stores/nodeOutputStore.ts index 8ef589694a..aa576717e2 100644 --- a/src/stores/nodeOutputStore.ts +++ b/src/stores/nodeOutputStore.ts @@ -121,11 +121,10 @@ export const useNodeOutputStore = defineStore('nodeOutput', () => { const rand = app.getRandParam() const previewParam = getPreviewParam(node, outputs) const isImage = isImageOutputs(node, outputs) - const firstFilename = outputs.images[0]?.filename return outputs.images.map((image) => { const params = new URLSearchParams(image) - if (isImage) appendCloudResParam(params, firstFilename) + if (isImage) appendCloudResParam(params, image.filename) return api.apiURL(`/view?${params}${previewParam}${rand}`) }) } diff --git a/src/stores/queueStore.ts b/src/stores/queueStore.ts index ff69c36ae3..b5a2af67d6 100644 --- a/src/stores/queueStore.ts +++ b/src/stores/queueStore.ts @@ -114,6 +114,9 @@ export class ResultItemImpl { if (this.isMp4) { return 'video/mp4' } + if (this.filename.endsWith('.mov')) { + return 'video/quicktime' + } if (this.isVhsFormat) { if (this.format?.endsWith('webm')) { @@ -142,14 +145,6 @@ export class ResultItemImpl { return undefined } - get isGif(): boolean { - return this.filename.endsWith('.gif') - } - - get isWebp(): boolean { - return this.filename.endsWith('.webp') - } - get isWebm(): boolean { return this.filename.endsWith('.webm') } @@ -159,11 +154,11 @@ export class ResultItemImpl { } get isVideoBySuffix(): boolean { - return this.isWebm || this.isMp4 + return getMediaTypeFromFilename(this.filename) === 'video' } get isImageBySuffix(): boolean { - return this.isGif || this.isWebp + return getMediaTypeFromFilename(this.filename) === 'image' } get isMp3(): boolean { @@ -183,7 +178,7 @@ export class ResultItemImpl { } get isAudioBySuffix(): boolean { - return this.isMp3 || this.isWav || this.isOgg || this.isFlac + return getMediaTypeFromFilename(this.filename) === 'audio' } get isVideo(): boolean {