diff --git a/src/plugins/betterFolders/index.tsx b/src/plugins/betterFolders/index.tsx index 65d5f00d4..8b6f72e39 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"; @@ -349,7 +350,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/translate/TranslateModal.tsx b/src/plugins/translate/TranslateModal.tsx index d03097080..f53c89711 100644 --- a/src/plugins/translate/TranslateModal.tsx +++ b/src/plugins/translate/TranslateModal.tsx @@ -49,8 +49,8 @@ function LanguageSelect({ settingsKey, includeAuto }: { settingsKey: typeof Lang o.value === currentValue)} - placeholder={"Select a language"} + value={options.find(o => o.value === currentValue)?.value} + placeholder="Select a language" maxVisibleItems={5} closeOnSelect={true} onChange={v => settings.store[settingsKey] = v} diff --git a/src/plugins/validReply/index.ts b/src/plugins/validReply/index.ts index da0a25083..2ca072040 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/plugins/vcNarrator/VoiceSetting.tsx b/src/plugins/vcNarrator/VoiceSetting.tsx index 7ace0ea56..461fa9b6f 100644 --- a/src/plugins/vcNarrator/VoiceSetting.tsx +++ b/src/plugins/vcNarrator/VoiceSetting.tsx @@ -38,7 +38,7 @@ function SimplePicker({ voice, voices }: PickerProps) { placeholder="Select a voice" maxVisibleItems={5} options={options} - value={options.find(o => o.value === voice)} + value={options.find(o => o.value === voice)?.value} onChange={v => settings.store.voice = v} closeOnSelect /> @@ -89,7 +89,7 @@ function ComplexPicker({ voice, voices }: PickerProps) { l.value === selectedLanguage)} + value={languageOptions.find(l => l.value === selectedLanguage)?.value} onChange={v => setSelectedLanguage(v)} maxVisibleItems={5} closeOnSelect diff --git a/src/webpack/common/utils.ts b/src/webpack/common/utils.ts index 30fec83a6..554a9d29e 100644 --- a/src/webpack/common/utils.ts +++ b/src/webpack/common/utils.ts @@ -222,8 +222,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 25e3f7374..0098b7253 100644 --- a/src/webpack/patchWebpack.ts +++ b/src/webpack/patchWebpack.ts @@ -29,7 +29,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; } @@ -37,13 +37,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");