Fix Crash Loops and prevent metrics (#580)
This commit is contained in:
parent
36c27f1111
commit
7322c3af04
@ -41,6 +41,8 @@ const settings = definePluginSettings({
|
||||
}
|
||||
});
|
||||
|
||||
let crashCount: number = 0;
|
||||
|
||||
export default definePlugin({
|
||||
name: "CrashHandler",
|
||||
description: "Utility plugin for handling and possibly recovering from Crashes without a restart",
|
||||
@ -69,8 +71,22 @@ export default definePlugin({
|
||||
],
|
||||
|
||||
handleCrash(_this: ReactElement & { forceUpdate: () => void; }) {
|
||||
if (++crashCount > 5) {
|
||||
try {
|
||||
showNotification({
|
||||
color: "#eed202",
|
||||
title: "Discord has crashed!",
|
||||
body: "Awn :( Discord has crashed more than five times, not attempting to recover.",
|
||||
});
|
||||
} catch { }
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
setTimeout(() => crashCount--, 60_000);
|
||||
|
||||
try {
|
||||
maybePromptToUpdate("Uh oh, Discord has just crashed... but good news, there is a Vencord update available that might fix this issue! Would you like to update now?", true);
|
||||
if (crashCount === 1) maybePromptToUpdate("Uh oh, Discord has just crashed... but good news, there is a Vencord update available that might fix this issue! Would you like to update now?", true);
|
||||
|
||||
if (settings.store.attemptToPreventCrashes) {
|
||||
this.handlePreventCrash(_this);
|
||||
@ -80,6 +96,7 @@ export default definePlugin({
|
||||
return false;
|
||||
} catch (err) {
|
||||
CrashHandlerLogger.error("Failed to handle crash", err);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -38,6 +38,19 @@ export default definePlugin({
|
||||
match: /window\.DiscordSentry=function.+\}\(\)/,
|
||||
replace: "",
|
||||
}
|
||||
},
|
||||
{
|
||||
find: ".METRICS,",
|
||||
replacement: [
|
||||
{
|
||||
match: /this\._intervalId.+?12e4\)/,
|
||||
replace: ""
|
||||
},
|
||||
{
|
||||
match: /(?<=increment=function\(\i\){)/,
|
||||
replace: "return;"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user