From f359157949a0b06fa8934ea3105d264b4211aa97 Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Mon, 23 Mar 2026 15:20:40 +0000 Subject: [PATCH] Fix focus group create: 500 on update + 400 on autosave - FocusGroup.update: use matched_count > 0 instead of modified_count > 0 so updates succeed even when data is unchanged (was returning 500) - useFocusGroupAutoSave: skip save if name is empty (not all-fields-empty) preventing 400 Bad Request when autosave fires before name is filled Co-Authored-By: Claude Sonnet 4.6 --- backend/app/models/focus_group.py | 4 ++-- src/hooks/useFocusGroupAutoSave.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/app/models/focus_group.py b/backend/app/models/focus_group.py index cde8d5e1..c19591c9 100755 --- a/backend/app/models/focus_group.py +++ b/backend/app/models/focus_group.py @@ -149,8 +149,8 @@ class FocusGroup: 'updated_at': filtered_data["updated_at"].isoformat() }) - return result.modified_count > 0 - + return result.matched_count > 0 + @staticmethod def _cleanup_focus_group_assets(focus_group_id, uploaded_assets): """Clean up all creative asset files for a focus group.""" diff --git a/src/hooks/useFocusGroupAutoSave.ts b/src/hooks/useFocusGroupAutoSave.ts index 1ead3bd3..f82b7f67 100755 --- a/src/hooks/useFocusGroupAutoSave.ts +++ b/src/hooks/useFocusGroupAutoSave.ts @@ -99,8 +99,8 @@ export function useFocusGroupAutoSave({ return; // No changes } - if (!currentData.name && !currentData.description && !currentData.topic) { - return; // Don't save empty form + if (!currentData.name) { + return; // Don't save without name (required by backend) } isSavingRef.current = true;