stream: show the queue of upcoming tracks (/queue)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
nemunaire 2026-07-04 11:10:37 +08:00
commit 62302ac21d
4 changed files with 98 additions and 11 deletions

View file

@ -254,6 +254,24 @@ harbor.http.register(
fun(_, resp) -> resp.json(history())
)
# File d'attente des prochains morceaux, relayée depuis le daemon d'ingestion
# (le player n'a pas d'accès direct au réseau interne). Comme /ingest/status, on
# renvoie une valeur neutre — ici une liste vide — si le daemon est injoignable,
# pour ne pas casser le player.
ingest_queue_url = "http://ingest:8080/queue"
harbor.http.register(
port=8000, method="GET", "/queue",
fun(_, resp) -> begin
resp.content_type("application/json; charset=utf-8")
body = http.get(ingest_queue_url, timeout=5.0)
if body.status_code == 200 then
resp.data(string.trim(body) ^ "\n")
else
resp.data("[]")
end
end
)
# État du préchargement, relayé depuis le daemon d'ingestion (reverse proxy) :
# le player n'a pas accès direct au réseau interne, on lui expose donc l'info
# {ready, prefetch} via le même harbor que le flux. Si le daemon est injoignable