diff --git a/sdk/python/packages/flet-core/src/flet_core/page.py b/sdk/python/packages/flet-core/src/flet_core/page.py index e289ece22..3d66ea827 100644 --- a/sdk/python/packages/flet-core/src/flet_core/page.py +++ b/sdk/python/packages/flet-core/src/flet_core/page.py @@ -523,6 +523,7 @@ def wrapper(*args, **kwargs): return wrapper def run_task(self, handler: Callable[..., Awaitable[Any]], *args, **kwargs): + _session_page.set(self) assert asyncio.iscoroutinefunction(handler) handler_with_context = self.__context_wrapper(handler) @@ -543,6 +544,13 @@ def _on_completion(f): return future + def __context_wrapper(self, handler): + def wrapper(*args): + _session_page.set(self) + handler(*args) + + return wrapper + def run_thread(self, handler, *args): handler_with_context = self.__context_wrapper(handler) if is_pyodide():