diff --git a/reflex/app.py b/reflex/app.py index 259fcca29..89ee4c164 100644 --- a/reflex/app.py +++ b/reflex/app.py @@ -68,6 +68,7 @@ from reflex.components.core.upload import Upload, get_upload_dir from reflex.components.radix import themes from reflex.config import environment, get_config from reflex.event import ( + _EVENT_FIELDS, BASE_STATE, Event, EventHandler, @@ -1571,9 +1572,7 @@ class EventNamespace(AsyncNamespace): """ fields = data # Get the event. - event = Event( - **{k: v for k, v in fields.items() if k not in ("handler", "event_actions")} - ) + event = Event(**{k: v for k, v in fields.items() if k in _EVENT_FIELDS}) self.token_to_sid[event.token] = sid self.sid_to_token[sid] = event.token diff --git a/reflex/event.py b/reflex/event.py index 8b25c578b..c9058ce19 100644 --- a/reflex/event.py +++ b/reflex/event.py @@ -91,6 +91,8 @@ class Event: return f"{self.token}_{substate}" +_EVENT_FIELDS: set[str] = {f.name for f in dataclasses.fields(Event)} + BACKGROUND_TASK_MARKER = "_reflex_background_task"