From e36f4e5b0aed93f6b24a42eb738fc5f38579bf3c Mon Sep 17 00:00:00 2001 From: Nuckyz <61953774+Nuckyz@users.noreply.github.com> Date: Sun, 19 Mar 2023 22:03:33 -0300 Subject: [PATCH] Fixes and make guild tooltip show users inside hidden voice channels (#613) * Fix #509 * Fix #597 * Fix #594 --- src/Vencord.ts | 8 ++++---- src/components/Switch.tsx | 3 ++- src/plugins/messageLogger/index.tsx | 1 + src/plugins/noBlockedMessages.ts | 13 ++++++++----- src/plugins/showHiddenChannels/index.tsx | 8 ++++++++ 5 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/Vencord.ts b/src/Vencord.ts index 98bc83a61..af6ca088a 100644 --- a/src/Vencord.ts +++ b/src/Vencord.ts @@ -50,7 +50,7 @@ async function init() { await update(); const needsFullRestart = await rebuild(); if (Settings.autoUpdateNotification) - showNotification({ + setTimeout(() => showNotification({ title: "Vencord has been updated!", body: "Click here to restart", permanent: true, @@ -60,19 +60,19 @@ async function init() { else location.reload(); } - }); + }), 10_000); return; } if (Settings.notifyAboutUpdates) - showNotification({ + setTimeout(() => showNotification({ title: "A Vencord update is available!", body: "Click here to view the update", permanent: true, onClick() { SettingsRouter.open("VencordUpdater"); } - }); + }), 10_000); } catch (err) { UpdateLogger.error("Failed to check for updates", err); } diff --git a/src/components/Switch.tsx b/src/components/Switch.tsx index 11a3fe02e..10904e141 100644 --- a/src/components/Switch.tsx +++ b/src/components/Switch.tsx @@ -18,6 +18,7 @@ import "./Switch.css"; +import { classes } from "@utils/misc"; import { findByPropsLazy } from "@webpack"; interface SwitchProps { @@ -33,7 +34,7 @@ const SwitchClasses = findByPropsLazy("slider", "input", "container"); export function Switch({ checked, onChange, disabled }: SwitchProps) { return (
-
diff --git a/src/plugins/messageLogger/index.tsx b/src/plugins/messageLogger/index.tsx index ef05cf35d..e13da353b 100644 --- a/src/plugins/messageLogger/index.tsx +++ b/src/plugins/messageLogger/index.tsx @@ -174,6 +174,7 @@ export default definePlugin({ match: /(MESSAGE_UPDATE:function\((\w)\).+?)\.update\((\w)/, replace: "$1" + ".update($3,m =>" + + " (($2.message.flags & 64) === 64 || (Vencord.Settings.plugins.MessageLogger.ignoreBots && $2.message.author?.bot) || (Vencord.Settings.plugins.MessageLogger.ignoreSelf && $2.message.author?.id === Vencord.Webpack.Common.UserStore.getCurrentUser().id)) ? m :" + " $2.message.content !== m.editHistory?.[0]?.content && $2.message.content !== m.content ?" + " m.set('editHistory',[...(m.editHistory || []), $self.makeEdit($2.message, m)]) :" + " m" + diff --git a/src/plugins/noBlockedMessages.ts b/src/plugins/noBlockedMessages.ts index 6937041a8..d91572a8b 100644 --- a/src/plugins/noBlockedMessages.ts +++ b/src/plugins/noBlockedMessages.ts @@ -37,16 +37,19 @@ export default definePlugin({ } ] }, - { - find: "displayName=\"MessageStore\"", + ...[ + 'displayName="MessageStore"', + 'displayName="ReadStateStore"' + ].map(find => ({ + find, predicate: () => Settings.plugins.NoBlockedMessages.ignoreBlockedMessages === true, replacement: [ { - match: /(?<=MESSAGE_CREATE:function\((\w)\){var \w=\w\.channelId,\w=\w\.message,\w=\w\.isPushNotification,\w=\w\.\w\.getOrCreate\(\w\));/, - replace: ";if($self.isBlocked(n))return;" + match: /(?<=MESSAGE_CREATE:function\((\i)\){)/, + replace: (_, props) => `if($self.isBlocked(${props}.message))return;` } ] - } + })) ], options: { ignoreBlockedMessages: { diff --git a/src/plugins/showHiddenChannels/index.tsx b/src/plugins/showHiddenChannels/index.tsx index eb494682f..318bad251 100644 --- a/src/plugins/showHiddenChannels/index.tsx +++ b/src/plugins/showHiddenChannels/index.tsx @@ -335,6 +335,14 @@ export default definePlugin({ match: /(?<=getChannel\((\i)\)\)(?=.{0,100}?selectVoiceChannel))/, replace: (_, channelId) => `&&!$self.isHiddenChannel({channelId:${channelId}})` } + }, + { + find: '.displayName="GuildChannelStore"', + replacement: { + // Make GuildChannelStore contain hidden channels for users in voice channels to appear in the guild tooltip + match: /isChannelGated\(.+?\)(?=\|\|)/, + replace: m => `${m}||true` + } } ],