🚀 Uniflow 1.1.18
on October 6, 2025
✨ Darkwood Update: Uniflow 1.1.18 & Darkwood prototypes integrated on uniflow.io
🧩 Uniflow 1.1.18 – The new HtmlFlow
component
Uniflow version 1.1.18 introduces a new key component: HtmlFlow
. It now allows you to directly display HTML content stored in a context variable — whether it's a text fragment, a visual rendering, or even an iframe dynamically generated by another flow.
This component, developed last week, marks an important step in Uniflow's Flow Based Programming philosophy: making flows autonomous, visual and interactive, without depending on an external interface.
⚙️ Minimal example
// JavascriptFlow const iframe = ` <iframe frameborder="0"
src="https://itch.io/embed-upload/15043973?color=333333"
allowfullscreen
width="640"
height="380"> <a href="https://darkwoodcom.itch.io/darkwaar1">Play Darkwaar1 on itch.io</a></iframe> `;
context.gameHtml = iframe; return context;
// HtmlFlow → Variable = gameHtml
Here, the JavascriptFlow
creates an iframe (e.g. to an itch.io game) and stores it in gameHtml
. The HtmlFlow
retrieves this variable and displays it directly, without an internal iframe, thanks to secure client-side rendering.
🔒 Secure HTML rendering
HtmlFlow
is not a simple dangerouslySetInnerHTML
. It applies custom DOM filtering, specifically designed to allow embeds (iframe, simple markup) while blocking XSS attacks or CSS injections.
Among the rules applied:
- Removed dangerous tags (
script
,object
,embed
,form
,button
, etc.) * Removedon*
(e.g.onclick
) andstyle
attributes * Strict URL checking (https:
or relative only) * Cleaned upiframe
: only safe attributes (src
,width
,height
,frameborder
,allowfullscreen
,sandbox
) are kept * Automatically added a safe sandbox on iframes * SSR protection: no server-side execution * Memoization and size limits to avoid excessive rendering
These safeguards ensure a balance between flexibility and security, ideal for integrating visualizations or games without compromising the stability of the flow.
🎮 Darkwaar – Towards a playable puzzle game
Meanwhile, the Darkwood universe continues to take shape. I've started several prototype puzzle games, playable directly on itch.io, exploring different mechanics:
- Strategic placement on a grid,
- Turn-based and pawn management,
- Logic resolution (find the next winning move).
These prototypes allow me to quickly iterate on the gameplay before stabilizing a main version. The short-term goal: a playable puzzle in web format, accessible to all from itch.io.
🌐 Uniflow × Darkwaar – Native integration via HtmlFlow
Thanks to the new HtmlFlow
component, I was able to directly integrate the four Darkwaar projects into Uniflow. Each of the prototypes is now visible from a dedicated flow on uniflow.io/flows.
This integration concretely demonstrates how Uniflow can serve as a creative hub: flows become modules capable of orchestrating, displaying and hosting interactive creations — in this case, Darkwaar games — in the same environment.
💡 This approach paves the way for a space where automation and playful creation come together. > Every Darkwaar prototype is a flow, and every flow can become a playable experience.
🔗 Useful links
- 🧩 Uniflow 1.1.18 — Read the release on GitHub
- ✨Full technical article — HtmlFlow on the Uniflow blog
- 🎮 Prototypes Darkwaar — Available on uniflow.io/flows
- 🌑 Darkwood — darkwood.com
🔮 And after?
Future versions of Uniflow will continue to explore the visual and interactive dimension of flows:
- secure integration presets (itch.io, YouTube, dashboards), * advanced visualization components, * and natural connection between automation, gaming and art creation.
Darkwaar, for its part, will follow suit. The goal remains the same: to build a coherent universe where programming, imagination, and play meet.
✍️ Mathieu Ledru Darkwood – Automaton. Create. Play. Music
🎁 I offer free 30-minute coaching sessions to help creators like you automate their processes and save time ⏱️
👉 Book your free session here: https://www.bonzai.pro/matyo91/lp/4471/je-taide-a-automatiser-tes-process
Thanks for reading! Let's create smart, fast, and automated workflows together 💻⚡