From 639a6a2a53dd2f9847e5281f8fd56371a4bbda54 Mon Sep 17 00:00:00 2001 From: giles Date: Mon, 23 Mar 2026 17:48:14 +0000 Subject: [PATCH] Standalone OOB layout: remove :affinity :server, let client render The OOB layout delegates to ~shared:layout/oob-sx which needs to produce sx-swap-oob elements. Without server affinity, the aser serializes the component call for client-side rendering (matching production behaviour where the client renders the OOB structure). Co-Authored-By: Claude Opus 4.6 (1M context) --- sx/sx/layouts.sx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sx/sx/layouts.sx b/sx/sx/layouts.sx index 666fa46..7000e31 100644 --- a/sx/sx/layouts.sx +++ b/sx/sx/layouts.sx @@ -170,7 +170,8 @@ ;; Standalone OOB: delegate to shared layout for proper OOB swap structure. ;; The content (with nav + header island) goes into #main-panel via sx-swap-oob. -(defcomp ~layouts/standalone-docs-layout-oob (&key content) :affinity :server +;; No :affinity — let aser serialize the component call for client-side rendering. +(defcomp ~layouts/standalone-docs-layout-oob (&key content) (~shared:layout/oob-sx :content content)) ;; Standalone mobile: nothing — nav is in content.