feat(client): filter broadcast lines while awaiting MENU/ORDER responses
This commit is contained in:
parent
5e76ca2514
commit
76215f14bd
34
main.go
34
main.go
@ -527,11 +527,20 @@ func fetchMenuCmd(conn net.Conn, reader *bufio.Reader) tea.Cmd {
|
|||||||
_ = conn.SetReadDeadline(time.Now().Add(3 * time.Second))
|
_ = conn.SetReadDeadline(time.Now().Add(3 * time.Second))
|
||||||
defer func() { _ = conn.SetReadDeadline(time.Time{}) }()
|
defer func() { _ = conn.SetReadDeadline(time.Time{}) }()
|
||||||
|
|
||||||
line, err := reader.ReadString('\n')
|
var line string
|
||||||
if err != nil {
|
for {
|
||||||
return menuLoadedMsg{err: fmt.Errorf("read MENU: %w", err)}
|
l, err := reader.ReadString('\n')
|
||||||
|
if err != nil {
|
||||||
|
return menuLoadedMsg{err: fmt.Errorf("read MENU: %w", err)}
|
||||||
|
}
|
||||||
|
l = strings.TrimRight(l, "\r\n")
|
||||||
|
if strings.HasPrefix(l, "[join]") || strings.HasPrefix(l, "[leave]") || strings.HasPrefix(l, "[rename]") || strings.HasPrefix(l, "[order]") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
line = l
|
||||||
|
break
|
||||||
}
|
}
|
||||||
line = strings.TrimRight(line, "\r\n")
|
|
||||||
if strings.HasPrefix(line, "[error]") {
|
if strings.HasPrefix(line, "[error]") {
|
||||||
return menuLoadedMsg{err: fmt.Errorf("server: %s", line)}
|
return menuLoadedMsg{err: fmt.Errorf("server: %s", line)}
|
||||||
}
|
}
|
||||||
@ -567,11 +576,20 @@ func submitOrderCmd(conn net.Conn, ord order, reader *bufio.Reader) tea.Cmd {
|
|||||||
_ = conn.SetReadDeadline(time.Now().Add(5 * time.Second))
|
_ = conn.SetReadDeadline(time.Now().Add(5 * time.Second))
|
||||||
defer func() { _ = conn.SetReadDeadline(time.Time{}) }()
|
defer func() { _ = conn.SetReadDeadline(time.Time{}) }()
|
||||||
|
|
||||||
line, err := reader.ReadString('\n')
|
var line string
|
||||||
if err != nil {
|
for {
|
||||||
return orderSubmittedMsg{err: fmt.Errorf("read ORDER ack: %w", err)}
|
l, err := reader.ReadString('\n')
|
||||||
|
if err != nil {
|
||||||
|
return orderSubmittedMsg{err: fmt.Errorf("read ORDER ack: %w", err)}
|
||||||
|
}
|
||||||
|
l = strings.TrimRight(l, "\r\n")
|
||||||
|
if strings.HasPrefix(l, "[join]") || strings.HasPrefix(l, "[leave]") || strings.HasPrefix(l, "[rename]") || strings.HasPrefix(l, "[order]") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
line = l
|
||||||
|
break
|
||||||
}
|
}
|
||||||
line = strings.TrimRight(line, "\r\n")
|
|
||||||
parts := strings.Split(line, "|")
|
parts := strings.Split(line, "|")
|
||||||
ack := parts[0]
|
ack := parts[0]
|
||||||
var total float64
|
var total float64
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user