From 2b843024d39aaa7b4849e674a6be51c33598608d Mon Sep 17 00:00:00 2001 From: wyzula-jan Date: Mon, 2 Mar 2026 13:05:50 +0100 Subject: [PATCH] fix(rpc_server): add check for rpc_exposed to serialize_object --- bec_widgets/cli/rpc/rpc_base.py | 5 +++++ bec_widgets/utils/rpc_server.py | 3 +++ 2 files changed, 8 insertions(+) diff --git a/bec_widgets/cli/rpc/rpc_base.py b/bec_widgets/cli/rpc/rpc_base.py index fb1a9c20..5383c8c0 100644 --- a/bec_widgets/cli/rpc/rpc_base.py +++ b/bec_widgets/cli/rpc/rpc_base.py @@ -292,6 +292,11 @@ class RPCBase: return { key: self._create_widget_from_msg_result(val) for key, val in msg_result.items() } + rpc_enabled = msg_result.get("__rpc__", True) + if rpc_enabled is False: + return None + + msg_result = dict(msg_result) cls = msg_result.pop("widget_class", None) msg_result.pop("__rpc__", None) diff --git a/bec_widgets/utils/rpc_server.py b/bec_widgets/utils/rpc_server.py index f318b8b7..c857a8e5 100644 --- a/bec_widgets/utils/rpc_server.py +++ b/bec_widgets/utils/rpc_server.py @@ -300,6 +300,9 @@ class RPCServer: # Respect RPC = False if getattr(obj, "RPC", True) is False: return None + # Respect rpc_exposed = False + if getattr(obj, "rpc_exposed", True) is False: + return None return self._serialize_bec_connector(obj, wait=True) def emit_heartbeat(self) -> None: