From d530801258063b74bdc56b6f26452f35fbbcf187 Mon Sep 17 00:00:00 2001 From: Till Faelligen Date: Wed, 21 Oct 2020 19:16:44 +0200 Subject: [PATCH] Fix issue with receipts getting overwritten --- syncapi/storage/shared/syncserver.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/syncapi/storage/shared/syncserver.go b/syncapi/storage/shared/syncserver.go index 3bd221b9e..091214d08 100644 --- a/syncapi/storage/shared/syncserver.go +++ b/syncapi/storage/shared/syncserver.go @@ -600,10 +600,13 @@ func (d *Database) addReceiptDeltaToResponse( RoomID: roomID, } content := make(map[string]eduAPI.ReceiptMRead) - read := eduAPI.ReceiptMRead{ - User: make(map[string]eduAPI.ReceiptTS), - } for _, receipt := range receipts { + var read eduAPI.ReceiptMRead + if read, ok = content[receipt.EventID]; !ok { + read = eduAPI.ReceiptMRead{ + User: make(map[string]eduAPI.ReceiptTS), + } + } read.User[receipt.UserID] = eduAPI.ReceiptTS{TS: receipt.Timestamp} content[receipt.EventID] = read }