Skip to content

fix(limits): HLS media skips the general limiter; 429s say when to retry - #271

Merged
SteveGilvarry merged 1 commit into
masterfrom
fix/257-hls-rate-limit
Oct 30, 2026
Merged

SteveGilvarry merged 1 commit into
masterfrom
fix/257-hls-rate-limit

Conversation

@SteveGilvarry

Copy link
Copy Markdown
Member

With the shipped limits (one request a second, burst 120) a four-tile
HLS montage, about four playlist and segment fetches a second, ran the
bucket dry within a minute and then got 429s until the tiles gave up.
WebRTC montages were fine.

GET requests for a live session's playlists, init segment and media
segments now skip the general limiter. A session already gates them,
and starting the session still goes through it. hls/link stays limited.

tower_governor rounds the wait down to whole seconds, so with one token
a second every 429 carried retry-after: 0, and a client that honoured it
came straight back. The 429 now rounds up (at least 1 s), on the auth
limiter too.

Fixes #257

🤖 Generated with Claude Code

https://claude.ai/code/session_01KXE4e1KGijmQSLUde9ydBZ

With the shipped limits (one request a second, burst 120) a four-tile
HLS montage, about four playlist and segment fetches a second, ran the
bucket dry within a minute and then got 429s until the tiles gave up.
WebRTC montages were fine.

GET requests for a live session's playlists, init segment and media
segments now skip the general limiter. A session already gates them,
and starting the session still goes through it. hls/link stays limited.

tower_governor rounds the wait down to whole seconds, so with one token
a second every 429 carried retry-after: 0, and a client that honoured it
came straight back. The 429 now rounds up (at least 1 s), on the auth
limiter too.

Fixes #257

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KXE4e1KGijmQSLUde9ydBZ
@SteveGilvarry
SteveGilvarry merged commit 9744f9d into master Oct 30, 2026
13 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Shipped limiter values cannot sustain an HLS montage, and 429s carry retry-after: 0

1 participant