Fixes and make guild tooltip show users inside hidden voice channels (#613)

* Fix #509

* Fix #597

* Fix #594
This commit is contained in:
Nuckyz 2023-03-19 22:03:33 -03:00 committed by GitHub
parent 4aff11421f
commit e36f4e5b0a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 23 additions and 10 deletions

View file

@ -50,7 +50,7 @@ async function init() {
await update(); await update();
const needsFullRestart = await rebuild(); const needsFullRestart = await rebuild();
if (Settings.autoUpdateNotification) if (Settings.autoUpdateNotification)
showNotification({ setTimeout(() => showNotification({
title: "Vencord has been updated!", title: "Vencord has been updated!",
body: "Click here to restart", body: "Click here to restart",
permanent: true, permanent: true,
@ -60,19 +60,19 @@ async function init() {
else else
location.reload(); location.reload();
} }
}); }), 10_000);
return; return;
} }
if (Settings.notifyAboutUpdates) if (Settings.notifyAboutUpdates)
showNotification({ setTimeout(() => showNotification({
title: "A Vencord update is available!", title: "A Vencord update is available!",
body: "Click here to view the update", body: "Click here to view the update",
permanent: true, permanent: true,
onClick() { onClick() {
SettingsRouter.open("VencordUpdater"); SettingsRouter.open("VencordUpdater");
} }
}); }), 10_000);
} catch (err) { } catch (err) {
UpdateLogger.error("Failed to check for updates", err); UpdateLogger.error("Failed to check for updates", err);
} }

View file

@ -18,6 +18,7 @@
import "./Switch.css"; import "./Switch.css";
import { classes } from "@utils/misc";
import { findByPropsLazy } from "@webpack"; import { findByPropsLazy } from "@webpack";
interface SwitchProps { interface SwitchProps {
@ -33,7 +34,7 @@ const SwitchClasses = findByPropsLazy("slider", "input", "container");
export function Switch({ checked, onChange, disabled }: SwitchProps) { export function Switch({ checked, onChange, disabled }: SwitchProps) {
return ( return (
<div> <div>
<div className={`${SwitchClasses.container} default-colors`} style={{ <div className={classes(SwitchClasses.container, "default-colors", checked ? SwitchClasses.checked : void 0)} style={{
backgroundColor: checked ? SWITCH_ON : SWITCH_OFF, backgroundColor: checked ? SWITCH_ON : SWITCH_OFF,
opacity: disabled ? 0.3 : 1 opacity: disabled ? 0.3 : 1
}}> }}>

View file

@ -174,6 +174,7 @@ export default definePlugin({
match: /(MESSAGE_UPDATE:function\((\w)\).+?)\.update\((\w)/, match: /(MESSAGE_UPDATE:function\((\w)\).+?)\.update\((\w)/,
replace: "$1" + replace: "$1" +
".update($3,m =>" + ".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 ?" + " $2.message.content !== m.editHistory?.[0]?.content && $2.message.content !== m.content ?" +
" m.set('editHistory',[...(m.editHistory || []), $self.makeEdit($2.message, m)]) :" + " m.set('editHistory',[...(m.editHistory || []), $self.makeEdit($2.message, m)]) :" +
" m" + " m" +

View file

@ -37,16 +37,19 @@ export default definePlugin({
} }
] ]
}, },
{ ...[
find: "displayName=\"MessageStore\"", 'displayName="MessageStore"',
'displayName="ReadStateStore"'
].map(find => ({
find,
predicate: () => Settings.plugins.NoBlockedMessages.ignoreBlockedMessages === true, predicate: () => Settings.plugins.NoBlockedMessages.ignoreBlockedMessages === true,
replacement: [ replacement: [
{ {
match: /(?<=MESSAGE_CREATE:function\((\w)\){var \w=\w\.channelId,\w=\w\.message,\w=\w\.isPushNotification,\w=\w\.\w\.getOrCreate\(\w\));/, match: /(?<=MESSAGE_CREATE:function\((\i)\){)/,
replace: ";if($self.isBlocked(n))return;" replace: (_, props) => `if($self.isBlocked(${props}.message))return;`
} }
] ]
} }))
], ],
options: { options: {
ignoreBlockedMessages: { ignoreBlockedMessages: {

View file

@ -335,6 +335,14 @@ export default definePlugin({
match: /(?<=getChannel\((\i)\)\)(?=.{0,100}?selectVoiceChannel))/, match: /(?<=getChannel\((\i)\)\)(?=.{0,100}?selectVoiceChannel))/,
replace: (_, channelId) => `&&!$self.isHiddenChannel({channelId:${channelId}})` 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`
}
} }
], ],