From 7a444ccc7a766f7edc3abaf4a716d098a0f59f4a Mon Sep 17 00:00:00 2001 From: June Date: Mon, 18 Aug 2025 22:15:32 +0200 Subject: [PATCH] move roomInfo retrieval into outer loop as its unaffected by inner loop --- roominfotree/roominfotree.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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)}