server - abc 순 정렬 추가

Kim committed Oct 22, 2025 at 12:24 UTC 4fa76d1bdb8520659b2ade7ab582c1dd0a750806
1 file changed +18 -2
relaydns/server.go
+18 -2
@@ -172,9 +172,25 @@ func (s *RelayServer) Hosts() []HostEntry {
172 for _, v := range s.store {
173 list = append(list, v)
174 }
175 - // Sort by last-seen (most recent first)
175 sort.SliceStable(list, func(i, j int) bool {
177 - return list[i].LastSeen.After(list[j].LastSeen)
176 + li, lj := list[i], list[j]
177 + if li.Connected != lj.Connected {
178 + return li.Connected // true before false
179 + }
180 + // Normalize names for comparison; fallback to peer id if empty
181 + nameI := strings.ToLower(strings.TrimSpace(li.Info.Name))
182 + if nameI == "" {
183 + nameI = strings.ToLower(li.Info.Peer)
184 + }
185 + nameJ := strings.ToLower(strings.TrimSpace(lj.Info.Name))
186 + if nameJ == "" {
187 + nameJ = strings.ToLower(lj.Info.Peer)
188 + }
189 + if nameI != nameJ {
190 + return nameI < nameJ
191 + }
192 + // As a final tiebreaker, keep most recent first for stability
193 + return li.LastSeen.After(lj.LastSeen)
194 })
195 return list
196 }