aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-09-24 02:09:03 +0200
committerChristophe Besson <cbesson@gmail.com>2026-09-24 16:45:37 +0200
commit1ba95852f4365d166411f8e6db175db84ec06ec1 (patch)
tree726fe2a1b1f98b71522ad4b45adf8cd1cc8a7476 /packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
parent57737c05fbf7c482ba436ca8001e7a4b3097b434 (diff)
downloadmeshbay-1ba95852f4365d166411f8e6db175db84ec06ec1.tar.gz
refactor(node): move the MusicBrainz switch to the Music mixin
An operator op that exists for one app lives with that app. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.py38
1 files changed, 0 insertions, 38 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 5c4d76f..9afb06c 100644
--- a/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
+++ b/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
@@ -2734,44 +2734,6 @@ class WebRTCPeerSession(MusicMixin, SubtitlesMixin):
except Exception:
pass
- def _do_musicbrainz_enabled(self, msg: dict) -> None:
- """
- Whether MusicBrainz lookups run for this group at all. Per-group
- from the start (docs/MESHBAY_DESIGN.md §9.8) — signed like
- tmdb_enabled: it decides whether this group's members'
- Music tab ever makes outbound MusicBrainz traffic.
- """
- enabled = msg.get("enabled")
- if not isinstance(enabled, bool):
- self._send({"type": "error", "detail": "Missing or invalid 'enabled'"})
- return
- if not self._has_admin_authority():
- self._send({"type": "error", "detail": "No authorized key for this"})
- return
- self._issue_admin_challenge(OP_MUSICBRAINZ_ENABLED, str(enabled))
-
- async def _admin_exec_musicbrainz_enabled(
- self, pending: dict, transcript: bytes, sig: bytes,
- ) -> None:
- enabled = pending["subject"] == "True"
- if not await self._verify_admin_sig(transcript, sig):
- self._send({"type": "error", "detail": "Signature verification failed"})
- self._audit("admin_auth_failed", f"musicbrainz_enabled:{pending['subject']}")
- return
- try:
- await self._run_op(ops.set_musicbrainz_enabled, self._group_id or "", enabled)
- except ops.OpError as e:
- self._send({"type": "error", "detail": e.message})
- return
- self._audit("musicbrainz_enabled", pending["subject"])
-
- notice = {"type": MNP.MUSICBRAINZ_ENABLED_ACK, "v": MNP_VERSION, "enabled": enabled}
- for uid, session in list(self._peer_registry().items()):
- try:
- session._send(notice)
- except Exception:
- pass
-
# Reconcile's backstop and the watchdog debounce (indexer.py
# DirectoryIndexer) — how hard the node works on the operator's own
# disk, not a member-facing permission. Signed for the same reason as