Skip to content

Recover WebRTC file transfers through GMCP signalling - #93

Merged
ctoth merged 1 commit into
masterfrom
agent/issue-72-webrtc-recovery
Jul 30, 2026
Merged

Recover WebRTC file transfers through GMCP signalling#93
ctoth merged 1 commit into
masterfrom
agent/issue-72-webrtc-recovery

Conversation

@ctoth

@ctoth ctoth commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • coalesce concurrent WebRTC recovery attempts into one replacement connection
  • re-signal outgoing transfers with a fresh GMCP offer after reconnect
  • request a fresh offer for accepted incoming transfers
  • unregister the recovery listener during manager cleanup

Root cause

Recovery rebuilt the peer connection inside WebRTCService but never handed control back to FileTransferManager, the owner of the offer/answer signalling path. Multiple recovery calls also had no shared in-flight guard.

Verification

  • npm test -- src/WebRTCService.test.ts src/FileTransferManager.test.ts (82 passed)
  • npm test (1,042 passed)
  • npm run typecheck
  • staged Biome lint hook

Closes #72

@ctoth
ctoth merged commit 272827c into master Jul 30, 2026
1 check passed
github-actions Bot pushed a commit that referenced this pull request Jul 30, 2026
Recover WebRTC file transfers through GMCP signalling 272827c
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.

WebRTC recovery rebuilds connection without re-signalling; dead connection + concurrent recoveries

1 participant