You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.1 KiB
4.1 KiB
| phase | plan | subsystem | tags | requires | provides | affects | tech-stack | key-files | key-decisions | patterns-established | issues-created | duration | completed |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 14-fix-drag-connect-bugs | 1 | ui | [react-flow handles connections node-editor] | {phase 03-generate-node-refactor} {provides Dynamic handle rendering from model schema}] [{phase 04-model-search-dialog} {provides Model selection and schema loading} | [Stable drag-connect node creation that persists through model selection Normalized handle ID system for multi-provider compatibility Handle-to-schema mapping for API parameter passing] | [future-node-types connection-system-improvements] | [{added []} {patterns [Normalized handle IDs (image, text, image-0, text-0) for connection stability data-schema-name attribute for preserving API parameter names handleToSchemaName mapping in execution for API compatibility]}] | [{created []} {modified [src/components/nodes/GenerateImageNode.tsx src/components/nodes/GenerateVideoNode.tsx src/components/WorkflowCanvas.tsx src/store/workflowStore.ts]}] | [Use normalized handle IDs instead of schema names for React Flow handles Store schema name in data-schema-name attribute for reference Build handleToSchemaName mapping at execution time from inputSchema] | [Handle normalization: single input uses type name (image), multiple use indexed (image-0) Schema mapping: inputSchema drives normalized ID to schema name conversion] | [] | 7min | 2026-01-12 |
Phase 14 Plan 01: Fix Drag-Connect Node Creation Bugs Summary
Placeholder handles ensure connections persist when selecting models that don't use all input types
Performance
- Duration: 12 min
- Started: 2026-01-12T10:11:43Z
- Completed: 2026-01-12T10:23:00Z
- Tasks: 3
- Files modified: 4
Accomplishments
- Always render "image" and "text" handles even when model schema doesn't include them
- Placeholder handles (dimmed at 30% opacity) preserve connections for models that don't use that input type
- Normalized dynamic handle IDs to use standard values ("image", "text") instead of schema-specific names
- Updated connection validation to return normalized handle IDs when finding compatible targets
- Added handle-to-schema mapping in execution to preserve API parameter compatibility
Task Commits
Each task was committed atomically:
- Task 1: Normalize handle IDs + placeholder handles -
7548e5a(fix) - Task 2: Update connection validation -
714b60b(fix) - Task 3: Map handles to schema names in execution -
5643cb8(feat)
Files Created/Modified
src/components/nodes/GenerateImageNode.tsx- Placeholder handles for missing inputs, normalized IDssrc/components/nodes/GenerateVideoNode.tsx- Same fix for video nodessrc/components/WorkflowCanvas.tsx- findCompatibleHandle returns normalized IDssrc/store/workflowStore.ts- getConnectedInputs builds handleToSchemaName mapping
Decisions Made
- Placeholder handles: Always render "image" and "text" handles, dimmed when model doesn't use them
- Normalized handle naming: Single input of type uses base name ("image"), multiple use indexed ("image-0", "image-1")
- Schema name preservation: Stored in data-schema-name attribute for debugging/reference
- Execution mapping: Build mapping at runtime from inputSchema rather than storing in edge data
Deviations from Plan
Auto-fixed Issues
1. [Rule 1 - Bug] Handle disappearance with text-to-image models
- Found during: Testing after initial fix
- Issue: Text-to-image models (FLUX, etc.) have no image input in schema, causing image handle to disappear
- Fix: Always render placeholder handles for missing input types (dimmed at 30% opacity)
- Files modified: GenerateImageNode.tsx, GenerateVideoNode.tsx
- Verification: Build passes, handles persist through model selection
Issues Encountered
None
Next Phase Readiness
- Phase 14 complete (single plan phase)
- Milestone v1.1 complete - all 8 phases finished
- Ready for
/gsd:complete-milestone
Phase: 14-fix-drag-connect-bugs Completed: 2026-01-12