Preserve content from `/make_join` as well as supplied content in the request
MODIFY
federationapi/internal/perform.go
federationapi/internal/perform.go
@@ -166,7 +166,8 @@ func (r *FederationInternalAPI) performJoinUsingServer(
if content == nil {
content = map[string]interface{}{}
}
- content["membership"] = "join"
+ _ = json.Unmarshal(respMakeJoin.JoinEvent.Content, &content)
+ content["membership"] = gomatrixserverlib.Join
if err = respMakeJoin.JoinEvent.SetContent(content); err != nil {
return fmt.Errorf("respMakeJoin.JoinEvent.SetContent: %w", err)
}

Preserve content from `/make_join` as well as supplied content in the request (#2481)