From 9317a8d3eefab978ddcaaa7a8461410fe8552f91 Mon Sep 17 00:00:00 2001 From: JarbasAi Date: Mon, 29 Jun 2026 18:06:42 +0100 Subject: [PATCH 1/2] fix: FakeBus folds the default session like any other (drop owner-only) on_message no longer special-cases the default id: every session folds onto the SessionManager singleton (value-passing; nothing is owner-only), matching the spec-tools SessionManager and the real MessageBusClient. --- ovos_logs_console_script | 0 ovos_utils/fakebus.py | 14 ++++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 ovos_logs_console_script diff --git a/ovos_logs_console_script b/ovos_logs_console_script new file mode 100644 index 00000000..e69de29b diff --git a/ovos_utils/fakebus.py b/ovos_utils/fakebus.py index 7fb523f4..3e4d6dd2 100644 --- a/ovos_utils/fakebus.py +++ b/ovos_utils/fakebus.py @@ -145,9 +145,10 @@ def on_message(self, *args): try: # replicate side effects from ovos_bus_client.session import Session, SessionManager sess = Session.from_message(parsed_message) - if sess.session_id != "default": - # 'default' can only be updated by core - SessionManager.update(sess) + # every session — including the default id — folds onto the singleton + # (value-passing; nothing is owner-only, matching the spec-tools + # SessionManager and the real MessageBusClient) + SessionManager.update(sess) except ImportError: pass # don't care @@ -498,9 +499,10 @@ def on_message(self, *args): try: # replicate side effects from ovos_bus_client.session import Session, SessionManager sess = Session.from_message(parsed_message) - if sess.session_id != "default": - # 'default' can only be updated by core - SessionManager.update(sess) + # every session — including the default id — folds onto the singleton + # (value-passing; nothing is owner-only, matching the spec-tools + # SessionManager and the real MessageBusClient) + SessionManager.update(sess) except ImportError: pass # don't care From f11ecf1b9ce2bf1f287700297e04eeca08d4dbce Mon Sep 17 00:00:00 2001 From: JarbasAi Date: Mon, 29 Jun 2026 18:17:24 +0100 Subject: [PATCH 2/2] build: require ovos-bus-client>=2.6.2a2 (consistent SessionManager registry) The FakeBus session integration (emit injects a session; the namespace-mirror counterpart goes through Message.forward, which now stamps the session in spec-tools >=1.2.x) needs ovos-bus-client's one-class SessionManager so emit and forward read the SAME sessions registry. Under 2.6.2a1 the registry diverged (subclass shadowing), so the original and mirrored copies carried different session bytes and the receive-side mirror dedup fingerprint mismatched (handler fired twice). 2.6.2a2 grafts onto the single registry, restoring consistency. --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 07d396ae..597e101a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,7 +34,7 @@ extras = [ "ovos-plugin-manager>=0.0.25", "ovos-config>=0.0.12", "ovos-workshop>=0.0.13", - "ovos_bus_client>=0.0.8", + "ovos_bus_client>=2.6.2a2", "langcodes", "timezonefinder", "oauthlib~=3.2",