ipx-play sent traces and logged JSON but served no /metrics, so nothing showed whether shared links were opening or failing. It now serves them on metrics_bind (9189 in production, off the tunnel's port), with the directory's histogram and /proc reading: requests by method, route and status (by route, so each shared episode is not a row of its own, and an unknown address is route=""), episodes shared, memory, open files, uptime and version. The iPX dashboard gets an ipx-play row, its warnings join the other containers' log panel, and alerts.py fires when Prometheus cannot reach it. The prod-check skill and docs/play.md name it, with the scrape job and the OTEL_RESOURCE_ATTRIBUTES tag the trace panels need. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.3 KiB
1.3 KiB
Changelog: ipx-play
The pages shared episodes open, at play.ipxreader.app (docs/play.md). ipx's changelog is
crates/ipx/CHANGELOG.md, the page's web/CHANGELOG.md.
Its version is in crates/play/Cargo.toml, and a release is tagged play-vX.Y.Z.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Added
- A page for each shared episode, at
/e/<id>: its show, title, date, length and notes, a player that plays the publisher's own file from the time it was shared at (?t=754or?t=12:34), buttons to subscribe in Apple Podcasts, Overcast, Pocket Casts or Castro, the feed's address, and a preview where the link is pasted (#447). POST /v1/shares, for an ipx server with a token fromipx-play token <name>: an episode in, its short link out, the same link however often and from whichever server it is shared. An address that looks like a private or paid feed's is refused (#447).- Metrics for Prometheus on a port of its own,
metrics_bind: requests by route and status and their time, episodes shared, memory (#458).