mirror of
https://github.com/Vendicated/Vencord.git
synced 2025-02-24 15:35:11 +00:00
Merge branch 'dev' into stickercopy
This commit is contained in:
commit
d57e479985
4 changed files with 80 additions and 60 deletions
|
@ -54,14 +54,17 @@ async function maybeGetError(handle: JSHandle): Promise<string | undefined> {
|
||||||
.catch(() => undefined);
|
.catch(() => undefined);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface PatchInfo {
|
||||||
|
plugin: string;
|
||||||
|
type: string;
|
||||||
|
id: string;
|
||||||
|
match: string;
|
||||||
|
error?: string;
|
||||||
|
};
|
||||||
|
|
||||||
const report = {
|
const report = {
|
||||||
badPatches: [] as {
|
badPatches: [] as PatchInfo[],
|
||||||
plugin: string;
|
slowPatches: [] as PatchInfo[],
|
||||||
type: string;
|
|
||||||
id: string;
|
|
||||||
match: string;
|
|
||||||
error?: string;
|
|
||||||
}[],
|
|
||||||
badStarts: [] as {
|
badStarts: [] as {
|
||||||
plugin: string;
|
plugin: string;
|
||||||
error: string;
|
error: string;
|
||||||
|
@ -132,53 +135,67 @@ async function printReport() {
|
||||||
console.log();
|
console.log();
|
||||||
|
|
||||||
if (process.env.WEBHOOK_URL) {
|
if (process.env.WEBHOOK_URL) {
|
||||||
|
const patchesToEmbed = (title: string, patches: PatchInfo[], color: number) => ({
|
||||||
|
title,
|
||||||
|
color,
|
||||||
|
description: patches.map(p => {
|
||||||
|
const lines = [
|
||||||
|
`**__${p.plugin} (${p.type}):__**`,
|
||||||
|
`ID: \`${p.id}\``,
|
||||||
|
`Match: ${toCodeBlock(p.match, "Match: ".length, true)}`
|
||||||
|
];
|
||||||
|
if (p.error) lines.push(`Error: ${toCodeBlock(p.error, "Error: ".length, true)}`);
|
||||||
|
|
||||||
|
return lines.join("\n");
|
||||||
|
}).join("\n\n"),
|
||||||
|
});
|
||||||
|
|
||||||
|
const embeds = [
|
||||||
|
{
|
||||||
|
author: {
|
||||||
|
name: `Discord ${CANARY ? "Canary" : "Stable"} (${metaData.buildNumber})`,
|
||||||
|
url: `https://nelly.tools/builds/app/${metaData.buildHash}`,
|
||||||
|
icon_url: CANARY ? "https://cdn.discordapp.com/emojis/1252721945699549327.png?size=128" : "https://cdn.discordapp.com/emojis/1252721943463985272.png?size=128"
|
||||||
|
},
|
||||||
|
color: CANARY ? 0xfbb642 : 0x5865f2
|
||||||
|
},
|
||||||
|
report.badPatches.length > 0 && patchesToEmbed("Bad Patches", report.badPatches, 0xff0000),
|
||||||
|
report.slowPatches.length > 0 && patchesToEmbed("Slow Patches", report.slowPatches, 0xf0b232),
|
||||||
|
report.badWebpackFinds.length > 0 && {
|
||||||
|
title: "Bad Webpack Finds",
|
||||||
|
description: report.badWebpackFinds.map(f => toCodeBlock(f, 0, true)).join("\n") || "None",
|
||||||
|
color: 0xff0000
|
||||||
|
},
|
||||||
|
report.badStarts.length > 0 && {
|
||||||
|
title: "Bad Starts",
|
||||||
|
description: report.badStarts.map(p => {
|
||||||
|
const lines = [
|
||||||
|
`**__${p.plugin}:__**`,
|
||||||
|
toCodeBlock(p.error, 0, true)
|
||||||
|
];
|
||||||
|
return lines.join("\n");
|
||||||
|
}
|
||||||
|
).join("\n\n") || "None",
|
||||||
|
color: 0xff0000
|
||||||
|
},
|
||||||
|
report.otherErrors.length > 0 && {
|
||||||
|
title: "Discord Errors",
|
||||||
|
description: report.otherErrors.length ? toCodeBlock(report.otherErrors.join("\n"), 0, true) : "None",
|
||||||
|
color: 0xff0000
|
||||||
|
}
|
||||||
|
].filter(Boolean);
|
||||||
|
|
||||||
|
if (embeds.length === 1) {
|
||||||
|
embeds.push({
|
||||||
|
title: "No issues found",
|
||||||
|
description: "Seems like everything is working fine (for now) <:shipit:1330992641466433556>",
|
||||||
|
color: 0x00ff00
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const body = JSON.stringify({
|
const body = JSON.stringify({
|
||||||
username: "Vencord Reporter" + (CANARY ? " (Canary)" : ""),
|
username: "Vencord Reporter" + (CANARY ? " (Canary)" : ""),
|
||||||
embeds: [
|
embeds
|
||||||
{
|
|
||||||
author: {
|
|
||||||
name: `Discord ${CANARY ? "Canary" : "Stable"} (${metaData.buildNumber})`,
|
|
||||||
url: `https://nelly.tools/builds/app/${metaData.buildHash}`,
|
|
||||||
icon_url: CANARY ? "https://cdn.discordapp.com/emojis/1252721945699549327.png?size=128" : "https://cdn.discordapp.com/emojis/1252721943463985272.png?size=128"
|
|
||||||
},
|
|
||||||
color: CANARY ? 0xfbb642 : 0x5865f2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Bad Patches",
|
|
||||||
description: report.badPatches.map(p => {
|
|
||||||
const lines = [
|
|
||||||
`**__${p.plugin} (${p.type}):__**`,
|
|
||||||
`ID: \`${p.id}\``,
|
|
||||||
`Match: ${toCodeBlock(p.match, "Match: ".length, true)}`
|
|
||||||
];
|
|
||||||
if (p.error) lines.push(`Error: ${toCodeBlock(p.error, "Error: ".length, true)}`);
|
|
||||||
return lines.join("\n");
|
|
||||||
}).join("\n\n") || "None",
|
|
||||||
color: report.badPatches.length ? 0xff0000 : 0x00ff00
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Bad Webpack Finds",
|
|
||||||
description: report.badWebpackFinds.map(f => toCodeBlock(f, 0, true)).join("\n") || "None",
|
|
||||||
color: report.badWebpackFinds.length ? 0xff0000 : 0x00ff00
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Bad Starts",
|
|
||||||
description: report.badStarts.map(p => {
|
|
||||||
const lines = [
|
|
||||||
`**__${p.plugin}:__**`,
|
|
||||||
toCodeBlock(p.error, 0, true)
|
|
||||||
];
|
|
||||||
return lines.join("\n");
|
|
||||||
}
|
|
||||||
).join("\n\n") || "None",
|
|
||||||
color: report.badStarts.length ? 0xff0000 : 0x00ff00
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Discord Errors",
|
|
||||||
description: report.otherErrors.length ? toCodeBlock(report.otherErrors.join("\n"), 0, true) : "None",
|
|
||||||
color: report.otherErrors.length ? 0xff0000 : 0x00ff00
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const headers = {
|
const headers = {
|
||||||
|
@ -245,14 +262,17 @@ page.on("console", async e => {
|
||||||
|
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case "WebpackInterceptor:":
|
case "WebpackInterceptor:":
|
||||||
const patchFailMatch = message.match(/Patch by (.+?) (had no effect|errored|found no module|took [\d.]+?ms) \(Module id is (.+?)\): (.+)/)!;
|
const patchFailMatch = message.match(/Patch by (.+?) (had no effect|errored|found no module) \(Module id is (.+?)\): (.+)/);
|
||||||
if (!patchFailMatch) break;
|
const patchSlowMatch = message.match(/Patch by (.+?) (took [\d.]+?ms) \(Module id is (.+?)\): (.+)/);
|
||||||
|
const match = patchFailMatch ?? patchSlowMatch;
|
||||||
|
if (!match) break;
|
||||||
|
|
||||||
logStderr(await getText());
|
logStderr(await getText());
|
||||||
process.exitCode = 1;
|
process.exitCode = 1;
|
||||||
|
|
||||||
const [, plugin, type, id, regex] = patchFailMatch;
|
const [, plugin, type, id, regex] = match;
|
||||||
report.badPatches.push({
|
const list = patchFailMatch ? report.badPatches : report.slowPatches;
|
||||||
|
list.push({
|
||||||
plugin,
|
plugin,
|
||||||
type,
|
type,
|
||||||
id,
|
id,
|
||||||
|
|
|
@ -65,7 +65,7 @@ function ReplacementComponent({ module, match, replacement, setReplacementError
|
||||||
}
|
}
|
||||||
const canonicalMatch = canonicalizeMatch(new RegExp(match));
|
const canonicalMatch = canonicalizeMatch(new RegExp(match));
|
||||||
try {
|
try {
|
||||||
const canonicalReplace = canonicalizeReplace(replacement, "YourPlugin");
|
const canonicalReplace = canonicalizeReplace(replacement, 'Vencord.Plugins.plugins["YourPlugin"]"');
|
||||||
var patched = src.replace(canonicalMatch, canonicalReplace as string);
|
var patched = src.replace(canonicalMatch, canonicalReplace as string);
|
||||||
setReplacementError(void 0);
|
setReplacementError(void 0);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
|
@ -185,8 +185,8 @@ export default definePlugin({
|
||||||
{
|
{
|
||||||
// Decide if we should render the expanded folder background if we are rendering the Better Folders sidebar
|
// Decide if we should render the expanded folder background if we are rendering the Better Folders sidebar
|
||||||
predicate: () => settings.store.showFolderIcon !== FolderIconDisplay.Always,
|
predicate: () => settings.store.showFolderIcon !== FolderIconDisplay.Always,
|
||||||
match: /(?<=\.isExpanded\),children:\[)/,
|
match: /\.isExpanded\),.{0,30}children:\[/,
|
||||||
replace: "$self.shouldShowFolderIconAndBackground(!!arguments[0]?.isBetterFolders,arguments[0]?.betterFoldersExpandedIds)&&"
|
replace: "$&$self.shouldShowFolderIconAndBackground(!!arguments[0]?.isBetterFolders,arguments[0]?.betterFoldersExpandedIds)&&"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// Decide if we should render the expanded folder icon if we are rendering the Better Folders sidebar
|
// Decide if we should render the expanded folder icon if we are rendering the Better Folders sidebar
|
||||||
|
|
|
@ -173,7 +173,7 @@ function initWs(isManual = false) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const matcher = canonicalizeMatch(parseNode(match));
|
const matcher = canonicalizeMatch(parseNode(match));
|
||||||
const replacement = canonicalizeReplace(parseNode(replace), "PlaceHolderPluginName");
|
const replacement = canonicalizeReplace(parseNode(replace), 'Vencord.Plugins.plugins["PlaceHolderPluginName"]"');
|
||||||
|
|
||||||
const newSource = src.replace(matcher, replacement as string);
|
const newSource = src.replace(matcher, replacement as string);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue