From 31a50a3b20a7e2e98e156298bb888b4f87573157 Mon Sep 17 00:00:00 2001 From: functionkiller <39087592+functionkiller@users.noreply.github.com> Date: Thu, 25 Jun 2026 10:57:33 +0800 Subject: [PATCH] fix: eagerly validate conversation before generator to prevent hanging (#37224) Co-authored-by: yunlu.wen --- api/controllers/web/completion.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/api/controllers/web/completion.py b/api/controllers/web/completion.py index 2bb7db015ad..7871b411c4b 100644 --- a/api/controllers/web/completion.py +++ b/api/controllers/web/completion.py @@ -32,6 +32,7 @@ from libs.helper import uuid_value from models.model import App, AppMode, EndUser from services.app_generate_service import AppGenerateService from services.app_task_service import AppTaskService +from services.conversation_service import ConversationService from services.errors.llm import InvokeRateLimitError logger = logging.getLogger(__name__) @@ -202,6 +203,12 @@ class ChatApi(WebApiResource): args["auto_generate_name"] = False try: + # Eagerly validate conversation to avoid hanging on invalid conversation_id + if payload.conversation_id: + ConversationService.get_conversation( + app_model=app_model, conversation_id=payload.conversation_id, user=end_user + ) + response = AppGenerateService.generate( app_model=app_model, user=end_user, args=args, invoke_from=InvokeFrom.WEB_APP, streaming=streaming )