From e13bf68775024063587dea5b307d05ca9c3724cf Mon Sep 17 00:00:00 2001 From: Jin Yi Date: Thu, 4 Sep 2025 08:36:46 +0900 Subject: [PATCH] Fix JSON serialization error in bulk import fail info API (#2119) * fix: import failed info bulk api bug fix * fix: Remove unused ImportFailInfoBulkResponse import --- comfyui_manager/glob/manager_server.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/comfyui_manager/glob/manager_server.py b/comfyui_manager/glob/manager_server.py index cc06a58e..1e88e854 100644 --- a/comfyui_manager/glob/manager_server.py +++ b/comfyui_manager/glob/manager_server.py @@ -62,7 +62,6 @@ from ..data_models import ( BatchExecutionRecord, ComfyUISystemState, ImportFailInfoBulkRequest, - ImportFailInfoBulkResponse, BatchOperation, InstalledNodeInfo, ComfyUIVersionInfo, @@ -1683,7 +1682,11 @@ async def import_fail_info_bulk(request): if module_name is not None: info = cm_global.error_dict.get(module_name) if info is not None: - results[cnr_id] = info + # Convert error_dict format to API spec format + results[cnr_id] = { + 'error': info.get('msg', ''), + 'traceback': info.get('traceback', '') + } else: results[cnr_id] = None else: @@ -1695,15 +1698,18 @@ async def import_fail_info_bulk(request): if module_name is not None: info = cm_global.error_dict.get(module_name) if info is not None: - results[url] = info + # Convert error_dict format to API spec format + results[url] = { + 'error': info.get('msg', ''), + 'traceback': info.get('traceback', '') + } else: results[url] = None else: results[url] = None - # Create response using Pydantic model - response_data = ImportFailInfoBulkResponse(root=results) - return web.json_response(response_data.root) + # Return results directly as JSON + return web.json_response(results, content_type="application/json") except ValidationError as e: logging.error(f"[ComfyUI-Manager] Invalid request data: {e}") return web.Response(status=400, text=f"Invalid request data: {e}")