Merge branch 'immediate-finds' into immediate-finds-modules-proxy
This commit is contained in:
commit
46c771f351
|
@ -286,7 +286,14 @@ page.on("console", async e => {
|
||||||
});
|
});
|
||||||
|
|
||||||
page.on("error", e => console.error("[Error]", e.message));
|
page.on("error", e => console.error("[Error]", e.message));
|
||||||
page.on("pageerror", e => console.error("[Page Error]", e.message));
|
page.on("pageerror", e => {
|
||||||
|
if (!e.message.startsWith("Object") && !e.message.includes("Cannot find module")) {
|
||||||
|
console.error("[Page Error]", e.message);
|
||||||
|
report.otherErrors.push(e.message);
|
||||||
|
} else {
|
||||||
|
report.ignoredErrors.push(e.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
async function reporterRuntime(token: string) {
|
async function reporterRuntime(token: string) {
|
||||||
Vencord.Webpack.waitFor(
|
Vencord.Webpack.waitFor(
|
||||||
|
|
|
@ -48,11 +48,11 @@ export async function loadLazyChunks() {
|
||||||
for (const id of chunkIds) {
|
for (const id of chunkIds) {
|
||||||
if (wreq.u(id) == null || wreq.u(id) === "undefined.js") continue;
|
if (wreq.u(id) == null || wreq.u(id) === "undefined.js") continue;
|
||||||
|
|
||||||
const isWasm = await fetch(wreq.p + wreq.u(id))
|
const isWorkerAsset = await fetch(wreq.p + wreq.u(id))
|
||||||
.then(r => r.text())
|
.then(r => r.text())
|
||||||
.then(t => (IS_WEB && t.includes(".module.wasm")) || !t.includes("(this.webpackChunkdiscord_app=this.webpackChunkdiscord_app||[]).push"));
|
.then(t => t.includes("importScripts("));
|
||||||
|
|
||||||
if (isWasm && IS_WEB) {
|
if (isWorkerAsset) {
|
||||||
invalidChunks.add(id);
|
invalidChunks.add(id);
|
||||||
invalidChunkGroup = true;
|
invalidChunkGroup = true;
|
||||||
continue;
|
continue;
|
||||||
|
@ -151,14 +151,16 @@ export async function loadLazyChunks() {
|
||||||
});
|
});
|
||||||
|
|
||||||
await Promise.all(chunksLeft.map(async id => {
|
await Promise.all(chunksLeft.map(async id => {
|
||||||
const isWasm = await fetch(wreq.p + wreq.u(id))
|
const isWorkerAsset = await fetch(wreq.p + wreq.u(id))
|
||||||
.then(r => r.text())
|
.then(r => r.text())
|
||||||
.then(t => (IS_WEB && t.includes(".module.wasm")) || !t.includes("(this.webpackChunkdiscord_app=this.webpackChunkdiscord_app||[]).push"));
|
.then(t => t.includes("importScripts("));
|
||||||
|
|
||||||
// Loads and requires a chunk
|
// Loads and requires a chunk
|
||||||
if (!isWasm) {
|
if (!isWorkerAsset) {
|
||||||
await wreq.e(id);
|
await wreq.e(id as any);
|
||||||
if (wreq.m[id]) wreq(id);
|
// Technically, the id of the chunk does not match the entry point
|
||||||
|
// But, still try it because we have no way to get the actual entry point
|
||||||
|
if (wreq.m[id]) wreq(id as any);
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
import { definePluginSettings } from "@api/Settings";
|
import { definePluginSettings } from "@api/Settings";
|
||||||
import { Devs } from "@utils/constants";
|
import { Devs } from "@utils/constants";
|
||||||
import definePlugin, { OptionType, PluginNative } from "@utils/types";
|
import definePlugin, { OptionType, PluginNative, ReporterTestable } from "@utils/types";
|
||||||
import { ApplicationAssetUtils, FluxDispatcher, Forms } from "@webpack/common";
|
import { ApplicationAssetUtils, FluxDispatcher, Forms } from "@webpack/common";
|
||||||
|
|
||||||
const Native = VencordNative.pluginHelpers.AppleMusic as PluginNative<typeof import("./native")>;
|
const Native = VencordNative.pluginHelpers.AppleMusic as PluginNative<typeof import("./native")>;
|
||||||
|
@ -171,6 +171,7 @@ export default definePlugin({
|
||||||
description: "Discord rich presence for your Apple Music!",
|
description: "Discord rich presence for your Apple Music!",
|
||||||
authors: [Devs.RyanCaoDev],
|
authors: [Devs.RyanCaoDev],
|
||||||
hidden: !navigator.platform.startsWith("Mac"),
|
hidden: !navigator.platform.startsWith("Mac"),
|
||||||
|
reporterTestable: ReporterTestable.None,
|
||||||
|
|
||||||
settingsAboutComponent() {
|
settingsAboutComponent() {
|
||||||
return <>
|
return <>
|
||||||
|
|
|
@ -74,15 +74,15 @@ export default definePlugin({
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
find: /overrideBannerSrc:\i,profileType:/,
|
find: /overrideBannerSrc:\i,overrideBannerWidth:/,
|
||||||
replacement: [
|
replacement: [
|
||||||
{
|
{
|
||||||
match: /(\i)\.premiumType/,
|
match: /(\i)\.premiumType/,
|
||||||
replace: "$self.premiumHook($1)||$&"
|
replace: "$self.premiumHook($1)||$&"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
match: /(?<=function \i\((\i)\)\{)(?=var.{30,50},overrideBannerSrc:)/,
|
match: /function \i\((\i)\)\{/,
|
||||||
replace: "$1.overrideBannerSrc=$self.useBannerHook($1);"
|
replace: "$&$1.overrideBannerSrc=$self.useBannerHook($1);"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
@ -184,16 +184,16 @@ export default definePlugin({
|
||||||
|
|
||||||
patches: [
|
patches: [
|
||||||
// Profiles Modal pfp
|
// Profiles Modal pfp
|
||||||
{
|
...["User Profile Modal - Context Menu", ".UserProfileTypes.FULL_SIZE,hasProfileEffect:"].map(find => ({
|
||||||
find: "User Profile Modal - Context Menu",
|
find,
|
||||||
replacement: {
|
replacement: {
|
||||||
match: /\{src:(\i)(?=,avatarDecoration)/,
|
match: /\{src:(\i)(?=,avatarDecoration)/,
|
||||||
replace: "{src:$1,onClick:()=>$self.openImage($1)"
|
replace: "{src:$1,onClick:()=>$self.openImage($1)"
|
||||||
}
|
}
|
||||||
},
|
})),
|
||||||
// Banners
|
// Banners
|
||||||
{
|
...[".NITRO_BANNER,", /overrideBannerSrc:\i,overrideBannerWidth:/].map(find => ({
|
||||||
find: ".NITRO_BANNER,",
|
find,
|
||||||
replacement: {
|
replacement: {
|
||||||
// style: { backgroundImage: shouldShowBanner ? "url(".concat(bannerUrl,
|
// style: { backgroundImage: shouldShowBanner ? "url(".concat(bannerUrl,
|
||||||
match: /style:\{(?=backgroundImage:(null!=\i)\?"url\("\.concat\((\i),)/,
|
match: /style:\{(?=backgroundImage:(null!=\i)\?"url\("\.concat\((\i),)/,
|
||||||
|
@ -201,7 +201,7 @@ export default definePlugin({
|
||||||
// onClick: () => shouldShowBanner && ev.target.style.backgroundImage && openImage(bannerUrl), style: { cursor: shouldShowBanner ? "pointer" : void 0,
|
// onClick: () => shouldShowBanner && ev.target.style.backgroundImage && openImage(bannerUrl), style: { cursor: shouldShowBanner ? "pointer" : void 0,
|
||||||
'onClick:ev=>$1&&ev.target.style.backgroundImage&&$self.openImage($2),style:{cursor:$1?"pointer":void 0,'
|
'onClick:ev=>$1&&ev.target.style.backgroundImage&&$self.openImage($2),style:{cursor:$1?"pointer":void 0,'
|
||||||
}
|
}
|
||||||
},
|
})),
|
||||||
// User DMs "User Profile" popup in the right
|
// User DMs "User Profile" popup in the right
|
||||||
{
|
{
|
||||||
find: ".avatarPositionPanel",
|
find: ".avatarPositionPanel",
|
||||||
|
@ -210,6 +210,14 @@ export default definePlugin({
|
||||||
replace: "$1style:($2)?{cursor:\"pointer\"}:{},onClick:$2?()=>{$self.openImage($3)}"
|
replace: "$1style:($2)?{cursor:\"pointer\"}:{},onClick:$2?()=>{$self.openImage($3)}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
find: ".canUsePremiumProfileCustomization,{avatarSrc:",
|
||||||
|
replacement: {
|
||||||
|
match: /children:\(0,\i\.jsx\)\(\i,{src:(\i)/,
|
||||||
|
replace: "style:{cursor:\"pointer\"},onClick:()=>{$self.openImage($1)},$&"
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
// Group DMs top small & large icon
|
// Group DMs top small & large icon
|
||||||
{
|
{
|
||||||
find: /\.recipients\.length>=2(?!<isMultiUserDM.{0,50})/,
|
find: /\.recipients\.length>=2(?!<isMultiUserDM.{0,50})/,
|
||||||
|
|
Loading…
Reference in a new issue