aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-08-24 23:47:01 +0200
committerChristophe Besson <cbesson@gmail.com>2026-08-24 23:47:01 +0200
commita41be5c5d6212f4eadc54bc17354311b0655a5a4 (patch)
tree85a46658b9cacf5752c3bfdc0ee513aa303a13d5 /packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
parent926ebce735afd01800a669a266b90fc98f673a6b (diff)
downloadmeshbay-a41be5c5d6212f4eadc54bc17354311b0655a5a4.tar.gz
fix(hub): keep an unmatched admin_challenge visible, add trace logging
A real report showed audio_root timing out with *nothing* logged in between the connection handshake and the timeout — no admin_challenge, no error, nothing. The previous fix made an unmatched admin_challenge return silently (correctly, to stop it stealing an unrelated pending request — see the earlier commit), but that silence is indistinguishable from "the request never reached the node at all", which is exactly the ambiguity blocking this investigation. An unmatched admin_challenge is now logged (op, op_id, and the full set of currently-pending keys) instead of dropped quietly, and setAudioRoot/_authorizeAdminOp trace both hops of the round trip explicitly. Node-side, _do_audio_root gets a debug log at entry — cheap, and the only way to know from server logs alone whether the request was ever received if the client-side trail comes up empty. Diagnostic only: no routing behavior changed from the previous fix, verified against the same reproduction script.
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py')
-rw-r--r--packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py b/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
index a5cccaa..6d21175 100644
--- a/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
+++ b/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
@@ -1862,6 +1862,8 @@ class WebRTCPeerSession:
def _do_audio_root(self, msg: dict) -> None:
"""Same shape as _do_video_root above — the Music app's own entry point."""
path = msg.get("path")
+ log.debug("audio_root request user=%s path=%r",
+ (self._user_id or "?")[:8], path)
if not isinstance(path, str):
self._send({"type": "error", "detail": "Missing or invalid 'path'"})
return