Temasys / getaroom

Simple WebRTC audio/video conferencing demo using SkylinkJS and React.
http://getaroom.io
171 stars 91 forks source link

Unable to reconnect in getaroom.io UI after stopping screensharing session using MCU #17

Open oooookk7 opened 7 years ago

oooookk7 commented 7 years ago

What was the issue: After screensharing, there is no reconnection and here's the error message:

SkylinkJS - <> (peerJoined) Exception occurred in event: Error: Invariant Violation: flattenChildren(...): Encountered two children with the same key, .$Oauo5iGCRkdgJ4-KAAmp. Children keys must be unique. at invariant (react.js:15915) at flattenSingleChildIntoContext (react.js:15158) at traverseAllChildrenImpl (react.js:17115) at traverseAllChildrenImpl (react.js:17094) at traverseAllChildren (react.js:17170) at flattenChildren (react.js:15179) at Constructor._updateChildren (react.js:10985) at Constructor.updateChildren (react.js:10965) at Constructor._updateDOMChildren (react.js:7007) at Constructor. (react.js:6860) _logFn @ skylink.debug.js:7912 error @ skylink.debug.js:7952 Skylink._trigger @ skylink.debug.js:8883 Skylink._welcomeHandler @ skylink.debug.js:10444 Skylink._processSingleMessage @ skylink.debug.js:9770 Skylink._processSigMessage @ skylink.debug.js:9731 (anonymous) @ skylink.debug.js:9440 Emitter.emit @ socket.io.js:5652 Socket.onevent @ socket.io.js:5178 Socket.onpacket @ socket.io.js:5136 (anonymous) @ socket.io.js:5517 Emitter.emit @ socket.io.js:5652 Manager.ondecoded @ socket.io.js:4663 (anonymous) @ socket.io.js:5517 Emitter.emit @ socket.io.js:2551 Decoder.add @ socket.io.js:6151 Manager.ondata @ socket.io.js:4653 (anonymous) @ socket.io.js:5517 Emitter.emit @ socket.io.js:2551 Socket.onPacket @ socket.io.js:459 (anonymous) @ socket.io.js:276 Emitter.emit @ socket.io.js:2551 Transport.onPacket @ socket.io.js:892 Transport.onData @ socket.io.js:884 ws.onmessage @ socket.io.js:1998 skylink.debug.js:8884 Uncaught Error: Invariant Violation: flattenChildren(...): Encountered two children with the same key, .$Oauo5iGCRkdgJ4-KAAmp. Children keys must be unique. at invariant (react.js:15915) at flattenSingleChildIntoContext (react.js:15158) at traverseAllChildrenImpl (react.js:17115) at traverseAllChildrenImpl (react.js:17094) at traverseAllChildren (react.js:17170) at flattenChildren (react.js:15179) at Constructor._updateChildren (react.js:10985) at Constructor.updateChildren (react.js:10965) at Constructor._updateDOMChildren (react.js:7007) at Constructor. (react.js:6860)

How did we reproduced it:

  1. Peer A joins MCU room.
  2. Peer B joins MCU room.
  3. Peer A and Peer B gets connected.
  4. Peer A starts screensharing.
  5. Peer B sees Peer A screensharing stream.
  6. Peer B stops screensharing.
  7. See error above.