diff --git a/README.md b/README.md
index b32bbea74..708912cf7 100644
--- a/README.md
+++ b/README.md
@@ -128,7 +128,7 @@ You can configure the app by copying `config.sample.json` to
1. `cross_origin_renderer_url`: URL to a static HTML page hosting code to help display
encrypted file attachments. This MUST be hosted on a completely separate domain to
anything else since it is used to isolate the privileges of file attachments to this
- domain. Default: `usercontent.riot.im`. This needs to contain v1.html from
+ domain. Default: `https://usercontent.riot.im/v1.html`. This needs to contain v1.html from
https://github.com/matrix-org/usercontent/blob/master/v1.html
1. `piwik`: an object containing the following properties:
1. `url`: The URL of the Piwik instance to use for collecting Analytics
diff --git a/src/components/structures/RightPanel.js b/src/components/structures/RightPanel.js
index 2a19794fe..55f588f21 100644
--- a/src/components/structures/RightPanel.js
+++ b/src/components/structures/RightPanel.js
@@ -24,7 +24,7 @@ import sdk from 'matrix-react-sdk';
import dis from 'matrix-react-sdk/lib/dispatcher';
import { MatrixClient } from 'matrix-js-sdk';
import Analytics from 'matrix-react-sdk/lib/Analytics';
-import rate_limited_func from 'matrix-react-sdk/lib/ratelimitedfunc';
+import RateLimitedFunc from 'matrix-react-sdk/lib/ratelimitedfunc';
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
import { showGroupInviteDialog, showGroupAddRoomDialog } from 'matrix-react-sdk/lib/GroupAddressPicker';
import GroupStoreCache from 'matrix-react-sdk/lib/stores/GroupStoreCache';
@@ -58,8 +58,8 @@ class HeaderButton extends React.Component {
{ this.props.badge ? this.props.badge : }
-
- { this.props.isHighlighted ? : }
+
+ { this.props.isHighlighted ? : }
;
}
@@ -184,18 +184,17 @@ module.exports = React.createClass({
onRoomStateMember: function(ev, state, member) {
// redraw the badge on the membership list
- if (this.state.phase == this.Phase.RoomMemberList && member.roomId === this.props.roomId) {
+ if (this.state.phase === this.Phase.RoomMemberList && member.roomId === this.props.roomId) {
this._delayedUpdate();
- }
- else if (this.state.phase === this.Phase.RoomMemberInfo && member.roomId === this.props.roomId &&
+ } else if (this.state.phase === this.Phase.RoomMemberInfo && member.roomId === this.props.roomId &&
member.userId === this.state.member.userId) {
// refresh the member info (e.g. new power level)
this._delayedUpdate();
}
},
- _delayedUpdate: new rate_limited_func(function() {
- this.forceUpdate();
+ _delayedUpdate: new RateLimitedFunc(function() {
+ this.forceUpdate(); // eslint-disable-line babel/no-invalid-this
}, 500),
onAction: function(payload) {
@@ -266,22 +265,23 @@ module.exports = React.createClass({
let inviteGroup;
let membersBadge;
- if ((this.state.phase == this.Phase.RoomMemberList || this.state.phase === this.Phase.RoomMemberInfo)
+ let membersTitle = _t('Members');
+ if ((this.state.phase === this.Phase.RoomMemberList || this.state.phase === this.Phase.RoomMemberInfo)
&& this.props.roomId
) {
const cli = this.context.matrixClient;
const room = cli.getRoom(this.props.roomId);
- let userIsInRoom;
+ let isUserInRoom;
if (room) {
- membersBadge = formatCount(room.getJoinedMembers().length);
- userIsInRoom = room.hasMembershipState(
- this.context.matrixClient.credentials.userId, 'join',
- );
+ const numMembers = room.getJoinedMembers().length;
+ membersTitle = _t('%(count)s Members', { count: numMembers });
+ membersBadge = { formatCount(numMembers) }
;
+ isUserInRoom = room.hasMembershipState(this.context.matrixClient.credentials.userId, 'join');
}
- if (userIsInRoom) {
+ if (isUserInRoom) {
inviteGroup =
-
+
@@ -292,13 +292,13 @@ module.exports = React.createClass({
const isPhaseGroup = [
this.Phase.GroupMemberInfo,
- this.Phase.GroupMemberList
+ this.Phase.GroupMemberList,
].includes(this.state.phase);
let headerButtons = [];
if (this.props.roomId) {
headerButtons = [
-
-
+
,
);
}
let panel = ;
if (!this.props.collapsed) {
- if (this.props.roomId && this.state.phase == this.Phase.RoomMemberList) {
+ if (this.props.roomId && this.state.phase === this.Phase.RoomMemberList) {
panel = ;
- } else if (this.props.groupId && this.state.phase == this.Phase.GroupMemberList) {
+ } else if (this.props.groupId && this.state.phase === this.Phase.GroupMemberList) {
panel = ;
} else if (this.state.phase === this.Phase.GroupRoomList) {
panel = ;
- } else if (this.state.phase == this.Phase.RoomMemberInfo) {
+ } else if (this.state.phase === this.Phase.RoomMemberInfo) {
panel = ;
- } else if (this.state.phase == this.Phase.GroupMemberInfo) {
+ } else if (this.state.phase === this.Phase.GroupMemberInfo) {
panel = ;
- } else if (this.state.phase == this.Phase.GroupRoomInfo) {
+ } else if (this.state.phase === this.Phase.GroupRoomInfo) {
panel = ;
- } else if (this.state.phase == this.Phase.NotificationPanel) {
+ } else if (this.state.phase === this.Phase.NotificationPanel) {
panel = ;
- } else if (this.state.phase == this.Phase.FilePanel) {
+ } else if (this.state.phase === this.Phase.FilePanel) {
panel = ;
}
}
if (!panel) {
- panel = ;
+ panel = ;
}
if (this.props.groupId && this.state.isUserPrivilegedInGroup) {
inviteGroup = isPhaseGroup ? (
-
+
{ _t('Invite to this community') }
) : (
-
+
@@ -392,19 +392,16 @@ module.exports = React.createClass({
);
}
- let classes = classNames(
- "mx_RightPanel", "mx_fadable",
- {
- "collapsed": this.props.collapsed,
- "mx_fadable_faded": this.props.disabled,
- }
- );
+ const classes = classNames("mx_RightPanel", "mx_fadable", {
+ "collapsed": this.props.collapsed,
+ "mx_fadable_faded": this.props.disabled,
+ });
return (