unarr/internal
Deivid Soto 2dfe144df1 feat(stream): trackingReader with byte-based progress and rate limiting
Replace Range-header-based progress tracking with a trackingReader that
measures actual bytes read per connection. This gives accurate playback
position even for local/NAS files where VLC buffers aggressively.

- Token bucket rate limiter at 2x video bitrate (from ffprobe)
- CAS loops for lock-free atomic progress updates without regression
- probeMediaInfo extracts bitrate + duration via ffprobe (3s timeout)
- Defense-in-depth: only probe regular files, reject FIFOs/devices
- Remove dead parseRangeStart function
- Consistent [stream] log prefix
2026-04-07 23:28:53 +02:00
..
agent feat(agent): send stream port and IPs in register request 2026-04-07 23:28:41 +02:00
arr feat(cli): upgrade command, rich status, and version cache 2026-03-31 22:05:43 +02:00
cmd chore(release): 0.5.4 2026-04-07 19:18:41 +02:00
config fix(progress): always report status transitions and poll for control signals 2026-03-31 16:55:50 +02:00
engine feat(stream): trackingReader with byte-based progress and rate limiting 2026-04-07 23:28:53 +02:00
library test(mediainfo): add ffprobe download unit tests 2026-04-06 10:16:27 +02:00
mediaserver feat(cli): upgrade command, rich status, and version cache 2026-03-31 22:05:43 +02:00
parser feat: initial commit — unarr CLI 2026-03-28 11:29:42 +01:00
sentry feat(cli): upgrade command, rich status, and version cache 2026-03-31 22:05:43 +02:00
ui fix(ci): fix lint errors and pin CI to Go 1.25 2026-03-31 22:15:12 +02:00
upgrade fix(daemon): use correct systemd user target and isolate test cache 2026-04-06 18:49:44 +02:00
usenet fix(ci): fix lint errors and pin CI to Go 1.25 2026-03-31 22:15:12 +02:00