diff --git a/roominfotree/roominfotree.go b/roominfotree/roominfotree.go index 6c9c7fa..185b2f9 100644 --- a/roominfotree/roominfotree.go +++ b/roominfotree/roominfotree.go @@ -137,17 +137,18 @@ func Get(roomIDs []id.RoomID, client *mautrix.Client, federationClient *fclient. roomInfoTree := make(RoomInfoTree) for roomID, membersByHomeserver := range membersByHomeserverByRoomID { + roomInfo, ok := roomInfoTree[roomID] + if !ok { + roomInfo = &RoomInfo{MaxRoomVersions: make(map[string]*MaxRoomVersionInfo)} + roomInfoTree[roomID] = roomInfo + } + for hs, members := range membersByHomeserver { serverVersionInfo := serverVersionInfoByHomeserver[hs] maxRoomVersion := getMaxRoomVersion(serverVersionInfo) // Sort into roomInfoTree and add to counters. - roomInfo, ok := roomInfoTree[roomID] - if !ok { - roomInfo = &RoomInfo{MaxRoomVersions: make(map[string]*MaxRoomVersionInfo)} - roomInfoTree[roomID] = roomInfo - } maxRoomVersionInfo, ok := roomInfo.MaxRoomVersions[maxRoomVersion] if !ok { maxRoomVersionInfo = &MaxRoomVersionInfo{Servers: make(map[string]*ServerInfo)}