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 ...@@ -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) { timestamp time.Time, round rounds.Round, mType dm.MessageType, status dm.Status) (uint64, error) {
// Keep track of whether Conversation was altered // Keep track of whether Conversation was altered
// FIXME: this is very similar to updateConversation
//. below. Can we merge them?
conversationUpdated := false conversationUpdated := false
result, err := w.getConversation(partnerKey) result, err := w.getConversation(partnerKey)
if err != nil { if err != nil {
...@@ -238,6 +240,7 @@ func (w *wasmModel) receiveWrapper(messageID message.ID, parentID *message.ID, n ...@@ -238,6 +240,7 @@ func (w *wasmModel) receiveWrapper(messageID message.ID, parentID *message.ID, n
jww.DEBUG.Printf( jww.DEBUG.Printf(
"[DM indexedDB] Conversation with %s already joined", nickname) "[DM indexedDB] Conversation with %s already joined", nickname)
updateConversation := false
// Update Conversation if nickname was altered // Update Conversation if nickname was altered
isFromPartner := bytes.Equal(result.Pubkey, senderKey) isFromPartner := bytes.Equal(result.Pubkey, senderKey)
nicknameChanged := result.Nickname != nickname nicknameChanged := result.Nickname != nickname
...@@ -245,13 +248,28 @@ func (w *wasmModel) receiveWrapper(messageID message.ID, parentID *message.ID, n ...@@ -245,13 +248,28 @@ func (w *wasmModel) receiveWrapper(messageID message.ID, parentID *message.ID, n
jww.DEBUG.Printf( jww.DEBUG.Printf(
"[DM indexedDB] Updating from nickname %s to %s", "[DM indexedDB] Updating from nickname %s to %s",
result.Nickname, nickname) result.Nickname, nickname)
err = w.upsertConversation(nickname, result.Pubkey, result.Token, updateConversation = true
result.CodesetVersion, result.Blocked) }
// 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 { if err != nil {
return 0, err return 0, err
} }
conversationUpdated = true conversationUpdated = true
} }
} }
// Handle encryption, if it is present // 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