Skip to content

Move Hype Train onto the endpoint that still exists - #8

Merged
valzargaming merged 1 commit into
mainfrom
dev
Sep 13, 2026
Merged

valzargaming merged 1 commit into
mainfrom
dev

Conversation

@valzargaming

Copy link
Copy Markdown
Member

Twitch withdrew Get Hype Train Events. hypeTrain->forBroadcaster() has been failing with 410 in production, and the EventSub hype train types were still being subscribed at v1, which was withdrawn in the same change.

HypeTrainRepository now targets hypetrain/status:

status($broadcasterId) the {current, all_time_high, shared_all_time_high}
record, or null when the channel has no data
isActive($broadcasterId) whether a train is running right now

status() returns the decoded row rather than a Part. The payload has nothing in common with HypeTrainEvent, and inventing a Part for a shape this nested would be guessing at an API that has just changed under us.

forBroadcaster() and latest() are kept as deprecated stubs that reject with an explanation, so existing callers get a sentence telling them what to do instead of a bare HTTP 410.

Verified live: status() returns all three documented keys, isActive() returns false on an idle channel.

Twitch withdrew Get Hype Train Events. hypeTrain->forBroadcaster() has been
failing with 410 in production, and the EventSub hype train types were
still being subscribed at v1, which was withdrawn in the same change.

HypeTrainRepository now targets hypetrain/status:

  status($broadcasterId)   the {current, all_time_high, shared_all_time_high}
                           record, or null when the channel has no data
  isActive($broadcasterId) whether a train is running right now

status() returns the decoded row rather than a Part. The payload has
nothing in common with HypeTrainEvent, and inventing a Part for a shape
this nested would be guessing at an API that has just changed under us.

forBroadcaster() and latest() are kept as deprecated stubs that reject with
an explanation, so existing callers get a sentence telling them what to do
instead of a bare HTTP 410.

Verified live: status() returns all three documented keys, isActive()
returns false on an idle channel.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@valzargaming
valzargaming merged commit 3ca7a94 into main Sep 13, 2026
5 checks passed
@valzargaming
valzargaming deleted the dev branch September 23, 2026 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant