mirror of
https://github.com/games-on-whales/fenrir.git
synced 2026-10-15 12:51:53 +00:00
[PR #52] [moonlight-proxy] make /launch timeout configurable to survive cold starts #54
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/fenrir#54
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/fenrir/pull/52
Author: @shrinedogg
Created: 7/25/2026
Status: 🔄 Open
Base:
main← Head:fix/cold-start-timeout📝 Commits (2)
2828835[moonlight-proxy] raise launch wait from 25s to 120s021da17[moonlight-proxy] make launch timeout configurable📊 Changes
3 files changed (+40 additions, -7 deletions)
View changed files
📝
README.md(+14 -2)📝
cmd/moonlight-proxy/main.go(+6 -3)📝
pkg/moonlight/rest.go(+20 -2)📄 Description
Problem
/launchwaited a hard-coded25sfor the operator to create aSessionandexpose its stream URL. A cold start (image pull + wolf boot +
wolf-agentreadiness) routinely takes 30–60s, so the first launch after a deploy almost
always timed out with HTTP 500 — the client disconnected and the half-started
session was torn down.
Solution
Replace the hard-coded
25swith a configurable--launch-timeoutflag(default
60s). The poll stays bound tor.Context(), so a disconnectingclient still cancels the wait early regardless of the configured value.
Changes
LaunchTimeouttoRESTServerOptions(defaults to60sif unset).--launch-timeoutflag tomoonlight-proxy.25sinlaunchHandlerwiths.LaunchTimeout.README.md.Supersedes the earlier hard-coded
120sbump with a tunable default. TheRenderNodestruct-tag fix is tracked separately onfix/rendernode-struct-tag.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.