mirror of
https://github.com/games-on-whales/wolf.git
synced 2026-10-15 21:12:08 +00:00
[PR #510] [MERGED] fix(rest): don't send a second response after a successful resume #498
Labels
No labels
🧠 1 - 🤖 999
AMD
bug
bug
cannot reproduce
documentation
duplicate
easy
enhancement
enhancement
enhancement
fixed?
fixed?
good first issue
hard
help wanted
Intel
invalid
LXC
medium
moonlight-protocol
Multi GPU
nixos
not a bug
nvidia
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/wolf#498
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/wolf/pull/510
Author: @jdonaldson
Created: 9/21/2026
Status: ✅ Merged
Merged: 9/22/2026
Merged by: @ABeltramo
Base:
stable← Head:fix/resume-double-response📝 Commits (1)
40858c3fix(rest): don't send a second response after a successful resume📊 Changes
1 file changed (+1 additions, -2 deletions)
View changed files
📝
src/moonlight-server/rest/endpoints.hpp(+1 -2)📄 Description
Fixes #509.
resume()ended with an unconditionalserver_error<SimpleWeb::HTTPS>(response)at function scope, so the success path wrote two complete HTTP responses onto the same connection:200+ resume XML fromsend_xml(), then400+ error XML fromserver_error().send_xml()callsresponse->write(...)and setsclose_connection_after_response = true, andserver_error()is itself asend_xml()withclient_error_bad_request— so both were emitted back to back.This moves the call into the
else, which matcheslaunch(),cancel(), and the other threeserver_error()call sites in this file (all already inside conditionals).git blamedates the line tocb0e168e(2025-04-04), the same commit that added the success-pathsend_xml()two lines above, so it looks like a leftover from that refactor.Verification
stable@2273b2e(built viadocker/wolf.Dockerfile --target wolf-builder, 0 errors).400— it may well have been ignoring it, since the connection closes right after. What the change guarantees is that a successful resume is now distinguishable from a failed one at the protocol level.Found while investigating re-entry into an already-running session (#501, #504). Not claiming it causes the CUDA-context crashes there — separate defect, noticed along the way.
🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.