From fb034a13248e8cfe17792e990625c3532375bfd6 Mon Sep 17 00:00:00 2001 From: yyh Date: Thu, 29 Jan 2026 17:07:40 +0800 Subject: [PATCH] fix: strip leading dot from file extension before matching Backend returns extensions with a leading dot (e.g., `.png` from `os.path.splitext`), causing binary/media files to be misclassified as text since they didn't match the dot-free extension lists. --- web/app/components/workflow/skill/utils/file-utils.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/app/components/workflow/skill/utils/file-utils.ts b/web/app/components/workflow/skill/utils/file-utils.ts index be113bd088..ae8e6d4148 100644 --- a/web/app/components/workflow/skill/utils/file-utils.ts +++ b/web/app/components/workflow/skill/utils/file-utils.ts @@ -80,7 +80,7 @@ const BINARY_EXTENSIONS = [ export function getFileExtension(name?: string, extension?: string): string { if (extension) - return extension.toLowerCase() + return extension.replace(/^\./, '').toLowerCase() if (!name) return '' return name.split('.').pop()?.toLowerCase() ?? '' @@ -111,7 +111,7 @@ const EXTENSION_TO_ICON_TYPE = new Map( ) export function getFileIconType(name: string, ext?: string | null): FileAppearanceTypeEnum { - const extension = ext?.toLowerCase() ?? name.split('.').pop()?.toLowerCase() ?? '' + const extension = ext?.replace(/^\./, '').toLowerCase() ?? name.split('.').pop()?.toLowerCase() ?? '' return EXTENSION_TO_ICON_TYPE.get(extension) ?? FileAppearanceTypeEnum.document }