Add include_user_id_in_mxid setting
This commit is contained in:
		@@ -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?: {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user