diff --git a/package.json b/package.json index c9972c62..4c52a387 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "equicord", "private": "true", - "version": "1.11.6", + "version": "1.11.7", "description": "The other cutest Discord client mod", "homepage": "https://github.com/Equicord/Equicord#readme", "bugs": { diff --git a/src/api/Commands/index.ts b/src/api/Commands/index.ts index b865914d..6215d382 100644 --- a/src/api/Commands/index.ts +++ b/src/api/Commands/index.ts @@ -31,6 +31,7 @@ export const commands = {} as Record; // hack for plugins being evaluated before we can grab these from webpack const OptPlaceholder = Symbol("OptionalMessageOption") as any as Option; const ReqPlaceholder = Symbol("RequiredMessageOption") as any as Option; + /** * Optional message option named "message" you can use in commands. * Used in "tableflip" or "shrug" @@ -44,8 +45,8 @@ export let OptionalMessageOption: Option = OptPlaceholder; */ export let RequiredMessageOption: Option = ReqPlaceholder; -// Discords command list has random gaps for some reason, which can cause issues while rendering the commands -// add this offset too every added command to keep them unique +// Discord's command list has random gaps for some reason, which can cause issues while rendering the commands +// Add this offset to every added command to keep them unique let commandIdOffset: number; export const _init = function (cmds: Command[]) { @@ -53,7 +54,7 @@ export const _init = function (cmds: Command[]) { BUILT_IN = cmds; OptionalMessageOption = cmds.find(c => (c.untranslatedName || c.displayName) === "shrug")!.options![0]; RequiredMessageOption = cmds.find(c => (c.untranslatedName || c.displayName) === "me")!.options![0]; - commandIdOffset = Math.abs(BUILT_IN.map(x => +x.id!).toSorted((x, y) => x - y)[0]) - BUILT_IN.length; + commandIdOffset = Math.abs(BUILT_IN.map(x => Number(x.id)).sort((x, y) => x - y)[0]) - BUILT_IN.length; } catch (e) { new Logger("CommandsAPI").error("Failed to load CommandsApi", e, " - cmds is", cmds); } diff --git a/src/plugins/accountPanelServerProfile/index.tsx b/src/plugins/accountPanelServerProfile/index.tsx index d9fc9de1..30403f84 100644 --- a/src/plugins/accountPanelServerProfile/index.tsx +++ b/src/plugins/accountPanelServerProfile/index.tsx @@ -73,8 +73,8 @@ export default definePlugin({ group: true, replacement: [ { - match: /(?<=\.AVATAR_SIZE\).{0,100};)(?=return)/, - replace: "$self.useAccountPanelRef();" + match: /let{speaking:\i/, + replace: "$self.useAccountPanelRef();$&" }, { match: /(\.AVATAR,children:.+?renderPopout:(\i)=>){(.+?)}(?=,position)(?<=currentUser:(\i).+?)/, diff --git a/src/plugins/alwaysAnimate/index.ts b/src/plugins/alwaysAnimate/index.ts index c829cc68..8edae08b 100644 --- a/src/plugins/alwaysAnimate/index.ts +++ b/src/plugins/alwaysAnimate/index.ts @@ -44,15 +44,15 @@ export default definePlugin({ find: "#{intl::GUILD_OWNER}),children:", replacement: { match: /(\.CUSTOM_STATUS.+?animate:)\i/, - replace: (_, rest) => `${rest}!0` + replace: "$1!0" } }, { // Guild Banner find: ".animatedBannerHoverLayer,onMouseEnter:", replacement: { - match: /(?<=guildBanner:\i,animate:)\i(?=,isRefreshEnabled:)/, - replace: "!0" + match: /(\.headerContent.+?guildBanner:\i,animate:)\i/, + replace: "$1!0" } } ] diff --git a/src/plugins/decor/index.tsx b/src/plugins/decor/index.tsx index 29cf365b..8f778177 100644 --- a/src/plugins/decor/index.tsx +++ b/src/plugins/decor/index.tsx @@ -99,7 +99,7 @@ export default definePlugin({ }, // Current user area, at bottom of channels/dm list { - find: "renderAvatarWithPopout(){", + find: "#{intl::ACCOUNT_SPEAKING_WHILE_MUTED}", replacement: [ // Use Decor avatar decoration hook { diff --git a/src/plugins/invisibleChat.desktop/index.tsx b/src/plugins/invisibleChat.desktop/index.tsx index d6a39cba..f98ab176 100644 --- a/src/plugins/invisibleChat.desktop/index.tsx +++ b/src/plugins/invisibleChat.desktop/index.tsx @@ -149,6 +149,12 @@ export default definePlugin({ renderChatBarButton: ChatBarIcon, + colorCodeFromNumber(color: number): string { + return `#${[color >> 16, color >> 8, color] + .map(x => (x & 0xFF).toString(16)) + .join("")}`; + }, + // Gets the Embed of a Link async getEmbed(url: URL): Promise { const { body } = await RestAPI.post({ @@ -157,6 +163,8 @@ export default definePlugin({ urls: [url] } }); + // The endpoint returns the color as a number, but Discord expects a string + body.embeds[0].color = this.colorCodeFromNumber(body.embeds[0].color); return await body.embeds[0]; }, @@ -166,7 +174,7 @@ export default definePlugin({ message.embeds.push({ type: "rich", rawTitle: "Decrypted Message", - color: "0x45f5f5", + color: "#45f5f5", rawDescription: revealed, footer: { text: "Made with ❤️ by c0dine and Sammy!", diff --git a/src/plugins/ircColors/index.ts b/src/plugins/ircColors/index.ts index f3470cbb..d547a0e1 100644 --- a/src/plugins/ircColors/index.ts +++ b/src/plugins/ircColors/index.ts @@ -85,8 +85,7 @@ export default definePlugin({ const colorString = context?.author?.colorString; const color = calculateNameColorForUser(userId); - // color preview in role settings - // channel.id is undefined in the role menu + // Color preview in role settings if (context?.message?.channel_id === "1337" && userId === "313337") return colorString; diff --git a/src/plugins/noBlockedMessages/index.ts b/src/plugins/noBlockedMessages/index.ts index 2348dabb..0d19726c 100644 --- a/src/plugins/noBlockedMessages/index.ts +++ b/src/plugins/noBlockedMessages/index.ts @@ -63,10 +63,10 @@ export default definePlugin({ patches: [ { - find: "#{intl::BLOCKED_MESSAGE_COUNT}}", + find: ".__invalid_blocked,", replacement: [ { - match: /let\{[^}]*collapsedReason[^}]*\}/, + match: /let{expanded:\i,[^}]*?collapsedReason[^}]*}/, replace: "if($self.shouldHide(arguments[0]))return null;$&" } ]