From 753653b4df62723b82d32799825135822886eac7 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Thu, 3 Sep 2026 16:20:23 +0200 Subject: refactor(node): platform abstraction for Windows portability (W1-W2-W5-W6-W7) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Platform directories, signal handling, chmod guards, ffmpeg discovery, and platform-conditional CLI messages — all testable on Linux. See docs/WINDOWS-PORT.md §5 for the plan these implement. Co-Authored-By: Claude Opus 4.6 --- packages/meshbay-node/src/meshbay_node/transport/quic_server.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'packages/meshbay-node/src/meshbay_node/transport/quic_server.py') diff --git a/packages/meshbay-node/src/meshbay_node/transport/quic_server.py b/packages/meshbay-node/src/meshbay_node/transport/quic_server.py index 6dde3ff..95fccf1 100644 --- a/packages/meshbay-node/src/meshbay_node/transport/quic_server.py +++ b/packages/meshbay-node/src/meshbay_node/transport/quic_server.py @@ -53,6 +53,7 @@ from meshbay_common.groupbox import PURPOSE_ACK, seal from meshbay_common.protocol import MNP, file_chunk_wire from meshbay_node.indexer import GroupIndex from meshbay_node.transport.wire import index_sync_message +from meshbay_node import platform log = logging.getLogger(__name__) @@ -545,7 +546,7 @@ def _extract_segment(file_path: Path, start_time: float, duration: float) -> byt """Extract one HLS segment via ffmpeg. Returns MPEG-TS bytes or None on failure.""" try: result = subprocess.run( - ["ffmpeg", "-hide_banner", "-loglevel", "error", + [platform.ffmpeg_cmd(), "-hide_banner", "-loglevel", "error", "-ss", str(start_time), "-i", str(file_path), "-t", str(duration), @@ -596,8 +597,9 @@ class QuicChunkServer: # Peer sets are per group now — see _MNPServerProtocol._peer_registry(). self._host = host self._port = port - self._cert_path = cert_path or Path.home() / ".config/meshbay/node_tls.crt" - self._key_path = key_path or Path.home() / ".config/meshbay/node_tls.key" + from meshbay_node.platform import config_dir + self._cert_path = cert_path or config_dir() / "node_tls.crt" + self._key_path = key_path or config_dir() / "node_tls.key" self._server = None self._task = None self._session_tickets: dict[bytes, Any] = {} -- cgit v1.2.3