Linting + touches
CI / lint (push) Successful in 8s
Build edge-node / build (push) Failing after 22s
Build icecast / build (push) Failing after 23s
CI / test (push) Successful in 23s
Build op25 / build (push) Failing after 16s

This commit is contained in:
Logan
2026-04-21 00:56:50 -04:00
parent c5984f6318
commit d0e4734cf9
7 changed files with 27 additions and 23 deletions
@@ -1,6 +1,5 @@
import json
from pathlib import Path
from typing import Optional
from app.config import settings
from app.models import NodeConfig, SystemConfig
from app.internal.logger import logger
+2 -1
View File
@@ -116,7 +116,8 @@ class RadioBot:
def _on_stream_end(self, error):
if error:
logger.error(f"Stream ended with error: {error}")
if not (self._loop and self._voice_client and self._voice_client.is_connected() and not self._voice_client.is_playing()):
vc = self._voice_client
if not (self._loop and vc and vc.is_connected() and not vc.is_playing()):
return
if error:
# Back off before retrying — prevents tight loop when PulseAudio is unavailable
+4 -1
View File
@@ -44,7 +44,10 @@ async def on_call_end(data: dict):
else:
logger.error(f"Audio upload failed for call {data['call_id']}. Verify C2_URL and Node API Key.")
else:
logger.warning(f"No recording file generated for call {data['call_id']} — call may have been too short or Icecast unreachable.")
logger.warning(
f"No recording file generated for call {data['call_id']} "
"— call may have been too short or Icecast unreachable."
)
await mqtt_manager.publish_metadata("call_end", data)
await mqtt_manager.publish_status("online")
+1
View File
@@ -1,3 +1,4 @@
# Icecast streaming server
FROM debian:bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive
+1 -1
View File
@@ -1,4 +1,4 @@
## OP25 Core Container
# OP25 Core Container
FROM python:slim-trixie
# Set environment variables