From cae44cbd466ae75063ca0d14078804c0fa03c95e Mon Sep 17 00:00:00 2001 From: Sarah Jamie Lewis Date: Tue, 2 Nov 2021 13:47:04 -0700 Subject: [PATCH] Ensure unique keys for messages --- lib/models/messages/filemessage.dart | 2 +- lib/models/messages/invitemessage.dart | 3 +-- lib/models/messages/quotedmessage.dart | 2 +- lib/models/messages/textmessage.dart | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/models/messages/filemessage.dart b/lib/models/messages/filemessage.dart index fa178dd4..b0dbc421 100644 --- a/lib/models/messages/filemessage.dart +++ b/lib/models/messages/filemessage.dart @@ -20,7 +20,7 @@ class FileMessage extends Message { return ChangeNotifierProvider.value( value: this.metadata, builder: (bcontext, child) { - String idx = Provider.of(context).isGroup == true && this.metadata.signature != null ? this.metadata.signature! : this.metadata.messageIndex.toString(); + String idx = this.metadata.contactHandle + this.metadata.messageIndex.toString(); dynamic shareObj = jsonDecode(this.content); if (shareObj == null) { return MessageRow(MalformedBubble()); diff --git a/lib/models/messages/invitemessage.dart b/lib/models/messages/invitemessage.dart index 7313207f..df21e313 100644 --- a/lib/models/messages/invitemessage.dart +++ b/lib/models/messages/invitemessage.dart @@ -21,8 +21,7 @@ class InviteMessage extends Message { return ChangeNotifierProvider.value( value: this.metadata, builder: (bcontext, child) { - String idx = Provider.of(context).isGroup == true && this.metadata.signature != null ? this.metadata.signature! : this.metadata.messageIndex.toString(); - + String idx = this.metadata.contactHandle + this.metadata.messageIndex.toString(); String inviteTarget; String inviteNick; String invite = this.content; diff --git a/lib/models/messages/quotedmessage.dart b/lib/models/messages/quotedmessage.dart index 3bb85961..8bc0c905 100644 --- a/lib/models/messages/quotedmessage.dart +++ b/lib/models/messages/quotedmessage.dart @@ -94,7 +94,7 @@ class QuotedMessage extends Message { return ChangeNotifierProvider.value( value: this.metadata, builder: (bcontext, child) { - String idx = Provider.of(context).isGroup == true && this.metadata.signature != null ? this.metadata.signature! : this.metadata.messageIndex.toString(); + String idx = this.metadata.contactHandle + this.metadata.messageIndex.toString(); return MessageRow( QuotedMessageBubble(message["body"], quotedMessage.then((LocallyIndexedMessage? localIndex) { if (localIndex != null) { diff --git a/lib/models/messages/textmessage.dart b/lib/models/messages/textmessage.dart index 4f0d4906..a5782ac4 100644 --- a/lib/models/messages/textmessage.dart +++ b/lib/models/messages/textmessage.dart @@ -32,7 +32,7 @@ class TextMessage extends Message { return ChangeNotifierProvider.value( value: this.metadata, builder: (bcontext, child) { - String idx = this.metadata.messageIndex.toString(); + String idx = this.metadata.contactHandle + this.metadata.messageIndex.toString(); return MessageRow(MessageBubble(this.content), key: Provider.of(bcontext).getMessageKey(idx)); }); }