Delta sync (rsync) instead of full scp re-upload - unnecessary at 128k but free if files grow
Persistent MQTT connection instead of per-track connect (fine at current rate)
Multiple mounts / stations from one shipper
Listener stats surfaced to MQTT
Auto-prune old mp3s on VPS webroot (currently grows with shipped playlist; shipper only sends current playlist files)
SUPERSEDED — canonical repo is now frank/ai-radio-two. Mirrored there as issue #5 (see frank/ai-radio-two#4-#1).
- Delta sync (rsync) instead of full scp re-upload - unnecessary at 128k but free if files grow
- Persistent MQTT connection instead of per-track connect (fine at current rate)
- Multiple mounts / stations from one shipper
- Listener stats surfaced to MQTT
- Auto-prune old mp3s on VPS webroot (currently grows with shipped playlist; shipper only sends current playlist files)
---
**SUPERSEDED** — canonical repo is now [frank/ai-radio-two](https://git.obahan.xyz/frank/ai-radio-two). Mirrored there as issue #5 (see frank/ai-radio-two#4-#1).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
SUPERSEDED — canonical repo is now frank/ai-radio-two. Mirrored there as issue #5 (see frank/ai-radio-two#4-#1).