Fix ImplicitRelationships and NotificationsVolume (#3184)

Also simplifies MessageEventsAPI patch
This commit is contained in:
Nuckyz 2025-01-31 14:55:40 -03:00 committed by GitHub
parent 1eff1a02bd
commit fc4e95806d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 9 additions and 14 deletions

View file

@ -37,13 +37,9 @@ export default definePlugin({
{ {
find: ".handleSendMessage,onResize", find: ".handleSendMessage,onResize",
replacement: { replacement: {
// FIXME: Simplify this change once all branches share the same code // https://regex101.com/r/hBlXpl/1
// props.chatInputType...then((function(isMessageValid)... var parsedMessage = b.c.parse(channel,... var replyOptions = f.g.getSendMessageOptionsForReply(pendingReply); match: /let (\i)=\i\.\i\.parse\((\i),.+?let (\i)=\i\.\i\.getSendMessageOptions\(\{.+?\}\);(?<=\)\(({.+?})\)\.then.+?)/,
// Lookbehind: validateMessage)({openWarningPopout:..., type: i.props.chatInputType, content: t, stickers: r, ...}).then((function(isMessageValid) replace: (m, parsedMessage, channel, replyOptions, extra) => m +
match: /(\{openWarningPopout:.{0,100}type:this.props.chatInputType.+?\.then\((?:async )?)(\i=>\{.+?let (\i)=\i\.\i\.parse\((\i),.+?let (\i)=\i\.\i\.getSendMessageOptions\(\{.+?\}\);)(?<=\)\(({.+?})\)\.then.+?)/,
// props.chatInputType...then((async function(isMessageValid)... var replyOptions = f.g.getSendMessageOptionsForReply(pendingReply); if(await Vencord.api...) return { shoudClear:true, shouldRefocus:true };
replace: (_, rest1, rest2, parsedMessage, channel, replyOptions, extra) => "" +
`${rest1}${rest1.includes("async") ? "" : "async "}${rest2}` +
`if(await Vencord.Api.MessageEvents._handlePreSend(${channel}.id,${parsedMessage},${extra},${replyOptions}))` + `if(await Vencord.Api.MessageEvents._handlePreSend(${channel}.id,${parsedMessage},${extra},${replyOptions}))` +
"return{shouldClear:false,shouldRefocus:true};" "return{shouldClear:false,shouldRefocus:true};"
} }
@ -53,8 +49,7 @@ export default definePlugin({
replacement: { replacement: {
match: /let\{id:\i}=(\i),{id:\i}=(\i);return \i\.useCallback\((\i)=>\{/, match: /let\{id:\i}=(\i),{id:\i}=(\i);return \i\.useCallback\((\i)=>\{/,
replace: (m, message, channel, event) => replace: (m, message, channel, event) =>
// the message param is shadowed by the event param, so need to alias them `const vcMsg=${message},vcChan=${channel};${m}Vencord.Api.MessageEvents._handleClick(vcMsg,vcChan,${event});`
`const vcMsg=${message},vcChan=${channel};${m}Vencord.Api.MessageEvents._handleClick(vcMsg, vcChan, ${event});`
} }
} }
] ]

View file

@ -50,9 +50,9 @@ export default definePlugin({
{ {
find: "#{intl::FRIENDS_SECTION_ONLINE}", find: "#{intl::FRIENDS_SECTION_ONLINE}",
replacement: { replacement: {
match: /(\(0,\i\.jsx\)\(\i\.\i\.Item,\{id:\i\.\i)\.BLOCKED,className:([^\s]+?)\.item,children:\i\.\i\.string\(\i\.\i#{intl::BLOCKED}\)\}\)/, match: /,{id:(\i\.\i)\.BLOCKED,show:.+?className:(\i\.item)/,
replace: "$1.IMPLICIT,className:$2.item,children:\"Implicit\"}),$&" replace: (rest, relationShipTypes, className) => `,{id:${relationShipTypes}.IMPLICIT,show:true,className:${className},content:"Implicit"}${rest}`
}, }
}, },
// Sections content // Sections content
{ {

View file

@ -25,9 +25,9 @@ export default definePlugin({
settings, settings,
patches: [ patches: [
{ {
find: "_ensureAudio(){", find: "ensureAudio(){",
replacement: { replacement: {
match: /(?=Math\.min\(\i\.\i\.getOutputVolume\(\)\/100)/, match: /(?=Math\.min\(\i\.\i\.getOutputVolume\(\)\/100)/g,
replace: "$self.settings.store.notificationVolume/100*" replace: "$self.settings.store.notificationVolume/100*"
}, },
}, },