Preserve middleware data across scene transitions (#1687) (#1766)

* Preserve middleware context across scene goto transitions (#1687)

* Add After.goto coverage for scene middleware context (#1687)
This commit is contained in:
Kostiantyn Kriuchkov 2026-02-15 20:24:34 +02:00 committed by GitHub
parent e37eddbe8c
commit 73710acb4c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 113 additions and 0 deletions

View file

@ -259,6 +259,7 @@ class SceneHandlerWrapper:
)
raise SceneException(msg) from None
event_update: Update = kwargs["event_update"]
scenes.data = {**scenes.data, **kwargs}
scene = self.scene(
wizard=SceneWizard(
scene_config=self.scene.__scene_config__,
@ -712,6 +713,9 @@ class ScenesManager:
:param kwargs: Additional keyword arguments to pass to the scene's wizard.enter() method.
:return: None
"""
if kwargs:
self.data = {**self.data, **kwargs}
if _check_active:
active_scene = await self._get_active_scene()
if active_scene is not None: