From 7c73df1f06938c560da89936446cebc8e3a191ae Mon Sep 17 00:00:00 2001 From: Sarah Jamie Lewis Date: Wed, 22 Jul 2020 12:35:49 -0700 Subject: [PATCH] More considered server side sync capability --- server/server_tokenboard.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/server/server_tokenboard.go b/server/server_tokenboard.go index 198d33f..397a2c5 100644 --- a/server/server_tokenboard.go +++ b/server/server_tokenboard.go @@ -39,7 +39,6 @@ func (ta *TokenboardServer) Init(connection tapir.Connection) { ta.AuthApp.Init(connection) if connection.HasCapability(applications.AuthCapability) { ta.connection = connection - ta.connection.SetCapability(groups.CwtchServerSyncedCapability) go ta.Listen() } else { connection.Close() @@ -85,6 +84,15 @@ func (ta *TokenboardServer) Listen() { data, _ = json.Marshal(message) ta.connection.Send(data) } + newMessages := ta.LegacyMessageStore.FetchMessages() + // Set sync and then send any new messages that might have happened while we were syncing + ta.connection.SetCapability(groups.CwtchServerSyncedCapability) + if len(newMessages) > len(messages) { + for _, message := range newMessages[len(messages):] { + data, _ = json.Marshal(groups.Message{MessageType: groups.NewMessageMessage, NewMessage: &groups.NewMessage{EGM: *message}}) + ta.connection.Send(data) + } + } } else { log.Debugf("Server Closing Connection Because of Malformed ReplayRequestMessage Packet") ta.connection.Close()