From 48f3c69c693c5db5f4efefb68dfee5d604e5fffa Mon Sep 17 00:00:00 2001 From: Stream Date: Fri, 22 Aug 2025 17:54:18 +0800 Subject: [PATCH] fix: fix bugs check by Claude Code --- .../service_api/app/chatflow_memory.py | 21 ++++++++++--------- api/controllers/web/chatflow_memory.py | 21 ++++++++++--------- api/services/chatflow_memory_service.py | 4 ++-- 3 files changed, 24 insertions(+), 22 deletions(-) diff --git a/api/controllers/service_api/app/chatflow_memory.py b/api/controllers/service_api/app/chatflow_memory.py index 1a7ab6733e..d82820d252 100644 --- a/api/controllers/service_api/app/chatflow_memory.py +++ b/api/controllers/service_api/app/chatflow_memory.py @@ -39,17 +39,18 @@ class MemoryEditApi(Resource): if not memory_spec: return {'error': 'Memory not found'}, 404 with Session(db.engine) as session: - ChatflowMemoryVariable( - tenant_id=app_model.tenant_id, - app_id=app_model.id, - node_id=args['node_id'], - memory_id=args['id'], - name=memory_spec.name, - value=args['update'], - scope=memory_spec.scope, - term=memory_spec.term, + session.merge( + ChatflowMemoryVariable( + tenant_id=app_model.tenant_id, + app_id=app_model.id, + node_id=args['node_id'], + memory_id=args['id'], + name=memory_spec.name, + value=args['update'], + scope=memory_spec.scope, + term=memory_spec.term, + ) ) - session.add(memory_spec) session.commit() return '', 204 diff --git a/api/controllers/web/chatflow_memory.py b/api/controllers/web/chatflow_memory.py index 92b259c498..43c330ab50 100644 --- a/api/controllers/web/chatflow_memory.py +++ b/api/controllers/web/chatflow_memory.py @@ -39,17 +39,18 @@ class MemoryEditApi(WebApiResource): if not memory_spec.end_user_editable: return {'error': 'Memory not editable'}, 403 with Session(db.engine) as session: - ChatflowMemoryVariable( - tenant_id=app_model.tenant_id, - app_id=app_model.id, - node_id=args['node_id'], - memory_id=args['id'], - name=memory_spec.name, - value=args['update'], - scope=memory_spec.scope, - term=memory_spec.term, + session.merge( + ChatflowMemoryVariable( + tenant_id=app_model.tenant_id, + app_id=app_model.id, + node_id=args['node_id'], + memory_id=args['id'], + name=memory_spec.name, + value=args['update'], + scope=memory_spec.scope, + term=memory_spec.term, + ) ) - session.add(memory_spec) session.commit() return '', 204 diff --git a/api/services/chatflow_memory_service.py b/api/services/chatflow_memory_service.py index 9bb0db6e9d..0454544699 100644 --- a/api/services/chatflow_memory_service.py +++ b/api/services/chatflow_memory_service.py @@ -156,7 +156,7 @@ class ChatflowMemoryService: ChatflowMemoryVariable.tenant_id == tenant_id, ChatflowMemoryVariable.app_id == app_id, ChatflowMemoryVariable.node_id == \ - (node_id if spec.term == MemoryScope.NODE else None), + (node_id if spec.scope == MemoryScope.NODE else None), ChatflowMemoryVariable.conversation_id == \ (conversation_id if spec.term == MemoryTerm.SESSION else None), ) @@ -344,7 +344,7 @@ class ChatflowMemoryService: memory_block: MemoryBlock, visible_history: Sequence[PromptMessage] ) -> bool: - return len(visible_history) > memory_block.spec.update_turns + return len(visible_history) >= memory_block.spec.update_turns @staticmethod def _app_submit_async_memory_update(