From 12bf66ef6f7f846d2c6a8f8298b608ef99694e13 Mon Sep 17 00:00:00 2001 From: Sameh Khamis Date: Thu, 24 Sep 2026 22:17:28 -0700 Subject: [PATCH] docs: credit the CCTV idle-deadline fix in CHANGELOG (#688) Move the entry to the top of the changelog, where main's newer entries had left it behind, and credit the contributor. Co-Authored-By: Claude Opus 5.5 (1M context) --- CHANGELOG.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17ade8cd3..85fbc72ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +- Release CCTV media streams whose upstream falls silent after answering. The + 15-second media deadline covered only the wait for response headers, so a + camera that replied and then stopped sending held both the proxy connection + and its upstream socket open for as long as the camera host allowed; the + declared `Content-Length` ceiling was the only body bound, and a chunked or + length-less body had none. A 30-second idle deadline now bounds the gap + between upstream chunks and releases a body that has gone silent. It is + rescheduled while the response is still waiting to drain, so a viewer on a + slow link is not mistaken for a dead camera; live feeds are unaffected + (Ethan Stoner, #688). + - Aircraft track backfill (`/api/opensky-track`, `/api/adsblol/trace`) now answers 502 when the upstream body exceeds the 5 MB cap, instead of a 200 whose error body the client read as an empty track. The failure is cached @@ -237,16 +248,6 @@ Analyst records for loaded satellites, datacenters and dams, with explicit bound while ordinary wheel, line-mode and touch-pinch inputs retain their existing behavior; the listener is removed with the application scene. -- Release CCTV media streams whose upstream falls silent after answering. The - 15-second media deadline covered only the wait for response headers, so a - camera that replied and then stopped sending held both the proxy connection - and its upstream socket open for as long as the camera host allowed; the - declared `Content-Length` ceiling was the only body bound, and a chunked or - length-less body had none. A 30-second idle deadline now bounds the gap - between upstream chunks and releases a body that has gone silent. It is - rescheduled while the response is still waiting to drain, so a viewer on a - slow link is not mistaken for a dead camera; live feeds are unaffected. - - Report AIS speed and course that carry the standard "not available" code as unknown instead of 102.3 knots and 360 degrees. Genuine readings, including a stopped vessel's zero and the highest encodable values, are unchanged.