The spec's eval-list calls render-expr for HTML tags/components in eval position but returned a plain string. When that string was later passed through _arender (e.g. as a component keyword arg), it got HTML-escaped. Fix in eval.sx: wrap render-expr result in make-raw-html so the value carries the raw-html type through any evaluator boundary. Also add is_render_expr check in async_eval_ref.py as belt-and-suspenders for the same issue in the async wrapper. This fixes the streaming demo where suspense placeholder divs were displayed as escaped text instead of real DOM elements. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
33 KiB
33 KiB