From f43a1a65ea6559f0063c5412319c914571655004 Mon Sep 17 00:00:00 2001 From: Richard Ramos Date: Tue, 21 Sep 2021 11:16:49 -0400 Subject: [PATCH] fix: message history issues - Display loading indicator on login when mailserver messages are requested - Fix bug where the mailserver that's selected as soon as you login is disconnected while being still in the process of connecting instead of waiting until 10s have passed to try connecting to a different mailserver - Use status-go version that fixes an issue fetching mailserver messages when more than 999 messages are being verified if they're in the cache --- src/app/chat/event_handling.nim | 1 + src/app_service/tasks/marathon/mailserver/model.nim | 2 +- vendor/status-go | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/chat/event_handling.nim b/src/app/chat/event_handling.nim index fcb5a8326b..4b60da6321 100644 --- a/src/app/chat/event_handling.nim +++ b/src/app/chat/event_handling.nim @@ -199,6 +199,7 @@ proc handleMailserverEvents(self: ChatController) = ) mailserverWorker.start(task) self.status.events.on("mailserverAvailable") do(e:Args): + self.view.messageView.setLoadingMessages(true) let task = RequestMessagesTaskArg( `method`: "requestMessages", vptr: cast[ByteAddress](self.view.vptr), diff --git a/src/app_service/tasks/marathon/mailserver/model.nim b/src/app_service/tasks/marathon/mailserver/model.nim index f4df35309e..c45175e9ed 100644 --- a/src/app_service/tasks/marathon/mailserver/model.nim +++ b/src/app_service/tasks/marathon/mailserver/model.nim @@ -122,7 +122,7 @@ proc peerSummaryChange*(self: MailserverModel, peers: seq[string]) = var mailserverAvailable = false for knownPeer in self.nodes.keys: - if not peers.contains(knownPeer) and self.nodes[knownPeer] != MailserverStatus.Disconnected: + if not peers.contains(knownPeer) and (self.nodes[knownPeer] == MailserverStatus.Connected or (self.nodes[knownPeer] == MailserverStatus.Connecting and (cpuTime() - self.lastConnectionAttempt) > 8)): info "Peer disconnected", peer=knownPeer self.nodes[knownPeer] = MailserverStatus.Disconnected self.events.emit("peerDisconnected", MailserverArgs(peer: knownPeer)) diff --git a/vendor/status-go b/vendor/status-go index 26bfeddad4..5c55ab5264 160000 --- a/vendor/status-go +++ b/vendor/status-go @@ -1 +1 @@ -Subproject commit 26bfeddad483a649ef2f17e9729b9547f33979aa +Subproject commit 5c55ab5264ae615ef5a80302bbea5dd6279dc77e