[Entry] Revert "Hook first module factory to init bundle"

This reverts commit 0dae5b17e5.
This commit is contained in:
Beef 2023-05-13 17:33:22 +01:00
parent 63fd59e826
commit 24d6faa818

View file

@ -1,25 +1,15 @@
import { ClientInfoManager } from "@lib/native"; import { ClientInfoManager } from "@lib/native";
import { after } from "@lib/patcher";
// This logs in the native logging implementation, e.g. logcat // This logs in the native logging implementation, e.g. logcat
console.log("Hello from Vendetta!"); console.log("Hello from Vendetta!");
async function initBundle() { import(".").then((m) => m.default()).catch((e) => {
try { console.log(e?.stack ?? e.toString());
await import(".").then(i => i.default()); alert([
} catch (e: any) { "Failed to load Vendetta!\n",
console.error(e?.stack ?? e?.toString()); `Build Number: ${ClientInfoManager.Build}`,
alert([ // @ts-expect-error, replaced in build script
"Failed to load Vendetta!\n", `Vendetta: ${__vendettaVersion}`,
`Build Number: ${ClientInfoManager.Build}`, e?.stack || e.toString(),
// @ts-expect-error, replaced in build script ].join("\n"));
`Vendetta: ${__vendettaVersion}`, });
e?.stack ?? e?.toString(),
].join("\n"));
}
}
// Discord iOS 178.0 (43557) introduced some changes that caused our bundle to load too early, resulting in the app crashing.
// As a workaround, we hook into the factory function of the first module that loads after the bundle to init the bundle.
// This delays our bundle initialization to a certain point where window.modules is ready.
after("factory", Object.values(window.modules).find(m => m.factory), initBundle, true);