mirror of https://github.com/vector-im/riot-web
				
				
				
			Move check to MatrixChat
							parent
							
								
									4ef3d176d9
								
							
						
					
					
						commit
						d89bbe2167
					
				| 
						 | 
				
			
			@ -80,10 +80,11 @@ import DialPadModal from "../views/voip/DialPadModal";
 | 
			
		|||
import { showToast as showMobileGuideToast } from '../../toasts/MobileGuideToast';
 | 
			
		||||
import { shouldUseLoginForWelcome } from "../../utils/pages";
 | 
			
		||||
import SpaceStore from "../../stores/SpaceStore";
 | 
			
		||||
import SpaceRoomDirectory from "./SpaceRoomDirectory";
 | 
			
		||||
import {replaceableComponent} from "../../utils/replaceableComponent";
 | 
			
		||||
import RoomListStore from "../../stores/room-list/RoomListStore";
 | 
			
		||||
import {RoomUpdateCause} from "../../stores/room-list/models";
 | 
			
		||||
import defaultDispatcher from "../../dispatcher/dispatcher";
 | 
			
		||||
import SecurityCustomisations from "../../customisations/Security";
 | 
			
		||||
 | 
			
		||||
/** constants for MatrixChat.state.view */
 | 
			
		||||
export enum Views {
 | 
			
		||||
| 
						 | 
				
			
			@ -202,6 +203,7 @@ interface IState {
 | 
			
		|||
    ready: boolean;
 | 
			
		||||
    threepidInvite?: IThreepidInvite,
 | 
			
		||||
    roomOobData?: object;
 | 
			
		||||
    viaServers?: string[];
 | 
			
		||||
    pendingInitialSync?: boolean;
 | 
			
		||||
    justRegistered?: boolean;
 | 
			
		||||
    roomJustCreatedOpts?: IOpts;
 | 
			
		||||
| 
						 | 
				
			
			@ -395,7 +397,11 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
 | 
			
		|||
 | 
			
		||||
        const crossSigningIsSetUp = cli.getStoredCrossSigningForUser(cli.getUserId());
 | 
			
		||||
        if (crossSigningIsSetUp) {
 | 
			
		||||
            this.setStateForNewView({ view: Views.COMPLETE_SECURITY });
 | 
			
		||||
            if (SecurityCustomisations.SHOW_ENCRYPTION_SETUP_UI === false) {
 | 
			
		||||
                this.onLoggedIn();
 | 
			
		||||
            } else {
 | 
			
		||||
                this.setStateForNewView({view: Views.COMPLETE_SECURITY});
 | 
			
		||||
            }
 | 
			
		||||
        } else if (await cli.doesServerSupportUnstableFeature("org.matrix.e2e_cross_signing")) {
 | 
			
		||||
            this.setStateForNewView({ view: Views.E2E_SETUP });
 | 
			
		||||
        } else {
 | 
			
		||||
| 
						 | 
				
			
			@ -690,10 +696,10 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
 | 
			
		|||
            }
 | 
			
		||||
            case Action.ViewRoomDirectory: {
 | 
			
		||||
                if (SpaceStore.instance.activeSpace) {
 | 
			
		||||
                    defaultDispatcher.dispatch({
 | 
			
		||||
                        action: "view_room",
 | 
			
		||||
                        room_id: SpaceStore.instance.activeSpace.roomId,
 | 
			
		||||
                    });
 | 
			
		||||
                    Modal.createTrackedDialog("Space room directory", "", SpaceRoomDirectory, {
 | 
			
		||||
                        space: SpaceStore.instance.activeSpace,
 | 
			
		||||
                        initialText: payload.initialText,
 | 
			
		||||
                    }, "mx_SpaceRoomDirectory_dialogWrapper", false, true);
 | 
			
		||||
                } else {
 | 
			
		||||
                    const RoomDirectory = sdk.getComponent("structures.RoomDirectory");
 | 
			
		||||
                    Modal.createTrackedDialog('Room directory', '', RoomDirectory, {
 | 
			
		||||
| 
						 | 
				
			
			@ -928,6 +934,7 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
 | 
			
		|||
                page_type: PageTypes.RoomView,
 | 
			
		||||
                threepidInvite: roomInfo.threepid_invite,
 | 
			
		||||
                roomOobData: roomInfo.oob_data,
 | 
			
		||||
                viaServers: roomInfo.via_servers,
 | 
			
		||||
                ready: true,
 | 
			
		||||
                roomJustCreatedOpts: roomInfo.justCreatedOpts,
 | 
			
		||||
            }, () => {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,7 +28,6 @@ import {
 | 
			
		|||
} from '../../../stores/SetupEncryptionStore';
 | 
			
		||||
import SetupEncryptionBody from "./SetupEncryptionBody";
 | 
			
		||||
import {replaceableComponent} from "../../../utils/replaceableComponent";
 | 
			
		||||
import SecurityCustomisations from "../../../customisations/Security";
 | 
			
		||||
 | 
			
		||||
@replaceableComponent("structures.auth.CompleteSecurity")
 | 
			
		||||
export default class CompleteSecurity extends React.Component {
 | 
			
		||||
| 
						 | 
				
			
			@ -46,13 +45,6 @@ export default class CompleteSecurity extends React.Component {
 | 
			
		|||
 | 
			
		||||
    _onStoreUpdate = () => {
 | 
			
		||||
        const store = SetupEncryptionStore.sharedInstance();
 | 
			
		||||
 | 
			
		||||
        // Skip "you're done" phase if the UI isn't shown
 | 
			
		||||
        if (store.phase === PHASE_DONE && SecurityCustomisations.SHOW_ENCRYPTION_SETUP_UI === false) {
 | 
			
		||||
            this.props.onFinished(true);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.setState({phase: store.phase});
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -69,9 +61,7 @@ export default class CompleteSecurity extends React.Component {
 | 
			
		|||
        let icon;
 | 
			
		||||
        let title;
 | 
			
		||||
 | 
			
		||||
        // If the encryption UI is hidden then we can simply return nothing - the UI doesn't
 | 
			
		||||
        // need to be running in order to set up encryption with the SecurityCustomisations.
 | 
			
		||||
        if (phase === PHASE_LOADING || SecurityCustomisations.SHOW_ENCRYPTION_SETUP_UI === false) {
 | 
			
		||||
        if (phase === PHASE_LOADING) {
 | 
			
		||||
            return null;
 | 
			
		||||
        } else if (phase === PHASE_INTRO) {
 | 
			
		||||
            icon = <span className="mx_CompleteSecurity_headerIcon mx_E2EIcon_warning" />;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue