async_eval_to_sx serializes component calls without expanding their bodies, so free variables from _ctx_to_env were passed through as unresolved symbols to the client. Switch to async_eval_slot_to_sx which expands the top-level component body server-side, resolving free variables during expansion. Also inline ~root-header/~root-mobile into layout defcomps rather than using wrapper defcomps (nested ~component calls in _aser are serialized without expansion, so wrapper defcomps would still leave free vars unresolved). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 KiB
32 KiB