disambiguate devices by ID in memberinfo
parent
6e57faecb0
commit
5fa5489bbd
|
@ -145,16 +145,17 @@ export default class MemberDeviceInfo extends React.Component {
|
|||
);
|
||||
}
|
||||
|
||||
var deviceName = this.props.device.getDisplayName() || this.props.device.deviceId;
|
||||
var deviceName = this.props.device.ambiguous ?
|
||||
(this.props.device.getDisplayName() ? this.props.device.getDisplayName() : "") + " (" + this.props.device.deviceId + ")" :
|
||||
this.props.device.getDisplayName();
|
||||
|
||||
var info = (
|
||||
<div className="mx_MemberDeviceInfo_deviceInfo" title={ "device id: " + this.props.device.deviceId }>
|
||||
<div className="mx_MemberDeviceInfo_deviceInfo">
|
||||
<div className="mx_MemberDeviceInfo_deviceId">{deviceName}{indicator}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
// add the deviceId as a titletext to help with debugging
|
||||
return (
|
||||
<div className="mx_MemberDeviceInfo">
|
||||
{ info }
|
||||
|
|
|
@ -115,6 +115,23 @@ module.exports = React.createClass({
|
|||
}
|
||||
},
|
||||
|
||||
_disambiguateDevices: function(devices) {
|
||||
var names = Object.create(null);
|
||||
for (var i = 0; i < devices.length; i++) {
|
||||
var name = devices[i].getDisplayName();
|
||||
var indexList = names[name] || [];
|
||||
indexList.push(i);
|
||||
names[name] = indexList;
|
||||
}
|
||||
for (name in names) {
|
||||
if (names[name].length > 1) {
|
||||
names[name].forEach((j)=>{
|
||||
devices[j].ambiguous = true;
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
onDeviceVerificationChanged: function(userId, device) {
|
||||
if (!this._enableDevices) {
|
||||
return;
|
||||
|
@ -199,6 +216,7 @@ module.exports = React.createClass({
|
|||
return;
|
||||
}
|
||||
var devices = client.getStoredDevicesForUser(member.userId);
|
||||
self._disambiguateDevices(devices);
|
||||
self.setState({devicesLoading: false, devices: devices});
|
||||
}, function(err) {
|
||||
console.log("Error downloading devices", err);
|
||||
|
|
Loading…
Reference in New Issue