From f122607adac6c50383a41dea963c13869bc8e02f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Tinkl?= Date: Thu, 27 Oct 2022 11:21:10 +0200 Subject: [PATCH] fix: consecutive discord messages should be grouped like status messages - fill the senderId just like other messages - add some checks in Utils since the "publicKey" (ID) coming Discord isn't in the format we'd normally expect Closes #6678 --- src/app/modules/shared_models/message_item.nim | 1 + ui/imports/shared/views/chat/MessageView.qml | 2 +- ui/imports/utils/Utils.qml | 12 +++++++----- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/app/modules/shared_models/message_item.nim b/src/app/modules/shared_models/message_item.nim index b594ae7861..e4466bbcab 100644 --- a/src/app/modules/shared_models/message_item.nim +++ b/src/app/modules/shared_models/message_item.nim @@ -134,6 +134,7 @@ proc initItem*( if ContentType.DiscordMessage == contentType: result.messageText = discordMessage.content + result.senderId = discordMessage.author.id result.senderDisplayName = discordMessage.author.name result.senderIcon = discordMessage.author.localUrl result.timestamp = parseInt(discordMessage.timestamp)*1000 diff --git a/ui/imports/shared/views/chat/MessageView.qml b/ui/imports/shared/views/chat/MessageView.qml index 0b50bcb801..82a755a1c5 100644 --- a/ui/imports/shared/views/chat/MessageView.qml +++ b/ui/imports/shared/views/chat/MessageView.qml @@ -90,7 +90,7 @@ Loader { property double prevMsgTimestamp: prevMessageAsJsonObj ? prevMessageAsJsonObj.timestamp : 0 property double nextMsgTimestamp: nextMessageAsJsonObj ? nextMessageAsJsonObj.timestamp : 0 - property bool shouldRepeatHeader: ((messageTimestamp - prevMsgTimestamp) / 60 / 1000) > Constants.repeatHeaderInterval || isDiscordMessage + property bool shouldRepeatHeader: ((messageTimestamp - prevMsgTimestamp) / 60 / 1000) > Constants.repeatHeaderInterval property bool hasMention: false diff --git a/ui/imports/utils/Utils.qml b/ui/imports/utils/Utils.qml index 4def461154..61309a800d 100644 --- a/ui/imports/utils/Utils.qml +++ b/ui/imports/utils/Utils.qml @@ -562,13 +562,13 @@ QtObject { } function isEnsVerified(publicKey, getVerificationRequest=true) { - if (!publicKey) - return false + if (publicKey === "" || !isChatKey(publicKey) ) + return return getContactDetailsAsJson(publicKey, getVerificationRequest).ensVerified } function getEmojiHashAsJson(publicKey) { - if (publicKey === "") { + if (publicKey === "" || !isChatKey(publicKey)) { return "" } let jsonObj = globalUtilsInst.getEmojiHashAsJson(publicKey) @@ -576,7 +576,7 @@ QtObject { } function getColorHashAsJson(publicKey, force=false, getVerificationRequest=true) { - if (publicKey === "") + if (publicKey === "" || !isChatKey(publicKey) ) return if (!force && isEnsVerified(publicKey, getVerificationRequest)) return @@ -585,7 +585,7 @@ QtObject { } function colorIdForPubkey(publicKey) { - if (publicKey === "") { + if (publicKey === "" || !isChatKey(publicKey)) { return 0 } return globalUtilsInst.getColorId(publicKey) @@ -608,6 +608,8 @@ QtObject { if (publicKey === "") { return "" } + if (!isChatKey(publicKey)) + return publicKey return globalUtilsInst.getCompressedPk(publicKey) }