diff --git a/app/console/admin_ui.py b/app/console/admin_ui.py
index 4dbdaf3..9863445 100644
--- a/app/console/admin_ui.py
+++ b/app/console/admin_ui.py
@@ -56,8 +56,9 @@ def _fmt_meta_detail(m: object, a: str) -> Markup:
payload = json.dumps(val, sort_keys=True, default=str)
blocks.append(
Markup(
- '
{}
'
- ''
+ "{}
"
+ ''
+ ""
).format(label, payload)
)
else:
diff --git a/tests/test_admin_ui.py b/tests/test_admin_ui.py
index 467aeca..6e3713e 100644
--- a/tests/test_admin_ui.py
+++ b/tests/test_admin_ui.py
@@ -1,5 +1,7 @@
import base64
import os
+import re
+from pathlib import Path
import pytest
from fastapi import FastAPI
@@ -95,13 +97,31 @@ class Row:
# Dict values become a collapsible json-viewer component fed escaped JSON.
assert isinstance(rendered, Markup)
assert "/console/static/json_viewer.js" in rendered
- assert " 0.42" in rendered
+def test_meta_formatter_tag_matches_vendored_custom_element() -> None:
+ """The emitted tag must be the one the vendored bundle registers — an
+ unknown tag silently renders as an empty element (prod regression)."""
+ bundle = (
+ Path(__file__).parent.parent / "app" / "console" / "static" / "json_viewer.js"
+ ).read_text()
+ match = re.search(r'customElements\.define\("([^"]+)"', bundle)
+ assert match, "vendored bundle no longer registers a custom element?"
+ tag = match.group(1)
+
+ class Row:
+ meta = {"texet_generation": {"query": "hi"}}
+
+ rendered = _fmt_meta_detail(Row(), "meta")
+ assert f"<{tag} " in rendered
+ assert f"{tag}>" in rendered
+
+
def test_meta_formatter_escapes_user_content() -> None:
class Row:
meta = {"texet_generation": {"query": ''}}