feature: Thread improvements, round 1 #74

Open
Guzio wants to merge 7 commits from Guzio/out-of-your-element:mergable-fr-fr into main
3 changed files with 14 additions and 5 deletions
Showing only changes of commit 5a0e7f6a66 - Show all commits

View file

@ -20,10 +20,10 @@ const SPECIAL_USER_MAPPINGS = new Map([
function downcaseUsername(user) { function downcaseUsername(user) {
// First, try to convert the username to the set of allowed characters // First, try to convert the username to the set of allowed characters
let downcased = user.username.toLowerCase() let downcased = user.username.toLowerCase()
// spaces to underscores... // spaces and slashes to underscores...
.replace(/ /g, "_") .replace(/[ /]/g, "_")
// remove disallowed characters... // remove disallowed characters...
.replace(/[^a-z0-9._=/-]*/g, "") .replace(/[^a-z0-9._=-]*/g, "")
// remove leading and trailing dashes and underscores... // remove leading and trailing dashes and underscores...
.replace(/(?:^[_-]*|[_-]*$)/g, "") .replace(/(?:^[_-]*|[_-]*$)/g, "")
// If requested, also make the Discord user ID part of the username // If requested, also make the Discord user ID part of the username

View file

@ -21,8 +21,12 @@ test("user2name: works on single emoji at the end", t => {
t.equal(userToSimName({username: "Melody 🎵", discriminator: "2192"}), "melody") t.equal(userToSimName({username: "Melody 🎵", discriminator: "2192"}), "melody")
}) })
test("user2name: works on crazy name", t => { test("user2name: works on really weird name", t => {
t.equal(userToSimName({username: "*** D3 &W (89) _7//-", discriminator: "0001"}), "d3_w_89__7//") t.equal(userToSimName({username: "*** D3 &W (89) _7//-", discriminator: "0001"}), "d3_w_89__7")
})
test("user2name: treats slashes", t => {
t.equal(userToSimName({username: "Evil Lillith (she/her)", discriminator: "5892"}), "evil_lillith_she_her")
}) })
test("user2name: adds discriminator if name is unavailable (old tag format)", t => { test("user2name: adds discriminator if name is unavailable (old tag format)", t => {

View file

@ -0,0 +1,5 @@
BEGIN TRANSACTION;
DELETE FROM sim WHERE sim_name like '%/%';
COMMIT;