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

Merge branch 'XX-4592/tokenbug' into 'release'

Also update conversation if we detect that the dmToken has changed.

See merge request !93
parents f8bf49b2 6f7d868b
No related branches found
No related tags found
2 merge requests!93Also update conversation if we detect that the dmToken has changed.,!67fix for latest client release
......@@ -218,6 +218,8 @@ func (w *wasmModel) receiveWrapper(messageID message.ID, parentID *message.ID, n
timestamp time.Time, round rounds.Round, mType dm.MessageType, status dm.Status) (uint64, error) {
// Keep track of whether Conversation was altered
// FIXME: this is very similar to updateConversation
//. below. Can we merge them?
conversationUpdated := false
result, err := w.getConversation(partnerKey)
if err != nil {
......@@ -238,6 +240,7 @@ func (w *wasmModel) receiveWrapper(messageID message.ID, parentID *message.ID, n
jww.DEBUG.Printf(
"[DM indexedDB] Conversation with %s already joined", nickname)
updateConversation := false
// Update Conversation if nickname was altered
isFromPartner := bytes.Equal(result.Pubkey, senderKey)
nicknameChanged := result.Nickname != nickname
......@@ -245,13 +248,28 @@ func (w *wasmModel) receiveWrapper(messageID message.ID, parentID *message.ID, n
jww.DEBUG.Printf(
"[DM indexedDB] Updating from nickname %s to %s",
result.Nickname, nickname)
err = w.upsertConversation(nickname, result.Pubkey, result.Token,
result.CodesetVersion, result.Blocked)
updateConversation = true
}
// Fix conversation if dmToken is altered
dmTokenChanged := result.Token != dmToken
if isFromPartner && dmTokenChanged {
jww.WARN.Printf(
"[DM indexedDB] Updating from dmToken %s to %s",
result.Token, dmToken)
updateConversation = true
}
if updateConversation {
err = w.upsertConversation(nickname, result.Pubkey,
result.Token, result.CodesetVersion,
result.Blocked)
if err != nil {
return 0, err
}
conversationUpdated = true
}
}
// Handle encryption, if it is present
......
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