feat: bell-tower favicon, lfx-clean flows, branded HTML mail

This commit is contained in:
Jonas Miederer 2026-09-13 17:57:42 +02:00
parent 672faf3af8
commit df5c1e296c
15 changed files with 288 additions and 30 deletions

View file

@ -143,6 +143,19 @@ def kirche_node(
node_dict = _normalize(node_dict, node_id, comp_name, *position)
for field, value in (values or {}).items():
node_dict["data"]["node"]["template"][field]["value"] = value
# lfx validate --level 4 errors on required inputs with no value and no
# incoming edge. Our form fields are filled at runtime via the
# form_values envelope (collect() merges), never via edges — so required
# template fields carry a single-space sentinel value. The form parser
# (app/flows/input_schema.py) treats whitespace-only values as "no
# default", keeping the web form clean.
for field_def in node_dict["data"]["node"]["template"].values():
if (
isinstance(field_def, dict)
and field_def.get("required")
and field_def.get("value") in (None, "", [], {})
):
field_def["value"] = " "
return node_dict