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
}