From 33a8922e435172fe5277aaddc947bb1558e037b4 Mon Sep 17 00:00:00 2001 From: Sarah Jamie Lewis Date: Sun, 3 Feb 2019 17:55:13 -0800 Subject: [PATCH] Message Store Fix --- event/common.go | 1 + peer/cwtch_peer.go | 3 +-- storage/profile_store.go | 4 +--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/event/common.go b/event/common.go index 749ad2b..d508279 100644 --- a/event/common.go +++ b/event/common.go @@ -71,6 +71,7 @@ const ( RemotePeer = Field("RemotePeer") Ciphertext = Field("Ciphertext") Signature = Field("Signature") + PreviousSignature = Field("PreviousSignature") TimestampSent = Field("TimestampSent") TimestampReceived = Field("TimestampReceived") diff --git a/peer/cwtch_peer.go b/peer/cwtch_peer.go index f10f240..e56ae81 100644 --- a/peer/cwtch_peer.go +++ b/peer/cwtch_peer.go @@ -313,9 +313,8 @@ func (cp *cwtchPeer) eventHandler() { switch ev.EventType { case event.EncryptedGroupMessage: ok, groupID, message, seen := cp.Profile.AttemptDecryption([]byte(ev.Data[event.Ciphertext]), []byte(ev.Data[event.Signature])) - log.Debugf("ok,gid,msg = %v,%v,%v", ok, groupID, message) if ok && !seen { - cp.eventBus.Publish(event.NewEvent(event.NewMessageFromGroup, map[event.Field]string{event.TimestampReceived: message.Received.Format(time.RFC3339Nano), event.TimestampSent: message.Timestamp.Format(time.RFC3339Nano), event.Data: message.Message, event.GroupID: groupID, event.Signature: string(message.Signature), event.RemotePeer: message.PeerID})) + cp.eventBus.Publish(event.NewEvent(event.NewMessageFromGroup, map[event.Field]string{event.TimestampReceived: message.Received.Format(time.RFC3339Nano), event.TimestampSent: message.Timestamp.Format(time.RFC3339Nano), event.Data: message.Message, event.GroupID: groupID, event.Signature: string(message.Signature), event.PreviousSignature: string(message.PreviousMessageSig), event.RemotePeer: message.PeerID})) } case event.NewGroupInvite: var groupInvite protocol.GroupChatInvite diff --git a/storage/profile_store.go b/storage/profile_store.go index a8e1c64..86b8dfd 100644 --- a/storage/profile_store.go +++ b/storage/profile_store.go @@ -152,9 +152,7 @@ func (ps *profileStore) eventHandler() { groupid := ev.Data[event.GroupID] received, _ := time.Parse(time.RFC3339Nano, ev.Data[event.TimestampReceived]) sent, _ := time.Parse(time.RFC3339Nano, ev.Data[event.TimestampSent]) - // TODO: Sig, prev message Sig - message := model.Message{Received: received, Timestamp: sent, Message: ev.Data[event.Data], PeerID: ev.Data[event.RemotePeer], Signature: []byte(ev.Data[event.Signature])} - //ps.profile.Groups[groupid].AddMessage(message) <- wants protocol.DecryptedGroupMessage so group.Timeline will drift here from launch when it's initialized + message := model.Message{Received: received, Timestamp: sent, Message: ev.Data[event.Data], PeerID: ev.Data[event.RemotePeer], Signature: []byte(ev.Data[event.Signature]), PreviousMessageSig:[]byte(ev.Data[event.PreviousSignature])} ps.streamStores[groupid].Write(message) default: return