From dc4194f8ab028430b72cfeb1c7d433be612b7fc1 Mon Sep 17 00:00:00 2001 From: Davri <42148912+Davr1@users.noreply.github.com> Date: Wed, 2 Sep 2026 18:39:18 +0200 Subject: [PATCH 1/4] WebPWA: fix macos styles (#4572) --- src/plugins/webPWA.browser/styles.css | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/plugins/webPWA.browser/styles.css b/src/plugins/webPWA.browser/styles.css index 6627e94a2..eabc17547 100644 --- a/src/plugins/webPWA.browser/styles.css +++ b/src/plugins/webPWA.browser/styles.css @@ -9,9 +9,16 @@ --custom-app-top-bar-height: env(titlebar-area-height, 0px) !important; } - /* position trailing titlebar elements alongside WCO */ - [data-fullscreen] > [class*="bar_"] [class*="trailing_"] { - padding-right: calc(100vw - env(titlebar-area-width, 100%) - env(titlebar-area-x, 0px)); + + /* position trailing/leading titlebar elements alongside WCO */ + [data-fullscreen] > [class*="bar_"] { + [class*="leading_"] { + padding-left: env(titlebar-area-x, 0); + } + + [class*="trailing_"] { + padding-right: calc(100vw - env(titlebar-area-width, 100%) - env(titlebar-area-x, 0px)); + } } /* popout windows like screenshare popout, these properties don't work outside WCO so this is safe */ @@ -19,6 +26,10 @@ [class*="headerWrapper_"] { app-region: drag; + [class*="headerBarChildren_"] { + padding-left: env(titlebar-area-x, 0); + } + /* position trailing toolbar elements alongside WCO */ [class*="toolbar_"] { padding-right: calc(100vw - env(titlebar-area-width, 100%) - env(titlebar-area-x, 0px)); @@ -35,4 +46,4 @@ display: none; } } -} \ No newline at end of file +} From dc5ca64afa7fa4acf386ae41b378c348c731899b Mon Sep 17 00:00:00 2001 From: thororen <78185467+thororen1234@users.noreply.github.com> Date: Thu, 3 Sep 2026 15:37:07 -0400 Subject: [PATCH 2/4] BetterFolders: Add Close Server Folder option (#4576) --- src/plugins/betterFolders/index.tsx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/plugins/betterFolders/index.tsx b/src/plugins/betterFolders/index.tsx index f385ddcdb..b9f0c796e 100644 --- a/src/plugins/betterFolders/index.tsx +++ b/src/plugins/betterFolders/index.tsx @@ -107,6 +107,11 @@ export const settings = definePluginSettings({ description: "Close other folders when opening a folder", default: false }, + closeServerFolder: { + type: OptionType.BOOLEAN, + description: "Close folder when selecting a server in that folder", + default: false, + }, forceOpen: { type: OptionType.BOOLEAN, description: "Force a folder to open when switching to a server of that folder", @@ -276,7 +281,7 @@ export default definePlugin({ flux: { CHANNEL_SELECT(data) { - if (!settings.store.closeAllFolders && !settings.store.forceOpen) + if (!settings.store.closeAllFolders && !settings.store.forceOpen && !settings.store.closeServerFolder) return; if (lastGuildId !== data.guildId) { @@ -284,7 +289,12 @@ export default definePlugin({ const guildFolder = getGuildFolder(data.guildId); if (guildFolder?.folderId) { - if (settings.store.forceOpen && !ExpandedGuildFolderStore.isFolderExpanded(guildFolder.folderId)) { + const wasExpanded = ExpandedGuildFolderStore.isFolderExpanded(guildFolder.folderId); + + if (settings.store.forceOpen && !wasExpanded) { + FolderUtils.toggleGuildFolderExpand(guildFolder.folderId); + } + if (settings.store.closeServerFolder && wasExpanded) { FolderUtils.toggleGuildFolderExpand(guildFolder.folderId); } } else if (settings.store.closeAllFolders) { From f5671d73cd66315b385c15cd37ba4893387ea0af Mon Sep 17 00:00:00 2001 From: thororen <78185467+thororen1234@users.noreply.github.com> Date: Thu, 3 Sep 2026 21:50:25 -0400 Subject: [PATCH 3/4] TypingIndicator: exclude ignored users (#4579) --- src/plugins/typingIndicator/index.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/plugins/typingIndicator/index.tsx b/src/plugins/typingIndicator/index.tsx index cc2eb79c2..9eb05b65a 100644 --- a/src/plugins/typingIndicator/index.tsx +++ b/src/plugins/typingIndicator/index.tsx @@ -66,7 +66,7 @@ function TypingIndicator({ channelId, guildId }: { channelId: string; guildId: s const myId = UserStore.getCurrentUser()?.id; const typingUsersArray = Object.keys(typingUsers).filter(id => - id !== myId && !(RelationshipStore.isBlocked(id) && !settings.store.includeBlockedUsers) + id !== myId && !(RelationshipStore.isBlocked(id) && !settings.store.includeBlockedUsers) && !(RelationshipStore.isIgnored(id) && !settings.store.includeIgnoredUsers) ); const [a, b, c] = typingUsersArray; let tooltipText: string; @@ -143,6 +143,11 @@ const settings = definePluginSettings({ description: "Whether to show the typing indicator for muted channels.", default: false }, + includeIgnoredUsers: { + type: OptionType.BOOLEAN, + description: "Whether to show the typing indicator for ignored users.", + default: false + }, includeBlockedUsers: { type: OptionType.BOOLEAN, description: "Whether to show the typing indicator for blocked users.", From 0c004e677e030b53de6b41ede8feefe70ef4e561 Mon Sep 17 00:00:00 2001 From: Vendicated Date: Sat, 5 Sep 2026 20:38:21 +0200 Subject: [PATCH 4/4] improve persistence --- src/main/persistAfterDiscordUpdates.ts | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/main/persistAfterDiscordUpdates.ts b/src/main/persistAfterDiscordUpdates.ts index a0a34bf53..d66e6621a 100644 --- a/src/main/persistAfterDiscordUpdates.ts +++ b/src/main/persistAfterDiscordUpdates.ts @@ -17,6 +17,7 @@ */ import { app } from "electron"; +import EventEmitter from "events"; import { copyFileSync, existsSync, readdirSync, renameSync } from "original-fs"; import { basename, dirname, join } from "path"; @@ -65,6 +66,18 @@ function patchLatest() { } } -// Try to patch latest on before-quit -// Discord's Win32 updater will call app.quit() on restart and open new version on will-quit -app.on("before-quit", patchLatest); +if (process.platform === "win32" || process.platform === "linux") { + EventEmitter.prototype.emit = new Proxy(EventEmitter.prototype.emit, { + apply(target, thisArg, argArray) { + if (argArray[0] === "host-updated") { + patchLatest(); + } + + return Reflect.apply(target, thisArg, argArray); + }, + }); + + // Try to patch latest on before-quit + // Discord's Win32 updater will call app.quit() on restart and open new version on will-quit + app.on("before-quit", patchLatest); +}