diff options
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.py | 38 |
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 |