Follow-up to #175 (closed). Verified against main @ a5d6c12 (v0.0.27).
Symptom
framework/cli/simple_module_cli/templates/host/templates/index.html:6 still ships:
<title>SimpleModule</title>
simple_module_hosting._inertia_setup registers the branding_head Jinja global whose docstring says it exists so "the static <title> and theme-color are already branded before React hydrates" — but no scaffolded host calls it, so every new host renders "SimpleModule" to crawlers, link previews, and history entries until someone finds the global by reading framework source.
Fix
Scaffold template head:
{% set brand = branding_head(request) %}
<title>{{ brand.app_name }}</title>
{% if brand.theme_color %}<meta name="theme-color" content="{{ brand.theme_color }}" />{% endif %}
(Worked as expected when applied in a consuming host: iiasa/globalcanopyatlas#5.)
Related, larger gap (separate decision)
Per-page title / meta_description / og_* props are in every Inertia payload but nothing renders them server-side without enabling SSR, so page-level SEO/social metadata is client-only on non-SSR hosts. fastapi-inertia supports SSR — a docs recipe (or a lightweight "render title/meta props into the template" hook for non-SSR hosts) would close it. Happy to split this into its own issue if preferred.
Follow-up to #175 (closed). Verified against main @ a5d6c12 (v0.0.27).
Symptom
framework/cli/simple_module_cli/templates/host/templates/index.html:6still ships:simple_module_hosting._inertia_setupregisters thebranding_headJinja global whose docstring says it exists so "the static<title>andtheme-colorare already branded before React hydrates" — but no scaffolded host calls it, so every new host renders "SimpleModule" to crawlers, link previews, and history entries until someone finds the global by reading framework source.Fix
Scaffold template head:
(Worked as expected when applied in a consuming host: iiasa/globalcanopyatlas#5.)
Related, larger gap (separate decision)
Per-page
title/meta_description/og_*props are in every Inertia payload but nothing renders them server-side without enabling SSR, so page-level SEO/social metadata is client-only on non-SSR hosts. fastapi-inertia supports SSR — a docs recipe (or a lightweight "render title/meta props into the template" hook for non-SSR hosts) would close it. Happy to split this into its own issue if preferred.