All posts
releaseannouncement

FlowDrop 1.6.0: Smarter AI Chat

FlowDrop 1.6.0 makes the AI chat panel feel polished and reliable — progressive command execution, visual apply feedback, markdown rendering, and automatic error recovery.

FlowDrop 1.6.0 focuses on the AI chat panel introduced in 1.5.0. The core loop — send a prompt, receive DSL commands, apply them to the canvas — is the same. This release makes that loop feel deliberate rather than instant, handles the failure cases, and renders the assistant’s prose properly.

Progressive command execution

Applying a batch of commands now executes them one at a time with a 100 ms delay between each. Canvas updates become visually distinct steps: you can watch nodes appear, ports connect, and configs set in sequence. The full batch still undoes as a single transaction, so Ctrl+Z stays predictable. The delay is configurable via the delayBetweenMs option on executeBatch if you’re calling it programmatically.

Apply feedback states

Previously, clicking Apply caused the preview to disappear immediately. Now the Apply and Cancel buttons transition through intermediate states: Apply becomes “Applying…” with a spinner, then “Applied” in green. Cancel becomes “Dismissed” in muted text. The preview block stays mounted, so the chat history shows what was actually executed — or consciously skipped — rather than silently vanishing.

Markdown rendering

Assistant messages now render as sanitised markdown instead of plain text. Code blocks, inline code, bullet lists, and bold/italic text in the AI’s explanatory prose display correctly. The DSL command blocks still extract and preview separately — markdown rendering applies to everything else in the response.

Auto-retry on command failure

When AI-generated commands fail (wrong node ID, invalid config key, connection that would form a cycle), the panel automatically sends a structured error report back to the LLM and retries, up to three attempts. Retry attempts render as muted “Auto-retrying (attempt N/3)…” spinners in the conversation so the loop is visible but not noisy. Raw error messages don’t appear in the chat. The behaviour is controlled by a new chatAutoRetry setting in Behavior Settings (on by default); turning it off reverts to showing the error directly.

Parser fix: triple-quoted strings

chatResponseParser and the command parser now correctly handle triple-quoted (""") multi-line strings in DSL blocks. Previously a multi-line set value with """ delimiters would truncate the block prematurely, silently discarding the remaining commands.

Upgrading

npm install @flowdrop/flowdrop@1.6.0

No breaking changes. Auto-retry is on by default; set chatAutoRetry: false in Behavior Settings to opt out.