From 78b4d0f1ac2b4b9af2db0645716411c99e9a72ac Mon Sep 17 00:00:00 2001 From: giles Date: Thu, 12 Mar 2026 02:31:52 +0000 Subject: [PATCH] Fix handler execution: inject page helpers into handler env component-source and handler-source are page helpers, not IO primitives. They need to be in the handler evaluation env just like defpage evaluation. Co-Authored-By: Claude Opus 4.6 --- shared/sx/handlers.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/shared/sx/handlers.py b/shared/sx/handlers.py index 23a29d6..b3b7444 100644 --- a/shared/sx/handlers.py +++ b/shared/sx/handlers.py @@ -127,6 +127,7 @@ async def execute_handler( 4. Return ``SxExpr`` wire format """ from .jinja_bridge import get_component_env, _get_request_context + from .pages import get_page_helpers import os if os.environ.get("SX_USE_REF") == "1": from .ref.async_eval_ref import async_eval_to_sx @@ -139,6 +140,7 @@ async def execute_handler( # Build environment env = dict(get_component_env()) + env.update(get_page_helpers(service_name)) env.update(handler_def.closure) # Bind handler params from request args