Merge pull request #771 from matrix-org/dbkr/invite_always_show_valid_mxid

Fix bug where you can't invite a valid address
pull/21833/head
David Baker 2017-03-27 17:20:51 +01:00 committed by GitHub
commit c743663f7d
1 changed files with 13 additions and 23 deletions

View File

@ -30,15 +30,6 @@ import Fuse from 'fuse.js';
const TRUNCATE_QUERY_LIST = 40; const TRUNCATE_QUERY_LIST = 40;
/*
* Escapes a string so it can be used in a RegExp
* Basically just replaces: \ ^ $ * + ? . ( ) | { } [ ]
* From http://stackoverflow.com/a/6969486
*/
function escapeRegExp(str) {
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
}
module.exports = React.createClass({ module.exports = React.createClass({
displayName: "ChatInviteDialog", displayName: "ChatInviteDialog",
propTypes: { propTypes: {
@ -220,23 +211,22 @@ module.exports = React.createClass({
} }
}); });
// If the query isn't a user we know about, but is a // If the query is a valid address, add an entry for that
// valid address, add an entry for that // This is important, otherwise there's no way to invite
if (queryList.length == 0) { // a perfectly valid address if there are close matches.
const addrType = getAddressType(query); const addrType = getAddressType(query);
if (addrType !== null) { if (addrType !== null) {
queryList[0] = { queryList.unshift({
addressType: addrType, addressType: addrType,
address: query, address: query,
isKnown: false, isKnown: false,
}; });
if (this._cancelThreepidLookup) this._cancelThreepidLookup(); if (this._cancelThreepidLookup) this._cancelThreepidLookup();
if (addrType == 'email') { if (addrType == 'email') {
this._lookupThreepid(addrType, query).done(); this._lookupThreepid(addrType, query).done();
} }
} }
} }
}
this.setState({ this.setState({
queryList: queryList, queryList: queryList,
error: false, error: false,