aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorV <vendicated@riseup.net>2023-05-28 21:59:22 +0200
committerV <vendicated@riseup.net>2023-05-28 22:02:47 +0200
commit6300198a5463ab38da81906bda634addf4c8a369 (patch)
tree72f6f8fb47e6cc42b8b76c6e7ffe6f6b9e4ea311
parent458c7ed4c5035e125a497c192e71737f946ff302 (diff)
downloadVencord-6300198a5463ab38da81906bda634addf4c8a369.tar.gz
Vencord-6300198a5463ab38da81906bda634addf4c8a369.tar.bz2
Vencord-6300198a5463ab38da81906bda634addf4c8a369.zip
MessageLinkEmbeds: Fix niche unclaimed account bug
This plugin fires MESSAGE_UPDATE events for messages containing message links (to rerender them). If the updated message is an interaction, it contains message.interaction.user. If the one who ran the command is you, message.interaction.user will be you and the email in this data is always set to null. Discord seems to update the local user data with this user. So essentially, in the above described edge case it would update the current user to have no email (only locally, in memory. There is 0 risk for your account, it was just a temporary visual bug) which would cause the unclaimed account banner to appear. This commit fixes this by simply omitting the interaction field from the MESSAGE_UPDATE event
-rw-r--r--src/plugins/hideAttachments.tsx8
-rw-r--r--src/plugins/messageLinkEmbeds.tsx2
2 files changed, 3 insertions, 7 deletions
diff --git a/src/plugins/hideAttachments.tsx b/src/plugins/hideAttachments.tsx
index 944da65..83a924e 100644
--- a/src/plugins/hideAttachments.tsx
+++ b/src/plugins/hideAttachments.tsx
@@ -20,7 +20,7 @@ import { get, set } from "@api/DataStore";
import { addButton, removeButton } from "@api/MessagePopover";
import { Devs } from "@utils/constants";
import definePlugin from "@utils/types";
-import { ChannelStore, FluxDispatcher } from "@webpack/common";
+import { ChannelStore } from "@webpack/common";
let style: HTMLStyleElement;
@@ -101,11 +101,5 @@ export default definePlugin({
await saveHiddenMessages(ids);
await this.buildCss();
-
- // update is necessary to rerender the PopOver
- FluxDispatcher.dispatch({
- type: "MESSAGE_UPDATE",
- message: { id }
- });
}
});
diff --git a/src/plugins/messageLinkEmbeds.tsx b/src/plugins/messageLinkEmbeds.tsx
index d1fcbf3..5fae234 100644
--- a/src/plugins/messageLinkEmbeds.tsx
+++ b/src/plugins/messageLinkEmbeds.tsx
@@ -225,6 +225,8 @@ function MessageEmbedAccessory({ message }: { message: Message; }) {
} else {
const msg = { ...message } as any;
delete msg.embeds;
+ delete msg.interaction;
+
messageFetchQueue.push(() => fetchMessage(channelID, messageID)
.then(m => m && FluxDispatcher.dispatch({
type: "MESSAGE_UPDATE",