fix(client): preserve ICE state in peer connection failure reports#2340
fix(client): preserve ICE state in peer connection failure reports#2340jdimovska wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughChangesPeer-connection events now include live ICE state. ICE State Reporting
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant RTCPeerConnection
participant BasePeerConnection
participant ClientEventReporter
RTCPeerConnection->>BasePeerConnection: expose iceConnectionState
BasePeerConnection->>ClientEventReporter: emit state change
ClientEventReporter->>ClientEventReporter: store and normalize ICE state
ClientEventReporter-->>RTCPeerConnection: report failure telemetry
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bundle sizeBuilt package output. Sizes in KB; delta vs
|
💡 Overview
This PR fixes peer connection failure reporting by preserving the observed ICE connection state on client event telemetry. Previously, the reporter inferred
ice_statefrom the type of failure callback, which could misreport DTLS failures as having connected ICE, or lose the ICE state captured when the peer connection pair opened. The change carries the liveRTCPeerConnection.iceConnectionStatethrough peer connection state-change events and uses it when completing PeerConnectionConnect failure reports.📝 Implementation notes
🎫 Ticket: https://linear.app/stream/issue/XYZ-123
📑 Docs: https://github.com/GetStream/docs-content/pull/
Summary by CodeRabbit