From dcca301d822f196ca570942a574ab1848236a4ce Mon Sep 17 00:00:00 2001 From: Stefan Otto Date: Wed, 18 Jul 2018 15:20:22 +0200 Subject: [PATCH 1/3] rollback updateDimensions to counting video elements instead of peers(needed fixes screensharing) --- app/lib/components/Peers.jsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/lib/components/Peers.jsx b/app/lib/components/Peers.jsx index 67036f5..9733d24 100644 --- a/app/lib/components/Peers.jsx +++ b/app/lib/components/Peers.jsx @@ -22,7 +22,12 @@ class Peers extends React.Component updateDimensions = () => { - const n = this.props.peers.length; + const n = this.props.videoStreams ? this.props.videoStreams : 0; + + if (n == 0) + { + return; + } const width = this.refs.peers.clientWidth; const height = this.refs.peers.clientHeight; From f49f02d0167d93f4aa3753b98a89bf796d12e88a Mon Sep 17 00:00:00 2001 From: Stefan Otto Date: Wed, 18 Jul 2018 15:21:19 +0200 Subject: [PATCH 2/3] fix: fullscreenbutton on screenshare --- app/lib/components/FullView.jsx | 8 ++++---- app/lib/components/Peer.jsx | 6 +++++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/lib/components/FullView.jsx b/app/lib/components/FullView.jsx index 28c1094..0011067 100644 --- a/app/lib/components/FullView.jsx +++ b/app/lib/components/FullView.jsx @@ -52,21 +52,21 @@ export default class FullView extends React.Component this._setTracks(videoTrack); - if (fscreen.fullscreenEnabled) + if (fscreen.fullscreenEnabled) { fscreen.addEventListener('fullscreenchange', this.handleExitFullscreen, false); fscreen.requestFullscreen(this.video.current); } } - componentWillUnmount() + componentWillUnmount() { fscreen.removeEventListener('fullscreenchange', this.handleExitFullscreen); } - handleExitFullscreen = () => + handleExitFullscreen = () => { - if (!fscreen.fullscreenElement) + if (!fscreen.fullscreenElement) { this.props.toggleFullscreen(); } diff --git a/app/lib/components/Peer.jsx b/app/lib/components/Peer.jsx index 2b06f13..bf07925 100644 --- a/app/lib/components/Peer.jsx +++ b/app/lib/components/Peer.jsx @@ -147,7 +147,11 @@ class Peer extends Component {screenConsumer ?
-
+
Date: Wed, 18 Jul 2018 16:26:46 +0200 Subject: [PATCH 3/3] Fix number of boxes being counted in updateDimensions --- app/lib/components/Peers.jsx | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/app/lib/components/Peers.jsx b/app/lib/components/Peers.jsx index 9733d24..fccebb8 100644 --- a/app/lib/components/Peers.jsx +++ b/app/lib/components/Peers.jsx @@ -22,9 +22,9 @@ class Peers extends React.Component updateDimensions = () => { - const n = this.props.videoStreams ? this.props.videoStreams : 0; + const n = this.props.boxes; - if (n == 0) + if (n === 0) { return; } @@ -121,27 +121,24 @@ class Peers extends React.Component } Peers.propTypes = -{ - advancedMode : PropTypes.bool, - peers : PropTypes.arrayOf(appPropTypes.Peer).isRequired, - videoStreams : PropTypes.any, - activeSpeakerName : PropTypes.string, - toolAreaOpen : PropTypes.bool -}; + { + advancedMode : PropTypes.bool, + peers : PropTypes.arrayOf(appPropTypes.Peer).isRequired, + boxes : PropTypes.number, + activeSpeakerName : PropTypes.string, + toolAreaOpen : PropTypes.bool + }; const mapStateToProps = (state) => { - const peersArray = Object.values(state.peers); - const videoStreamsArray = Object.values(state.consumers); - const videoStreams = - videoStreamsArray.filter((consumer) => - { - return (consumer.source === 'webcam' || consumer.source === 'screen'); - }).length; + const peers = Object.values(state.peers); + + const boxes = peers.length + Object.values(state.consumers) + .filter((consumer) => consumer.source === 'screen').length; return { - peers : peersArray, - videoStreams : videoStreams, + peers, + boxes, activeSpeakerName : state.room.activeSpeakerName, toolAreaOpen : state.toolarea.toolAreaOpen };