Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/dpsah/6785.1

 Conflicts:
	src/components/structures/RightPanel.js
This commit is contained in:
Michael Telatynski 2020-09-08 18:04:24 +01:00
commit 517b594edc
3 changed files with 14 additions and 18 deletions

View file

@ -233,15 +233,12 @@ export default class RightPanel extends React.Component {
const GroupRoomInfo = sdk.getComponent('groups.GroupRoomInfo'); const GroupRoomInfo = sdk.getComponent('groups.GroupRoomInfo');
let panel = <div />; let panel = <div />;
const roomId = this.props.room ? this.props.room.roomId : undefined;
switch (this.state.phase) { switch (this.state.phase) {
case RightPanelPhases.RoomMemberList: case RightPanelPhases.RoomMemberList:
if (this.props.room.roomId) { if (roomId) {
panel = <MemberList panel = <MemberList roomId={roomId} key={roomId} onClose={this.onClose} />;
roomId={this.props.room.roomId}
key={this.props.room.roomId}
onClose={this.onClose}
/>;
} }
break; break;
@ -259,8 +256,8 @@ export default class RightPanel extends React.Component {
case RightPanelPhases.EncryptionPanel: case RightPanelPhases.EncryptionPanel:
panel = <UserInfo panel = <UserInfo
user={this.state.member} user={this.state.member}
roomId={this.props.room.roomId} room={this.props.room}
key={this.props.room.roomId || this.state.member.userId} key={roomId || this.state.member.userId}
onClose={this.onCloseUserInfo} onClose={this.onCloseUserInfo}
phase={this.state.phase} phase={this.state.phase}
verificationRequest={this.state.verificationRequest} verificationRequest={this.state.verificationRequest}
@ -269,7 +266,7 @@ export default class RightPanel extends React.Component {
break; break;
case RightPanelPhases.Room3pidMemberInfo: case RightPanelPhases.Room3pidMemberInfo:
panel = <ThirdPartyMemberInfo event={this.state.event} key={this.props.room.roomId} />; panel = <ThirdPartyMemberInfo event={this.state.event} key={roomId} />;
break; break;
case RightPanelPhases.GroupMemberInfo: case RightPanelPhases.GroupMemberInfo:
@ -292,10 +289,7 @@ export default class RightPanel extends React.Component {
break; break;
case RightPanelPhases.FilePanel: case RightPanelPhases.FilePanel:
panel = <FilePanel panel = <FilePanel roomId={roomId} resizeNotifier={this.props.resizeNotifier} onClose={this.onClose} />;
roomId={this.props.room.roomId}
resizeNotifier={this.props.resizeNotifier}
onClose={this.onClose} />;
break; break;
case RightPanelPhases.RoomSummary: case RightPanelPhases.RoomSummary:

View file

@ -124,7 +124,11 @@ export default class LoginComponent extends React.Component {
'm.login.cas': () => this._renderSsoStep("cas"), 'm.login.cas': () => this._renderSsoStep("cas"),
'm.login.sso': () => this._renderSsoStep("sso"), 'm.login.sso': () => this._renderSsoStep("sso"),
}; };
}
// TODO: [REACT-WARNING] Replace with appropriate lifecycle event
// eslint-disable-next-line camelcase
UNSAFE_componentWillMount() {
this._initLoginLogic(); this._initLoginLogic();
} }

View file

@ -20,7 +20,7 @@ limitations under the License.
import React, {useCallback, useMemo, useState, useEffect, useContext} from 'react'; import React, {useCallback, useMemo, useState, useEffect, useContext} from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import classNames from 'classnames'; import classNames from 'classnames';
import {Group, RoomMember, User} from 'matrix-js-sdk'; import {Group, RoomMember, User, Room} from 'matrix-js-sdk';
import dis from '../../../dispatcher/dispatcher'; import dis from '../../../dispatcher/dispatcher';
import Modal from '../../../Modal'; import Modal from '../../../Modal';
import * as sdk from '../../../index'; import * as sdk from '../../../index';
@ -1463,11 +1463,9 @@ const UserInfoHeader = ({member, e2eStatus}) => {
</React.Fragment>; </React.Fragment>;
}; };
const UserInfo = ({user, groupId, roomId, onClose, phase=RightPanelPhases.RoomMemberInfo, ...props}) => { const UserInfo = ({user, groupId, room, onClose, phase=RightPanelPhases.RoomMemberInfo, ...props}) => {
const cli = useContext(MatrixClientContext); const cli = useContext(MatrixClientContext);
// Load room if we are given a room id and memoize it - this can be undefined for User Info/Group Member Info
const room = useMemo(() => roomId ? cli.getRoom(roomId) : null, [cli, roomId]);
// fetch latest room member if we have a room, so we don't show historical information, falling back to user // fetch latest room member if we have a room, so we don't show historical information, falling back to user
const member = useMemo(() => room ? (room.getMember(user.userId) || user) : user, [room, user]); const member = useMemo(() => room ? (room.getMember(user.userId) || user) : user, [room, user]);
@ -1522,7 +1520,7 @@ UserInfo.propTypes = {
]).isRequired, ]).isRequired,
group: PropTypes.instanceOf(Group), group: PropTypes.instanceOf(Group),
groupId: PropTypes.string, groupId: PropTypes.string,
roomId: PropTypes.string, room: PropTypes.instanceOf(Room),
onClose: PropTypes.func, onClose: PropTypes.func,
}; };