diff --git a/client/helpers/messageHelper.go b/client/helpers/messageHelper.go index 6de4e22..3584d9d 100644 --- a/client/helpers/messageHelper.go +++ b/client/helpers/messageHelper.go @@ -105,6 +105,10 @@ func BuildReceivedMessage(messageUid string, peer_uid string, received int64) (* if err != nil { return nil, "BuildReceivedMessage : ProcessOutboundUserMessage", err } + // Persist peer to save updated DR state (DrStateJson) + if peer.DrRootKey != "" { + client.GetConfig().GetIdentity().Peers.StorePeer(peer) + } return packedMsg, "", nil } @@ -122,6 +126,10 @@ func BuildProcessedMessage(messageUid string, peer_uid string, processed int64) if err != nil { return nil, "BuildProcessedMessage : ProcessOutboundUserMessage", err } + // Persist peer to save updated DR state (DrStateJson) + if peer.DrRootKey != "" { + client.GetConfig().GetIdentity().Peers.StorePeer(peer) + } return packedMsg, "", nil } diff --git a/client/internalusermessage.go b/client/internalusermessage.go index 39ff647..502d7d2 100644 --- a/client/internalusermessage.go +++ b/client/internalusermessage.go @@ -44,6 +44,10 @@ func ProcessOutboundTextMessage(peer *Peer, text string, srv *Server) ([]byte, e if err != nil { return nil, err } + // Persist peer to save updated DR state (DrStateJson) + if peer.DrRootKey != "" { + GetConfig().GetIdentity().Peers.StorePeer(peer) + } // Creating Server message for transporting the user message toServerMessage := srv.BuildToServerMessageFromUserMessage(packedMsg) return srv.ProcessOutboundMessage(toServerMessage)