Skip to content

fix: keep screen signaling WebSocket alive - #17

Merged
huonwe merged 1 commit into
huonwe:mainfrom
rogniceguy-max:fix/webrtc-signaling-lifecycle
Oct 4, 2026
Merged

huonwe merged 1 commit into
huonwe:mainfrom
rogniceguy-max:fix/webrtc-signaling-lifecycle

Conversation

@rogniceguy-max

Copy link
Copy Markdown
Contributor

Summary

  • keep the screen signaling WebSocket alive after SDP negotiation
  • continuously read the socket so Gorilla can process close, ping, and pong control frames
  • send protocol-level pings and refresh the read deadline on pong
  • handle the existing binary 0x63 key-frame request by calling agent.PLIRequest()

Problem

handleScreenWS returned immediately after sending webrtc_metainfo. That left no reader for the upgraded WebSocket, so control frames and the key-frame request sent by public/static/connect.js were never consumed. Idle signaling connections could also be reaped while the WebRTC peer remained healthy.

Verification

  • built the embedded Linux recorder required by the project
  • ran go test ./... successfully with Go 1.25.4

@huonwe

huonwe commented Oct 4, 2026

Copy link
Copy Markdown
Owner

Hi, I'm sorry for the late reply. I was busy over the last few months. I'd like to work on this project again soon, as well as merge your great contribution. Thanks!

@huonwe
huonwe merged commit 6677f83 into huonwe:main Oct 4, 2026
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.

2 participants