@@ -83,18 +83,21 @@ def __init__(
8383 disable_safe_workflow_eviction = disable_safe_workflow_eviction ,
8484 header_codec_behavior = header_codec_behavior ,
8585 )
86+
87+ # Allow plugins to configure shared configurations with worker
8688 root_worker_plugin : temporalio .worker .Plugin = temporalio .worker ._worker ._RootPlugin ()
87- root_client_plugin : temporalio .client .Plugin = temporalio .client ._RootPlugin ()
88- for plugin in reversed (plugins ):
89+ for plugin in reversed ([plugin for plugin in plugins if isinstance (plugin , temporalio .worker .Plugin )]):
8990 root_worker_plugin = plugin .init_worker_plugin (root_worker_plugin )
90- root_client_plugin = plugin .init_client_plugin (root_client_plugin )
9191
92- # Allow plugins to configure shared configurations with worker
9392 worker_config = WorkerConfig (** {k : v for k , v in self ._config .items () if k in WorkerConfig .__annotations__ })
9493 worker_config = root_worker_plugin .configure_worker (worker_config )
9594 self ._config .update ({k : v for k , v in worker_config .items () if k in ReplayerConfig .__annotations__ })
9695
9796 # Allow plugins to configure shared configurations with client
97+ root_client_plugin : temporalio .client .Plugin = temporalio .client ._RootPlugin ()
98+ for plugin in reversed ([plugin for plugin in plugins if isinstance (plugin , temporalio .client .Plugin )]):
99+ root_client_plugin = plugin .init_client_plugin (root_client_plugin )
100+
98101 client_config = ClientConfig (** {k : v for k , v in self ._config .items () if k in ClientConfig .__annotations__ })
99102 client_config = root_client_plugin .configure_client (client_config )
100103 self ._config .update ({k : v for k , v in client_config .items () if k in ReplayerConfig .__annotations__ })
0 commit comments