Skip to content
Snippets Groups Projects
Commit 2c5c4d77 authored by Richard T. Carback III's avatar Richard T. Carback III
Browse files

Merge branch 'XX-4617/dmtoken' into 'release'

Make the self send call receiveMessage with the partnerDMToken, not the self...

See merge request !602
parents 1282fa37 cd51598e
No related branches found
No related tags found
2 merge requests!602Make the self send call receiveMessage with the partnerDMToken, not the self...,!515Release
......@@ -127,7 +127,7 @@ type EventModel interface {
Receive(messageID cryptoMessage.ID,
nickname string, text []byte,
partnerPubKey, senderPubKey ed25519.PublicKey,
dmToken uint32,
partnerToken uint32,
codeset uint8, timestamp time.Time,
round rounds.Round, mType MessageType, status Status) uint64
......@@ -148,7 +148,7 @@ type EventModel interface {
ReceiveText(messageID cryptoMessage.ID,
nickname, text string,
partnerPubKey, senderPubKey ed25519.PublicKey,
dmToken uint32,
partnerToken uint32,
codeset uint8, timestamp time.Time,
round rounds.Round, status Status) uint64
......@@ -173,7 +173,7 @@ type EventModel interface {
ReceiveReply(messageID cryptoMessage.ID,
reactionTo cryptoMessage.ID, nickname, text string,
partnerPubKey, senderPubKey ed25519.PublicKey,
dmToken uint32, codeset uint8,
partnerToken uint32, codeset uint8,
timestamp time.Time, round rounds.Round,
status Status) uint64
......@@ -198,7 +198,7 @@ type EventModel interface {
ReceiveReaction(messageID cryptoMessage.ID,
reactionTo cryptoMessage.ID, nickname, reaction string,
partnerPubKey, senderPubKey ed25519.PublicKey,
dmToken uint32, codeset uint8,
partnerToken uint32, codeset uint8,
timestamp time.Time, round rounds.Round,
status Status) uint64
......
......@@ -117,12 +117,15 @@ func (dp *dmProcessor) Process(msg format.Message,
return
}
// partner Token is the sender Token
partnerToken := senderToken
// Process the receivedMessage. This is already in an instanced event;
// no new thread is needed.
// Note that in the non-self send case the partner key and sender
// key are the same. This is how the UI differentiates between the two.
uuid, err := dp.r.receiveMessage(msgID, messageType, directMsg.Nickname,
directMsg.Payload, senderToken,
directMsg.Payload, partnerToken,
*pubSigningKey, *pubSigningKey, ts, receptionID,
round, Received)
if err != nil {
......@@ -153,7 +156,6 @@ func (sp *selfProcessor) Process(msg format.Message,
return
}
senderPublicKey := sp.r.c.publicKey
senderToken := sp.r.c.myToken
directMsg := &DirectMessage{}
if err := proto.Unmarshal(payload, directMsg); err != nil {
......@@ -223,7 +225,7 @@ func (sp *selfProcessor) Process(msg format.Message,
// Process the receivedMessage. This is already in an instanced event;
// no new thread is needed.
uuid, err := sp.r.receiveMessage(msgID, messageType, directMsg.Nickname,
directMsg.Payload, senderToken,
directMsg.Payload, partnerToken,
*partnerPubKey, *pubSigningKey, ts, receptionID,
round, Received)
if err != nil {
......@@ -245,27 +247,27 @@ func (r *receiver) GetProcessor() *dmProcessor {
// receiveMessage attempts to parse the message and calls the appropriate
// receiver function.
func (r *receiver) receiveMessage(msgID message.ID, messageType MessageType,
nick string, plaintext []byte, dmToken uint32,
nick string, plaintext []byte, partnerDMToken uint32,
partnerPubKey, senderPubKey ed25519.PublicKey, ts time.Time,
_ receptionID.EphemeralIdentity, round rounds.Round,
status Status) (uint64, error) {
switch messageType {
case TextType:
return r.receiveTextMessage(msgID, messageType,
nick, plaintext, dmToken, partnerPubKey, senderPubKey,
0, ts, round, status)
nick, plaintext, partnerDMToken, partnerPubKey,
senderPubKey, 0, ts, round, status)
case ReplyType:
return r.receiveTextMessage(msgID, messageType,
nick, plaintext, dmToken, partnerPubKey, senderPubKey,
0, ts, round, status)
nick, plaintext, partnerDMToken, partnerPubKey,
senderPubKey, 0, ts, round, status)
case ReactionType:
return r.receiveReaction(msgID, messageType,
nick, plaintext, dmToken, partnerPubKey, senderPubKey,
0, ts, round, status)
nick, plaintext, partnerDMToken, partnerPubKey,
senderPubKey, 0, ts, round, status)
default:
return r.api.Receive(msgID, nick, plaintext,
partnerPubKey, senderPubKey,
dmToken, 0, ts, round,
partnerDMToken, 0, ts, round,
messageType, status), nil
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment