diff --git a/src/plugins/betterFolders/index.tsx b/src/plugins/betterFolders/index.tsx index cee1a6d05..fe312f1a9 100644 --- a/src/plugins/betterFolders/index.tsx +++ b/src/plugins/betterFolders/index.tsx @@ -21,6 +21,7 @@ import "./style.css"; import { definePluginSettings } from "@api/Settings"; import { Devs } from "@utils/constants"; import { getIntlMessage } from "@utils/discord"; +import { Logger } from "@utils/Logger"; import definePlugin, { OptionType } from "@utils/types"; import { findByPropsLazy, findStoreLazy } from "@webpack"; import { FluxDispatcher } from "@webpack/common"; @@ -341,7 +342,13 @@ export default definePlugin({ } try { - return child?.props?.["aria-label"] === getIntlMessage("SERVERS"); + // can cause hang if intl message is not found + const serversIntlMsg = getIntlMessage("SERVERS"); + if (!serversIntlMsg) { + new Logger("BetterFolders").error("Failed to get SERVERS intl message"); + return true; + } + return child?.props?.["aria-label"] === serversIntlMsg; } catch (e) { console.error(e); return true; diff --git a/src/plugins/replyTimestamp/index.tsx b/src/plugins/replyTimestamp/index.tsx index 7391153b8..65e969241 100644 --- a/src/plugins/replyTimestamp/index.tsx +++ b/src/plugins/replyTimestamp/index.tsx @@ -62,7 +62,8 @@ export default definePlugin({ patches: [ { - find: "#{intl::REPLY_QUOTE_MESSAGE_BLOCKED}", + // Same find as in ValidReply + find: "#{intl::REPLY_QUOTE_MESSAGE_NOT_LOADED}", replacement: { match: /\.onClickReply,.+?}\),(?=\i,\i,\i\])/, replace: "$&$self.ReplyTimestamp(arguments[0])," diff --git a/src/plugins/validReply/index.ts b/src/plugins/validReply/index.ts index 4c1477240..5091f604c 100644 --- a/src/plugins/validReply/index.ts +++ b/src/plugins/validReply/index.ts @@ -36,6 +36,7 @@ export default definePlugin({ authors: [Devs.newwares], patches: [ { + // Same find as in ReplyTimestamp find: "#{intl::REPLY_QUOTE_MESSAGE_NOT_LOADED}", replacement: { match: /#{intl::REPLY_QUOTE_MESSAGE_NOT_LOADED}\)/, diff --git a/src/webpack/common/utils.ts b/src/webpack/common/utils.ts index 368d4d108..e740a4079 100644 --- a/src/webpack/common/utils.ts +++ b/src/webpack/common/utils.ts @@ -203,8 +203,8 @@ export const DisplayProfileUtils: t.DisplayProfileUtils = mapMangledModuleLazy(/ }); export const DateUtils: t.DateUtils = mapMangledModuleLazy("millisecondsInUnit:", { - calendarFormat: filters.byCode("sameElse"), - dateFormat: filters.byCode('":'), + calendarFormat: filters.byCode('<-1?"sameElse":'), + dateFormat: filters.byCode('<2?"nextDay":"sameElse";'), isSameDay: filters.byCode(/Math\.abs\(\i-\i\)/), diffAsUnits: filters.byCode("days:0", "millisecondsInUnit") }); diff --git a/src/webpack/patchWebpack.ts b/src/webpack/patchWebpack.ts index 11045e9a1..1eeb10ed3 100644 --- a/src/webpack/patchWebpack.ts +++ b/src/webpack/patchWebpack.ts @@ -28,7 +28,7 @@ export const patchTimings = [] as Array<[plugin: string, moduleId: PropertyKey, export const getBuildNumber = makeLazy(() => { try { function matchBuildNumber(factoryStr: string) { - const buildNumberMatch = factoryStr.match(/.concat\("(\d+?)"\)/); + const buildNumberMatch = factoryStr.match(/"Trying to open a changelog for an invalid build number (\d+?)"\)/); if (buildNumberMatch == null) { return -1; } @@ -36,13 +36,15 @@ export const getBuildNumber = makeLazy(() => { return Number(buildNumberMatch[1]); } - const hardcodedFactoryStr = String(wreq.m[128014]); + const hardcodedFactoryStr = String(wreq.m[446023]); if (hardcodedFactoryStr.includes("Trying to open a changelog for an invalid build number")) { const hardcodedBuildNumber = matchBuildNumber(hardcodedFactoryStr); if (hardcodedBuildNumber !== -1) { return hardcodedBuildNumber; } + } else if (IS_DEV || IS_REPORTER) { + logger.error("Hardcoded build number module id is invalid"); } const moduleFactory = findModuleFactory("Trying to open a changelog for an invalid build number");