mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-03-12 00:20:15 +00:00
## Summary Addresses review feedback from PR #9298 and resolves the divergence between `ResultItemImpl.isImage` and `appendCloudResParam`'s image classification. ### Changes - **Unify suffix-based classification**: Replace narrow `isImageBySuffix` (gif/webp only), `isVideoBySuffix` (webm/mp4), and `isAudioBySuffix` with `getMediaTypeFromFilename()` from shared-frontend-utils, using the same `IMAGE_EXTENSIONS` set (png, jpg, jpeg, gif, webp, bmp, avif, tif, tiff) that `appendCloudResParam` uses - **imageCompare.ts**: Pass `record.filename` to `appendCloudResParam` (was called without filename, bypassing image-extension guard) - **imagePreviewStore.ts**: Use per-image `image.filename` instead of first image's filename for all images in batch - **LinearControls.vue**: Use `resultItem.filename` (already a string) instead of `String(filename)` which converts undefined to `"undefined"` ### Related review comments - [imageCompare.ts — missing filename](https://github.com/Comfy-Org/ComfyUI_frontend/pull/9298#discussion_r2886137498) - [imagePreviewStore.ts — per-image filename](https://github.com/Comfy-Org/ComfyUI_frontend/pull/9298#discussion_r2886138718) - [LinearControls.vue — String(filename)](https://github.com/Comfy-Org/ComfyUI_frontend/pull/9298#discussion_r2886140159) - [queueStore.ts — diverging image classification](https://github.com/Comfy-Org/ComfyUI_frontend/pull/9298#discussion_r2886142886) ## Test plan - [x] 66 unit tests pass (queueStore + cloudPreviewUtil) - [x] `pnpm typecheck` passes - [x] `pnpm lint` passes - Fixes #9386 --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Core Extensions
This directory contains the core extensions that provide essential functionality to the ComfyUI frontend.
📚 Full Documentation
The complete documentation for core extensions has been moved to:
Quick Reference
This directory contains built-in extensions that ship with ComfyUI, including:
- Image Processing: maskeditor, uploadImage, saveImageExtraOutput, clipspace
- Graph Management: groupNode, groupNodeManage, groupOptions, rerouteNode, noteNode
- Input Handling: widgetInputs, uploadAudio, webcamCapture, simpleTouchSupport
- UI Enhancements: contextMenuFilter, previewAny, nodeTemplates
- Text Processing: dynamicPrompts, editAttention
- Platform Support: electronAdapter
and more.
See Also
- Extension Development Guide - How to develop extensions
- Extension Documentation Index - Overview of all extension docs
- ComfyExtension Interface - TypeScript interface for extensions