v1.8.50
fix: bound stream reads by context timeout, fix third adaptive-chunk-size gap
Stream() only used the context timeout to guard the HTTP response write side;
http.ServeContent's internal reads went through torrstor.Reader.Read(), which
called the underlying anacrolix reader with context.Background(). A stalled
swarm (no seeders for the requested range) left that goroutine and its
torrstor.Reader blocked until the whole torrent closed (up to 2h), instead of
being bounded by streamTimeout. Added torrstor.Reader.ReadContext and a
ctxReader wrapper in stream.go so http.ServeContent's reads are properly
cancelled on timeout.
Also fixed a third prefetch site (main.go, no-active-pump fallback) still
sizing its fetch with the fixed ReadAheadBase instead of the adaptive
raCache.ChunkSize(h.path), same collision/miss class as 4005a14 and the two
WarmLanding sites fixed today.
Full Changelog: v1.8.49...v1.8.50