Fix appservice can't set aliases in its own namespace
Fixes
MODIFY
clientapi/routing/directory.go
clientapi/routing/directory.go
@@ -117,6 +117,9 @@ func SetLocalAlias(
// 1. The new method for checking for things matching an AS's namespace
// 2. Using an overall Regex object for all AS's just like we did for usernames
for _, appservice := range cfg.Derived.ApplicationServices {
+ // Don't prevent AS from creating aliases in its own namespace
+ // Note that Dendrite uses SenderLocalpart as UserID for AS users
+ if device.UserID != appservice.SenderLocalpart {
if aliasNamespaces, ok := appservice.NamespaceMap["aliases"]; ok {
for _, namespace := range aliasNamespaces {
if namespace.Exclusive && namespace.RegexpObject.MatchString(alias) {
@@ -128,6 +131,7 @@ func SetLocalAlias(
}
}
}
+ }
var r struct {
RoomID string `json:"room_id"`

Fix #661 appservice can't set aliases in its own namespace (#731)

Fixes #661.