Fix broken patches

This commit is contained in:
Vendicated 2023-02-01 18:00:25 +01:00
parent 7b1d03699d
commit 70278f64a9
No known key found for this signature in database
GPG Key ID: A1DC0CFB5615D905
2 changed files with 20 additions and 14 deletions

View File

@ -22,12 +22,17 @@ import definePlugin from "@utils/types";
export default definePlugin({
name: "MessagePopoverAPI",
description: "API to add buttons to message popovers.",
authors: [Devs.KingFish],
authors: [Devs.KingFish, Devs.Ven],
patches: [{
find: "Messages.MESSAGE_UTILITIES_A11Y_LABEL",
replacement: {
match: /\?(?<makeButton>\i)\(.{1,35}\.Messages\.CONFIGURE.+?message:(?<message>\i).+?children:\[/,
replace: "$&...Vencord.Api.MessagePopover._buildPopoverElements($<message>,$<makeButton>),"
// foo && !bar ? createElement(blah,...makeElement(addReactionData))
match: /(\i&&!\i)\?\(0,\i\.jsxs?\)\(.{0,20}renderPopout:.{0,300}?(\i)\(.{3,20}\{key:"add-reaction".+?\}/,
replace: (m, bools, makeElement) => {
const msg = m.match(/message:(.{1,3}),/)?.[1];
if (!msg) throw new Error("Could not find message variable");
return `...(${bools}?Vencord.Api.MessagePopover._buildPopoverElements(${msg},${makeElement}):[]),${m}`;
}
}
}],
});

View File

@ -43,17 +43,18 @@ export default definePlugin({
}
}, {
// pass the target to the open link menu so we can check if it's an image
find: "REMOVE_ALL_REACTIONS_CONFIRM_BODY,",
replacement: {
// url1 = url2 = props.attachment.url
// ...
// OpenLinks(url2 != null ? url2 : url1, someStuffs)
//
// the back references are needed because the code is like Z(a!=null?b:c,d), no way to match that
// otherwise
match: /(?<props>.).onHeightUpdate.{0,200}(.)=(.)=.\.url;.+?\(null!=\3\?\3:\2[^)]+/,
replace: "$&,$<props>.target"
}
find: ".Messages.MESSAGE_ACTIONS_MENU_LABEL",
replacement: [
{
match: /ariaLabel:\i\.Z\.Messages\.MESSAGE_ACTIONS_MENU_LABEL/,
replace: "$&,_vencordTarget:arguments[0].target"
},
{
// var f = props.itemHref, .... MakeNativeMenu(null != f ? f : blah)
match: /(\i)=\i\.itemHref,.+?\(null!=\1\?\1:.{1,10}(?=\))/,
replace: "$&,arguments[0]._vencordTarget"
}
]
}],
makeMenu(src: string, target: HTMLElement) {