From 85078ca36a92e531b657af9c7c09b997b1743fdc Mon Sep 17 00:00:00 2001 From: ytshih Date: Thu, 16 Oct 2025 10:00:42 +0800 Subject: [PATCH] Fix: minor bugfix --- stages/lobby.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/stages/lobby.go b/stages/lobby.go index 66b14c9..b2432d4 100644 --- a/stages/lobby.go +++ b/stages/lobby.go @@ -3,6 +3,7 @@ package stages import ( "fmt" "net" + "sort" "strings" "time" @@ -117,6 +118,9 @@ type clientScanMsg time.Time func (m *LobbyModel) clientScan() tea.Cmd { return tea.Tick(REFRESH_TIME, func(t time.Time) tea.Msg { m.endpoints, m.err = utils.Ping(viper.GetStringSlice("udp-endpoints")) + sort.Slice(m.endpoints, func(i, j int) bool { + return m.endpoints[i] < m.endpoints[j] + }) return clientScanMsg(t) }) } @@ -199,6 +203,7 @@ func (m *LobbyModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { case "N", "n": m.op = lobbyOperationServerWaiting cmds = append(cmds, m.serverSendReply(false)) + cmds = append(cmds, m.serverListen()) } case serverSendReplyMsg: if m.err == nil { @@ -225,6 +230,7 @@ func (m *LobbyModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { return m, tea.Quit } else { m.op = lobbyOperationServerWaiting + cmds = append(cmds, m.serverListen()) } } case lobbyOperationClientScannning: