From 7639d8e43f1496bc9ba19a33f4e6d22f1c57f452 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yanli=20=E7=9B=90=E7=B2=92?= Date: Tue, 17 Mar 2026 20:18:21 +0800 Subject: [PATCH] fix(api): reuse advanced chat refresh session --- .../app/apps/advanced_chat/app_generator.py | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/api/core/app/apps/advanced_chat/app_generator.py b/api/core/app/apps/advanced_chat/app_generator.py index f51c316910..1694f856cf 100644 --- a/api/core/app/apps/advanced_chat/app_generator.py +++ b/api/core/app/apps/advanced_chat/app_generator.py @@ -691,21 +691,19 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator): @overload -def _refresh_model(session: object, model: Workflow) -> Workflow: ... +def _refresh_model(session: Session, model: Workflow) -> Workflow: ... @overload -def _refresh_model(session: object, model: Message) -> Message: ... +def _refresh_model(session: Session, model: Message) -> Message: ... -def _refresh_model(session: object, model: Workflow | Message) -> Workflow | Message: - _ = session - with Session(bind=db.engine, expire_on_commit=False) as db_session: - if isinstance(model, Workflow): - detached_workflow = db_session.get(Workflow, model.id) - assert detached_workflow is not None - return detached_workflow +def _refresh_model(session: Session, model: Workflow | Message) -> Workflow | Message: + if isinstance(model, Workflow): + detached_workflow = session.get(Workflow, model.id) + assert detached_workflow is not None + return detached_workflow - detached_message = db_session.get(Message, model.id) - assert detached_message is not None - return detached_message + detached_message = session.get(Message, model.id) + assert detached_message is not None + return detached_message