Skip to content

[epic] Recovery implemented twice, neither re-runs signalling #81

Description

@ctoth

Root cause: recovery is implemented twice, at two layers, and neither re-runs signalling

Connection recovery exists in both WebRTCService.attemptRecovery (src/WebRTCService.ts:159) and FileTransferManager.attemptRecovery (src/FileTransferManager.ts:621). Neither knows about the other, and neither re-runs the offer/answer through the GMCP signalling channel, so a "recovered" peer connection has no remote description and can never reach connected.

Instances already filed

Suggested direction

One recovery owner — the layer that holds the signalling channel (FileTransferManager) — drives re-negotiation; WebRTCService only reports transport state. Guard against concurrent recovery attempts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions