fix: goroutinize message-rendering and channel-acking together
This commit is contained in:
parent
1541b77fc1
commit
7cede44f60
1 changed files with 13 additions and 11 deletions
24
ui.go
24
ui.go
|
|
@ -92,19 +92,21 @@ func onChannelsTreeSelected(n *tview.TreeNode) {
|
|||
|
||||
messagesTextView.Clear()
|
||||
|
||||
ms, err := session.ChannelMessages(cID, conf.GetMessagesLimit, "", "", "")
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
go func() {
|
||||
ms, err := session.ChannelMessages(cID, conf.GetMessagesLimit, "", "", "")
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
for i := len(ms) - 1; i >= 0; i-- {
|
||||
selectedChannel.Messages = append(selectedChannel.Messages, ms[i])
|
||||
go renderMessage(ms[i])
|
||||
}
|
||||
for i := len(ms) - 1; i >= 0; i-- {
|
||||
selectedChannel.Messages = append(selectedChannel.Messages, ms[i])
|
||||
renderMessage(ms[i])
|
||||
}
|
||||
|
||||
if len(ms) != 0 && isUnread(c) {
|
||||
go session.ChannelMessageAck(c.ID, c.LastMessageID, "")
|
||||
}
|
||||
if len(ms) != 0 && isUnread(c) {
|
||||
session.ChannelMessageAck(c.ID, c.LastMessageID, "")
|
||||
}
|
||||
}()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue