From 2bedece9a13ab5a9b3e82e2534b84d24be9a8b56 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 15 Mar 2016 22:15:04 +0000 Subject: [PATCH 1/8] argh, remove debugging --- src/components/structures/ScrollPanel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/structures/ScrollPanel.js b/src/components/structures/ScrollPanel.js index 129cbd4581..9b85854016 100644 --- a/src/components/structures/ScrollPanel.js +++ b/src/components/structures/ScrollPanel.js @@ -19,7 +19,7 @@ var ReactDOM = require("react-dom"); var GeminiScrollbar = require('react-gemini-scrollbar'); var q = require("q"); -var DEBUG_SCROLL = true; +var DEBUG_SCROLL = false; if (DEBUG_SCROLL) { // using bind means that we get to keep useful line numbers in the console From bae23c78de2e1fde9c7211480fff045429c8e071 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 15 Mar 2016 22:42:22 +0000 Subject: [PATCH 2/8] fix https://github.com/vector-im/vector-web/issues/1040 and https://github.com/vector-im/vector-web/issues/833 --- src/components/structures/RoomView.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js index 20a058719b..dcb16f7231 100644 --- a/src/components/structures/RoomView.js +++ b/src/components/structures/RoomView.js @@ -1217,11 +1217,10 @@ module.exports = React.createClass({ /> ); } - else if (this.state.canPeek && - (!myMember || myMember.membership !== "join")) { + else if (!myMember || myMember.membership !== "join") { aux = ( ); } From 5f68f1313bb76ab98fa14f51735484cf1b5e2000 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 15 Mar 2016 23:01:59 +0000 Subject: [PATCH 3/8] show warning if guest login disabled --- src/components/structures/MatrixChat.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js index df27d38172..a47622b236 100644 --- a/src/components/structures/MatrixChat.js +++ b/src/components/structures/MatrixChat.js @@ -191,7 +191,7 @@ module.exports = React.createClass({ } }, - _registerAsGuest: function() { + _registerAsGuest: function(showWarning) { var self = this; console.log("Doing guest login on %s", this.getCurrentHsUrl()); var hsUrl = this.getCurrentHsUrl(); @@ -209,6 +209,13 @@ module.exports = React.createClass({ guest: true }); }, function(err) { + if (showWarning) { + var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); + Modal.createDialog(ErrorDialog, { + title: "Failed to login as guest", + description: err.data + }); + } console.error("Failed to register as guest: " + err + " " + err.data); self._setAutoRegisterAsGuest(false); }); @@ -1064,7 +1071,7 @@ module.exports = React.createClass({ customHsUrl={this.getCurrentHsUrl()} customIsUrl={this.getCurrentIsUrl()} onForgotPasswordClick={this.onForgotPasswordClick} - onLoginAsGuestClick={this.props.enableGuest && this.props.config && this.props.config.default_hs_url ? this._registerAsGuest: undefined} + onLoginAsGuestClick={this.props.enableGuest && this.props.config && this.props.config.default_hs_url ? this._registerAsGuest.bind(this, true) : undefined} /> ); } From 0e1186c4f95a3094fc565339ee2f66680b7de9df Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 15 Mar 2016 23:47:40 +0000 Subject: [PATCH 4/8] display m.room.history_visibility updates in the timeline --- src/TextForEvent.js | 25 +++++++++++++++++++++- src/components/views/rooms/EventTile.js | 3 ++- src/components/views/rooms/RoomSettings.js | 2 +- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/TextForEvent.js b/src/TextForEvent.js index 6e15d51cc4..5c733d98e7 100644 --- a/src/TextForEvent.js +++ b/src/TextForEvent.js @@ -151,6 +151,28 @@ function textForThreePidInviteEvent(event) { " to join the room."; }; +function textForHistoryVisibilityEvent(event) { + var senderName = event.sender ? event.sender.name : event.getSender(); + var vis = event.getContent().history_visibility; + var text = senderName + " made future room history visible to "; + if (vis === "invited") { + text += "all room members, from the point they are invited."; + } + else if (vis === "joined") { + text += "all room members, from the point they joined."; + } + else if (vis === "shared") { + text += "all room members."; + } + else if (vis === "world_readable") { + text += "anyone."; + } + else { + text += " unknown (" + vis + ")"; + } + return text; +}; + var handlers = { 'm.room.message': textForMessageEvent, 'm.room.name': textForRoomNameEvent, @@ -159,7 +181,8 @@ var handlers = { 'm.call.invite': textForCallInviteEvent, 'm.call.answer': textForCallAnswerEvent, 'm.call.hangup': textForCallHangupEvent, - 'm.room.third_party_invite': textForThreePidInviteEvent + 'm.room.third_party_invite': textForThreePidInviteEvent, + 'm.room.history_visibility': textForHistoryVisibilityEvent, }; module.exports = { diff --git a/src/components/views/rooms/EventTile.js b/src/components/views/rooms/EventTile.js index 123026aa93..c9e74f521f 100644 --- a/src/components/views/rooms/EventTile.js +++ b/src/components/views/rooms/EventTile.js @@ -44,7 +44,8 @@ var eventTileTypes = { 'm.call.hangup' : 'messages.TextualEvent', 'm.room.name' : 'messages.TextualEvent', 'm.room.topic' : 'messages.TextualEvent', - 'm.room.third_party_invite': 'messages.TextualEvent' + 'm.room.third_party_invite' : 'messages.TextualEvent', + 'm.room.history_visibility' : 'messages.TextualEvent', }; var MAX_READ_AVATARS = 5; diff --git a/src/components/views/rooms/RoomSettings.js b/src/components/views/rooms/RoomSettings.js index eca4dc074b..4311f1b23d 100644 --- a/src/components/views/rooms/RoomSettings.js +++ b/src/components/views/rooms/RoomSettings.js @@ -450,7 +450,7 @@ module.exports = React.createClass({ - Members only (since the room began) + Members only (since the point in time of selecting this option)