Files
ipx/crates/play/CHANGELOG.md
Ray Slakinski 5d0ff1ac57 ipx-play: metrics for Prometheus, a dashboard row and a down alert (#458)
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>
2026-11-13 22:08:31 -05:00

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=754 or ?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 from ipx-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).