Skip to content

feat: validate connections and inspect values in editor - #42

Merged
philippjfr merged 3 commits into
mainfrom
feat/connection-validation-inspection
Sep 28, 2026
Merged

philippjfr merged 3 commits into
mainfrom
feat/connection-validation-inspection

Conversation

@philippjfr

@philippjfr philippjfr commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Description

I integrated ReactFlow's drag-time connection validation and port/edge value inspection into the FlowDash editor. A side-effect-free DataflowGraph.validate_connection checks declared port direction, duplicate connections, occupied single inputs, cycles, and scalar type compatibility before edge creation; the same rules supply rejection reasons during a drag. List inputs still accept multiple scalar sources. Hovering a port or edge now previews its current value by default, without an extra Paper inside the popup; popup_trigger, popup_hover_delay, and value_repr remain configurable.

The ReactFlow dependency is raised to >=0.5.0b0 in both pyproject.toml and pixi.toml. Tests: PYTHON_GIL=1 pixi run test (330 passed, 2 skipped), PYTHON_GIL=1 pixi run -e test-ui pytest tests/ui --ui --browser chromium -n 1 --tb=short -q (2 passed), and pre-commit on edited files.

Before: Invalid connections were created briefly before server rejection; inspecting a value required a click and showed a nested Paper. After: Drag targets show rejection reasons before connection, and hovering an existing port or edge shows the value on one popup surface. To try this locally, run flowdash serve examples/complex_dataflow, open the editor, drag an output toward an incompatible or occupied input, then hover a port or existing edge.

AI Disclosure

Tool & Model: Kilo Code + GPT-6 Sol
Usage: Implemented the editor integration, validation, tests, and PR description with AI assistance; reviewed the diff and ran the listed checks.

  • I have tested all AI-generated content in my PR.
  • I take responsibility for all AI-generated content in my PR.

Checklist

  • Tests added and are passing

@philippjfr
philippjfr marked this pull request as ready for review September 28, 2026 13:28
@philippjfr
philippjfr merged commit 2bf7393 into main Sep 28, 2026
14 checks passed
@philippjfr
philippjfr deleted the feat/connection-validation-inspection branch September 28, 2026 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant