Add include_user_id_in_mxid setting
This commit is contained in:
parent
eb98af0ac3
commit
541c5e1eb5
4 changed files with 15 additions and 0 deletions
|
@ -1,6 +1,7 @@
|
||||||
// @ts-check
|
// @ts-check
|
||||||
|
|
||||||
const assert = require("assert")
|
const assert = require("assert")
|
||||||
|
const registration = require("../../matrix/read-registration")
|
||||||
|
|
||||||
const passthrough = require("../../passthrough")
|
const passthrough = require("../../passthrough")
|
||||||
const {select} = passthrough
|
const {select} = passthrough
|
||||||
|
@ -24,6 +25,10 @@ function downcaseUsername(user) {
|
||||||
.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 (registration.ooye.include_user_id_in_mxid) {
|
||||||
|
downcased = user.id + "_" + downcased
|
||||||
|
}
|
||||||
// The new length must be at least 2 characters (in other words, it should have some content)
|
// The new length must be at least 2 characters (in other words, it should have some content)
|
||||||
if (downcased.length < 2) {
|
if (downcased.length < 2) {
|
||||||
downcased = user.id
|
downcased = user.id
|
||||||
|
|
|
@ -44,3 +44,11 @@ test("user2name: uses ID when name has only disallowed characters", t => {
|
||||||
test("user2name: works on special user", t => {
|
test("user2name: works on special user", t => {
|
||||||
t.equal(userToSimName(data.user.clyde_ai), "clyde_ai")
|
t.equal(userToSimName(data.user.clyde_ai), "clyde_ai")
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test("user2name: includes ID if requested in config", t => {
|
||||||
|
const reg = require("../../matrix/read-registration")
|
||||||
|
reg.ooye.include_user_id_in_mxid = true
|
||||||
|
t.equal(userToSimName({username: "Harry Styles!", discriminator: "0001", id: "123456"}), "123456_harry_styles")
|
||||||
|
t.equal(userToSimName({username: "f***", discriminator: "0001", id: "123456"}), "123456_f")
|
||||||
|
reg.ooye.include_user_id_in_mxid = false
|
||||||
|
})
|
||||||
|
|
|
@ -19,6 +19,7 @@ ooye:
|
||||||
server_name: [the part after the colon in your matrix id, like cadence.moe]
|
server_name: [the part after the colon in your matrix id, like cadence.moe]
|
||||||
server_origin: [the full protocol and domain of your actual matrix server's location, with no trailing slash, like https://matrix.cadence.moe]
|
server_origin: [the full protocol and domain of your actual matrix server's location, with no trailing slash, like https://matrix.cadence.moe]
|
||||||
content_length_workaround: false
|
content_length_workaround: false
|
||||||
|
include_user_id_in_mxid: false
|
||||||
invite:
|
invite:
|
||||||
# uncomment this to auto-invite the named user to newly created spaces and mark them as admin (PL 100) everywhere
|
# uncomment this to auto-invite the named user to newly created spaces and mark them as admin (PL 100) everywhere
|
||||||
# - '@cadence:cadence.moe'
|
# - '@cadence:cadence.moe'
|
||||||
|
|
1
types.d.ts
vendored
1
types.d.ts
vendored
|
@ -22,6 +22,7 @@ export type AppServiceRegistrationConfig = {
|
||||||
server_name: string
|
server_name: string
|
||||||
server_origin: string
|
server_origin: string
|
||||||
content_length_workaround: boolean
|
content_length_workaround: boolean
|
||||||
|
include_user_id_in_mxid: boolean
|
||||||
invite: string[]
|
invite: string[]
|
||||||
}
|
}
|
||||||
old_bridge?: {
|
old_bridge?: {
|
||||||
|
|
Loading…
Reference in a new issue