From 7156a7a9a72b34f50d7e1cdeb21b8a6878b89f9a Mon Sep 17 00:00:00 2001 From: Gordon YUEN Date: Wed, 29 Jul 2026 14:16:26 +0800 Subject: [PATCH] fix: truncate markdown image name context to prevent OS filename limit When last_context (the preceding markdown text) is very long, the generated image filename exceeds the OS 255-byte limit and os.rename fails with OSError ENAMETOOLONG. Truncate to 60 chars after sanitization. --- .../app/services/document_parser/formats/markdown/image_asset.py | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/worker/app/services/document_parser/formats/markdown/image_asset.py b/apps/worker/app/services/document_parser/formats/markdown/image_asset.py index 52305689..185ae69f 100644 --- a/apps/worker/app/services/document_parser/formats/markdown/image_asset.py +++ b/apps/worker/app/services/document_parser/formats/markdown/image_asset.py @@ -135,6 +135,7 @@ def build_markdown_image_asset( def build_markdown_image_name(*, image_count: int, last_context: str) -> str: image_name_context = path_handle(last_context.strip(), mode="clean_single") if image_name_context: + image_name_context = image_name_context[:60] return f"image-{image_count}-{image_name_context}" return f"image-{image_count}"