Merge pull request #2455 from matrix-org/dbkr/key_backup_status_unknown_device
Say when backup is signed by unknown devicepull/21833/head
						commit
						4b68ca141c
					
				| 
						 | 
				
			
			@ -186,18 +186,23 @@ export default class KeyBackupPanel extends React.PureComponent {
 | 
			
		|||
            }
 | 
			
		||||
 | 
			
		||||
            let backupSigStatuses = this.state.backupSigStatus.sigs.map((sig, i) => {
 | 
			
		||||
                const deviceName = sig.device.getDisplayName() || sig.device.deviceId;
 | 
			
		||||
                const deviceName = sig.device ? (sig.device.getDisplayName() || sig.device.deviceId) : null;
 | 
			
		||||
                const validity = sub =>
 | 
			
		||||
                    <span className={sig.valid ? 'mx_KeyBackupPanel_sigValid' : 'mx_KeyBackupPanel_sigInvalid'}>
 | 
			
		||||
                        {sub}
 | 
			
		||||
                    </span>;
 | 
			
		||||
                const verify = sub =>
 | 
			
		||||
                    <span className={sig.device.isVerified() ? 'mx_KeyBackupPanel_deviceVerified' : 'mx_KeyBackupPanel_deviceNotVerified'}>
 | 
			
		||||
                    <span className={sig.device && sig.device.isVerified() ? 'mx_KeyBackupPanel_deviceVerified' : 'mx_KeyBackupPanel_deviceNotVerified'}>
 | 
			
		||||
                        {sub}
 | 
			
		||||
                    </span>;
 | 
			
		||||
                const device = sub => <span className="mx_KeyBackupPanel_deviceName">{deviceName}</span>;
 | 
			
		||||
                let sigStatus;
 | 
			
		||||
                if (sig.device.getFingerprint() === MatrixClientPeg.get().getDeviceEd25519Key()) {
 | 
			
		||||
                if (!sig.device) {
 | 
			
		||||
                    sigStatus = _t(
 | 
			
		||||
                        "Backup has a signature from <verify>unknown</verify> device with ID %(deviceId)s.",
 | 
			
		||||
                        { deviceId: sig.deviceId }, { verify },
 | 
			
		||||
                    );
 | 
			
		||||
                } else if (sig.device.getFingerprint() === MatrixClientPeg.get().getDeviceEd25519Key()) {
 | 
			
		||||
                    sigStatus = _t(
 | 
			
		||||
                        "Backup has a <validity>valid</validity> signature from this device",
 | 
			
		||||
                        {}, { validity },
 | 
			
		||||
| 
						 | 
				
			
			@ -229,7 +234,7 @@ export default class KeyBackupPanel extends React.PureComponent {
 | 
			
		|||
                }
 | 
			
		||||
 | 
			
		||||
                let verifyButton;
 | 
			
		||||
                if (!sig.device.isVerified()) {
 | 
			
		||||
                if (!sig.device || !sig.device.isVerified()) {
 | 
			
		||||
                    verifyButton = <div><br /><AccessibleButton className="mx_UserSettings_button"
 | 
			
		||||
                            onClick={this._verifyDevice} data-sigindex={i}>
 | 
			
		||||
                        { _t("Verify...") }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -268,7 +268,6 @@
 | 
			
		|||
    "Increase performance by only loading room members on first view": "Increase performance by only loading room members on first view",
 | 
			
		||||
    "Backup of encryption keys to server": "Backup of encryption keys to server",
 | 
			
		||||
    "Render simple counters in room header": "Render simple counters in room header",
 | 
			
		||||
    "Allow up to 6 rooms in a community to be shown simultaneously in a grid via the context menu": "Allow up to 6 rooms in a community to be shown simultaneously in a grid via the context menu",
 | 
			
		||||
    "Disable Emoji suggestions while typing": "Disable Emoji suggestions while typing",
 | 
			
		||||
    "Use compact timeline layout": "Use compact timeline layout",
 | 
			
		||||
    "Hide removed messages": "Hide removed messages",
 | 
			
		||||
| 
						 | 
				
			
			@ -364,6 +363,7 @@
 | 
			
		|||
    "This device is <b>not</b> using key backup": "This device is <b>not</b> using key backup",
 | 
			
		||||
    "Backing up %(sessionsRemaining)s keys...": "Backing up %(sessionsRemaining)s keys...",
 | 
			
		||||
    "All keys backed up": "All keys backed up",
 | 
			
		||||
    "Backup has a signature from <verify>unknown</verify> device with ID %(deviceId)s.": "Backup has a signature from <verify>unknown</verify> device with ID %(deviceId)s.",
 | 
			
		||||
    "Backup has a <validity>valid</validity> signature from this device": "Backup has a <validity>valid</validity> signature from this device",
 | 
			
		||||
    "Backup has a <validity>valid</validity> signature from <verify>verified</verify> device <device></device>": "Backup has a <validity>valid</validity> signature from <verify>verified</verify> device <device></device>",
 | 
			
		||||
    "Backup has a <validity>valid</validity> signature from <verify>unverified</verify> device <device></device>": "Backup has a <validity>valid</validity> signature from <verify>unverified</verify> device <device></device>",
 | 
			
		||||
| 
						 | 
				
			
			@ -545,7 +545,6 @@
 | 
			
		|||
    "Forget room": "Forget room",
 | 
			
		||||
    "Search": "Search",
 | 
			
		||||
    "Share room": "Share room",
 | 
			
		||||
    "Toggle right panel": "Toggle right panel",
 | 
			
		||||
    "Drop here to favourite": "Drop here to favourite",
 | 
			
		||||
    "Drop here to tag direct chat": "Drop here to tag direct chat",
 | 
			
		||||
    "Drop here to restore": "Drop here to restore",
 | 
			
		||||
| 
						 | 
				
			
			@ -647,9 +646,9 @@
 | 
			
		|||
    "This room version is vulnerable to malicious modification of room state.": "This room version is vulnerable to malicious modification of room state.",
 | 
			
		||||
    "Click here to upgrade to the latest room version and ensure room integrity is protected.": "Click here to upgrade to the latest room version and ensure room integrity is protected.",
 | 
			
		||||
    "Only room administrators will see this warning": "Only room administrators will see this warning",
 | 
			
		||||
    "Search…": "Search…",
 | 
			
		||||
    "This Room": "This Room",
 | 
			
		||||
    "All Rooms": "All Rooms",
 | 
			
		||||
    "Search…": "Search…",
 | 
			
		||||
    "Cancel": "Cancel",
 | 
			
		||||
    "You don't currently have any stickerpacks enabled": "You don't currently have any stickerpacks enabled",
 | 
			
		||||
    "Add some now": "Add some now",
 | 
			
		||||
| 
						 | 
				
			
			@ -1094,7 +1093,6 @@
 | 
			
		|||
    "Update status": "Update status",
 | 
			
		||||
    "Set status": "Set status",
 | 
			
		||||
    "Set a new status...": "Set a new status...",
 | 
			
		||||
    "View as Grid": "View as Grid",
 | 
			
		||||
    "View Community": "View Community",
 | 
			
		||||
    "Sorry, your browser is <b>not</b> able to run Riot.": "Sorry, your browser is <b>not</b> able to run Riot.",
 | 
			
		||||
    "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.",
 | 
			
		||||
| 
						 | 
				
			
			@ -1105,7 +1103,6 @@
 | 
			
		|||
    "You must <a>register</a> to use this functionality": "You must <a>register</a> to use this functionality",
 | 
			
		||||
    "You must join the room to see its files": "You must join the room to see its files",
 | 
			
		||||
    "There are no visible files in this room": "There are no visible files in this room",
 | 
			
		||||
    "No room in this tile yet.": "No room in this tile yet.",
 | 
			
		||||
    "<h1>HTML for your community's page</h1>\n<p>\n    Use the long description to introduce new members to the community, or distribute\n    some important <a href=\"foo\">links</a>\n</p>\n<p>\n    You can even use 'img' tags\n</p>\n": "<h1>HTML for your community's page</h1>\n<p>\n    Use the long description to introduce new members to the community, or distribute\n    some important <a href=\"foo\">links</a>\n</p>\n<p>\n    You can even use 'img' tags\n</p>\n",
 | 
			
		||||
    "Add rooms to the community summary": "Add rooms to the community summary",
 | 
			
		||||
    "Which rooms would you like to add to this summary?": "Which rooms would you like to add to this summary?",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue