diff --git a/src/Tinter.js b/src/Tinter.js index b258930425..a83ccdce74 100644 --- a/src/Tinter.js +++ b/src/Tinter.js @@ -64,6 +64,7 @@ var cssAttrs = [ "borderColor", "borderTopColor", "borderBottomColor", + "borderLeftColor", ]; var svgAttrs = [ diff --git a/src/components/structures/RoomStatusBar.js b/src/components/structures/RoomStatusBar.js index a8f0de3e92..75cb06daf6 100644 --- a/src/components/structures/RoomStatusBar.js +++ b/src/components/structures/RoomStatusBar.js @@ -111,6 +111,10 @@ module.exports = React.createClass({ ); } + if (this.state.syncState === "ERROR") { + return null; + } + if (wantPlaceholder) { return (
...
diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js index 934f6b6b51..de3e10c00c 100644 --- a/src/components/structures/RoomView.js +++ b/src/components/structures/RoomView.js @@ -947,9 +947,14 @@ module.exports = React.createClass({ if (auxPanelMaxHeight < 50) auxPanelMaxHeight = 50; if (this.refs.callView) { - var video = this.refs.callView.getVideoView().getRemoteVideoElement(); - - video.style.maxHeight = auxPanelMaxHeight + "px"; + var fullscreenElement = + (document.fullscreenElement || + document.mozFullScreenElement || + document.webkitFullscreenElement); + if (!fullscreenElement) { + var video = this.refs.callView.getVideoView().getRemoteVideoElement(); + video.style.maxHeight = auxPanelMaxHeight + "px"; + } } // we need to do this for general auxPanels too @@ -993,6 +998,11 @@ module.exports = React.createClass({ }); }, + onCallViewResize: function() { + this.onChildResize(); + this.onResize(); + }, + onChildResize: function() { // When the video or the message composer resizes, the scroll panel // also changes size. Work around GeminiScrollBar fail by telling it @@ -1285,7 +1295,7 @@ module.exports = React.createClass({
{ fileDropTarget } + onResize={this.onCallViewResize} /> { conferenceCallNotification } { aux }
diff --git a/src/components/views/messages/MImageBody.js b/src/components/views/messages/MImageBody.js index 691380d678..b54a51c45b 100644 --- a/src/components/views/messages/MImageBody.js +++ b/src/components/views/messages/MImageBody.js @@ -94,7 +94,7 @@ module.exports = React.createClass({ _getThumbUrl: function() { var content = this.props.mxEvent.getContent(); - return MatrixClientPeg.get().mxcUrlToHttp(content.url, 480, 360); + return MatrixClientPeg.get().mxcUrlToHttp(content.url, 800, 600); }, render: function() { @@ -103,10 +103,10 @@ module.exports = React.createClass({ var cli = MatrixClientPeg.get(); var thumbHeight = null; - if (content.info) thumbHeight = this.thumbHeight(content.info.w, content.info.h, 480, 360); + if (content.info) thumbHeight = this.thumbHeight(content.info.w, content.info.h, 800, 600); var imgStyle = {}; - if (thumbHeight) imgStyle['height'] = thumbHeight; + if (thumbHeight) imgStyle['maxHeight'] = thumbHeight; var thumbUrl = this._getThumbUrl(); if (thumbUrl) { diff --git a/src/components/views/voip/CallView.js b/src/components/views/voip/CallView.js index ed44313b9e..5958c2b278 100644 --- a/src/components/views/voip/CallView.js +++ b/src/components/views/voip/CallView.js @@ -85,9 +85,9 @@ module.exports = React.createClass({ // if this call is a conf call, don't display local video as the // conference will have us in it this.getVideoView().getLocalVideoElement().style.display = ( - call.confUserId ? "none" : "initial" + call.confUserId ? "none" : "block" ); - this.getVideoView().getRemoteVideoElement().style.display = "initial"; + this.getVideoView().getRemoteVideoElement().style.display = "block"; } else { this.getVideoView().getLocalVideoElement().style.display = "none"; diff --git a/src/components/views/voip/VideoView.js b/src/components/views/voip/VideoView.js index 08e587f47f..6b4b546270 100644 --- a/src/components/views/voip/VideoView.js +++ b/src/components/views/voip/VideoView.js @@ -64,6 +64,7 @@ module.exports = React.createClass({ element.msRequestFullscreen ); requestMethod.call(element); + this.getRemoteVideoElement().style.maxHeight = "inherit"; } else { var exitMethod = (