First public beta of the listener-tightening release. Validated on real hardware (Pi 3 + FPP 9.4) with an 8h idle soak and an 8h restart-storm + settings torture run, plus a Docker version matrix across FPP 5.x through 9.x.
Install / revert / troubleshoot: BETA-TESTING.md
Compatibility
| FPP version | Supported | Notes |
|---|---|---|
| 9.x | YES | Primary test target |
| 8.x | YES | Validated on FPP 8.4 |
| 7.x | YES | Validated on FPP 7.5 |
| 6.x | YES | Validated on FPP 6.x-master |
| 5.x | YES | Validated on FPP 5.5 |
| 2.0 – 4.9.9 | NO | master-4 branch not yet updated
|
What's in the beta
- Quieter listener log. Per-tick "Getting FPP Status" line removed; with idle FPP the log barely moves.
- 5-second poll cadence when FPP is idle. When no playlist is running the listener sleeps 5s between FPP polls instead of using
fppStatusCheckTime. Resumes configured cadence as soon as a sequence starts. - Faster RF API calls. cURL with keep-alive — single TLS connection reused for outbound calls, ~50% per-call latency drop on real hardware.
- Cached playlist details. Playlist metadata cached for 60s so repeated polls during a show don't re-fetch.
- Settings file is no longer re-parsed every tick. Reloaded only when its mtime changes.
- Restart Listener no longer races itself. Rapid clicks of the Restart button can no longer spawn multiple listeners (PHP-side flock).
- Logrotate config installed. Listener log rotated automatically.
- HTML pollution suppressed. FPP common.php's HTML output and CLI-context PHP warnings no longer leak into the listener log on every startup.
Bugs fixed along the way
- Restart command now actually restarts the listener (kill + respawn), not just a flag toggle, so plugin upgrades take effect without a reboot.
- UI Restart button wired through FPP's command system.
- postStop / preStart cross-user kill via sudo fallback.
- PHP 8.5
$http_response_headerdeprecation handled.
Validation summary
- Hardware T1 (Pi 3): restart-storm, real-RF connectivity, 5-min soak — all pass
- Hardware T2 (Pi 3): FPP
/api/command/, settings round-trip, idle-backoff via tcpdump (verified 5s intervals exactly) — 26/26 - Hardware T3 (Pi 3): every other FPP command via POST
/api/command— 27/27 - 8h overnight soak: 0 KB RSS drift, 0 listener respawns, 478/478 FPP API ok
- 8h overnight stress: 958/958 restarts HTTP 200, 2866/2866 settings round-trips, 0 multi-listener events, 0 PHP anomalies in 14,402 listener log lines
- Docker FPP version matrix: 95/95 across 5.5 / 6.x-master / 7.5 / 8.4 / 9.4
Please open issues at https://github.com/Remote-Falcon/remote-falcon-issue-tracker/issues with FPP version, hardware, and the last 200 lines of /home/fpp/media/logs/remote-falcon-listener.log.