mirror of
https://github.com/games-on-whales/fenrir.git
synced 2026-10-15 12:51:53 +00:00
[PR #9] [CLOSED] [moonlight-proxy] raise launch wait from 25s to 120s #11
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#11
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/9
Author: @shrinedogg
Created: 6/13/2026
Status: ❌ Closed
Base:
main← Head:fix/launch-cold-start-timeout📝 Commits (9)
b5df617[operator] retry stream reconciliation and fix stale session tracking0f5d768[moonlight-proxy] raise launch wait from 25s to 120sfd91750[wolf-agent] act as fake-udev for hotplugged input devices2828835[moonlight-proxy] raise launch wait from 25s to 120s6fdace7Fix malformed json struct tag on RuntimeWolfVariables.RenderNodebb77b02[moonlight-proxy] make launch timeout configurablecf3cf47Merge branch 'games-on-whales:main' into main8e6abf5Merge branch 'main' into fix/launch-cold-start-timeoutfca375eMerge branch 'games-on-whales:main' into fix/launch-cold-start-timeout📊 Changes
13 files changed (+461 additions, -17 deletions)
View changed files
📝
README.md(+14 -2)📝
cmd/moonlight-proxy/main.go(+6 -3)📝
go.mod(+2 -3)📝
go.sum(+0 -2)📝
pkg/controllers/agent.go(+84 -0)📝
pkg/controllers/session.go(+25 -3)➕
pkg/fakeudev/fakeudev.go(+173 -0)➕
pkg/fakeudev/fakeudev_linux.go(+26 -0)➕
pkg/fakeudev/fakeudev_other.go(+9 -0)➕
pkg/fakeudev/fakeudev_test.go(+54 -0)📝
pkg/generic/controller.go(+9 -1)📝
pkg/moonlight/rest.go(+20 -2)📝
pkg/wolfapi/client.go(+39 -1)📄 Description
Problem
launchHandlerwaits for the direwolf controller to create the session before returning the stream URL, but the poll budget is only 25s:A cold session start routinely exceeds that: pulling a multi-GB app image, booting Wolf, and waiting for
wolf-agentreadiness easily takes 30–60s. When the 25s budget runs out,/launchreturns 500 right before the pod becomes ready; the Moonlight client then cancels and the half-started session is torn down. In practice the first launch of an app fails almost every time.Fix
/launchpoll budget from 25s to 120s.The poll is bound to
r.Context(), so if the Moonlight client gives up and disconnects the wait is still cancelled early — the larger timeout only extends the patient path, it does not hold anything open after the client has left.Testing
go build ./...andgo test ./pkg/moonlight/...pass.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.