From c959f3ec6d28041021ab5f75bd986be37debb63d Mon Sep 17 00:00:00 2001 From: Haw Loeung Date: Mon, 26 Feb 2024 06:49:50 +1100 Subject: [PATCH] Drop server/homeserver/host for users on the same server (local) --- bridge/matrix/matrix.go | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/bridge/matrix/matrix.go b/bridge/matrix/matrix.go index 6ff73846..255b24f6 100644 --- a/bridge/matrix/matrix.go +++ b/bridge/matrix/matrix.go @@ -719,26 +719,30 @@ func (m *Matrix) createUser(userID id.UserID) *bridge.UserInfo { me = true } - nick, host, err := userID.Parse() + localpart, homeserver, err := userID.Parse() if err != nil { return nil } - displayName := nick + "@" + host - m.RLock() - + displayName := localpart + "@" + homeserver if user, ok := m.users[userID]; ok { displayName = user.Displayname } - m.RUnlock() + // Drop the homeserver/host part if it's a user on the same homeserver as us. + nick := localpart + "@" + homeserver + myUser := strings.Split(m.mc.UserID.String(), ":") + if homeserver == myUser[1] { + nick = localpart + } + info := &bridge.UserInfo{ - Nick: nick + "@" + host, - User: userID.String(), + Nick: nick, + User: "~" + localpart, Real: displayName, - Host: host, + Host: homeserver, // Roles: mmuser.Roles, Ghost: true, Me: me,