Merge pull request #672 from matrix-org/t3chguy/unhomoglyph

take into account homoglyphs when calculating similar display names
This commit is contained in:
J. Ryan Stinnett
2018-12-20 14:38:48 +00:00
committed by GitHub
3 changed files with 11 additions and 2 deletions
+5
View File
@@ -6735,6 +6735,11 @@
}
}
},
"unhomoglyph": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unhomoglyph/-/unhomoglyph-1.0.2.tgz",
"integrity": "sha1-1p5fWmocayEZQaCIm4HrqGWVwlM="
},
"union-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+2 -1
View File
@@ -61,7 +61,8 @@
"content-type": "^1.0.2",
"loglevel": "1.6.1",
"qs": "^6.5.2",
"request": "^2.88.0"
"request": "^2.88.0",
"unhomoglyph": "^1.0.2"
},
"devDependencies": {
"babel-cli": "^6.18.0",
+4 -1
View File
@@ -19,6 +19,8 @@ limitations under the License.
* @module utils
*/
const unhomoglyph = require('unhomoglyph');
/**
* Encode a dictionary of query parameters.
* @param {Object} params A dict of key/values to encode e.g.
@@ -665,11 +667,12 @@ module.exports.isNumber = function(value) {
/**
* Removes zero width chars, diacritics and whitespace from the string
* Also applies an unhomoglyph on the string, to prevent similar looking chars
* @param {string} str the string to remove hidden characters from
* @return {string} a string with the hidden characters removed
*/
module.exports.removeHiddenChars = function(str) {
return str.normalize('NFD').replace(removeHiddenCharsRegex, '');
return unhomoglyph(str.normalize('NFD').replace(removeHiddenCharsRegex, ''));
};
const removeHiddenCharsRegex = /[\u200B-\u200D\u0300-\u036f\uFEFF\s]/g;