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`
+ }
}
],