From 84c1fa3c1d57bf4961a9be3f0f88fa7efcab0b6b Mon Sep 17 00:00:00 2001 From: Lars Date: Sat, 4 Apr 2026 22:39:08 +0200 Subject: [PATCH] fix: UUID handling - remove parseInt() for prompt IDs Critical Bug Fixes: 1. Prompt IDs are UUIDs (strings), NOT numbers 2. parseInt(UUID) produces wrong results: - parseInt("3b4d7d64-...") = 3 (truncates at first non-digit) - parseInt("aa291dde-...") = NaN 3. This caused: - Prompt selection: saved as NaN instead of UUID - Load workflow: GET /api/prompts/3 instead of /api/prompts/3b4d7d64-... - 405 Method Not Allowed errors Changes: - useEffect: loadWorkflow(id) instead of loadWorkflow(parseInt(id)) - Prompt onChange: prompt_id: promptId (string) instead of parseInt(promptId) - Removed NaN check (unnecessary for UUID strings) Root Cause: Backend uses UUID primary keys, frontend assumed integer IDs Testing: Console logs still active for verification --- frontend/src/pages/WorkflowEditorPage.jsx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/frontend/src/pages/WorkflowEditorPage.jsx b/frontend/src/pages/WorkflowEditorPage.jsx index d7f3726..036f876 100644 --- a/frontend/src/pages/WorkflowEditorPage.jsx +++ b/frontend/src/pages/WorkflowEditorPage.jsx @@ -62,11 +62,9 @@ export default function WorkflowEditorPage() { // Load workflow wenn ID vorhanden useEffect(() => { - if (id && id !== 'new' && !isNaN(parseInt(id))) { + if (id && id !== 'new') { console.log('🔍 useEffect: Loading workflow with ID:', id) - loadWorkflow(parseInt(id)) - } else if (id && id !== 'new') { - console.error('❌ useEffect: Invalid ID (NaN):', id) + loadWorkflow(id) // UUID as string, no parseInt! } }, [id]) @@ -419,7 +417,7 @@ export default function WorkflowEditorPage() { const selectedPrompt = availablePrompts.find(p => String(p.id) === promptId) console.log('📋 Selected prompt object:', selectedPrompt) handleNodeUpdate(selectedNode.id, { - prompt_id: promptId ? parseInt(promptId) : null, + prompt_id: promptId || null, // UUID as string, no parseInt! prompt_name: selectedPrompt?.name || null }) }}