From ec796caf00e3f67c8187aa1f8c2df73b2376c9fc Mon Sep 17 00:00:00 2001 From: VAKiliner <119078586+vakiliner@users.noreply.github.com> Date: Mon, 2 Mar 2026 22:02:24 +0300 Subject: [PATCH] fix(GuildChannel): Handle empty overwrite must only handle @everyone (#11221) * Add check overwrite id * Update GuildChannel.js * Update GuildChannel.js * chore: fmt --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> --- .../discord.js/src/structures/GuildChannel.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/discord.js/src/structures/GuildChannel.js b/packages/discord.js/src/structures/GuildChannel.js index 6e30ee0b0..9ea414632 100644 --- a/packages/discord.js/src/structures/GuildChannel.js +++ b/packages/discord.js/src/structures/GuildChannel.js @@ -116,27 +116,29 @@ class GuildChannel extends BaseChannel { * @readonly */ get permissionsLocked() { - if (!this.parent) return null; + const { parent } = this; + if (!parent) return null; // Get all overwrites const overwriteIds = new Set([ ...this.permissionOverwrites.cache.keys(), - ...this.parent.permissionOverwrites.cache.keys(), + ...parent.permissionOverwrites.cache.keys(), ]); // Compare all overwrites return [...overwriteIds].every(key => { const channelVal = this.permissionOverwrites.cache.get(key); - const parentVal = this.parent.permissionOverwrites.cache.get(key); + const parentVal = parent.permissionOverwrites.cache.get(key); // Handle empty overwrite if ( - (!channelVal && + key === this.guildId && + ((!channelVal && parentVal.deny.bitfield === PermissionsBitField.DefaultBit && parentVal.allow.bitfield === PermissionsBitField.DefaultBit) || - (!parentVal && - channelVal.deny.bitfield === PermissionsBitField.DefaultBit && - channelVal.allow.bitfield === PermissionsBitField.DefaultBit) + (!parentVal && + channelVal.deny.bitfield === PermissionsBitField.DefaultBit && + channelVal.allow.bitfield === PermissionsBitField.DefaultBit)) ) { return true; }