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>
This commit is contained in:
VAKiliner
2026-03-02 22:02:24 +03:00
committed by GitHub
parent f1949271a0
commit ec796caf00

View File

@@ -116,27 +116,29 @@ class GuildChannel extends BaseChannel {
* @readonly * @readonly
*/ */
get permissionsLocked() { get permissionsLocked() {
if (!this.parent) return null; const { parent } = this;
if (!parent) return null;
// Get all overwrites // Get all overwrites
const overwriteIds = new Set([ const overwriteIds = new Set([
...this.permissionOverwrites.cache.keys(), ...this.permissionOverwrites.cache.keys(),
...this.parent.permissionOverwrites.cache.keys(), ...parent.permissionOverwrites.cache.keys(),
]); ]);
// Compare all overwrites // Compare all overwrites
return [...overwriteIds].every(key => { return [...overwriteIds].every(key => {
const channelVal = this.permissionOverwrites.cache.get(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 // Handle empty overwrite
if ( if (
(!channelVal && key === this.guildId &&
((!channelVal &&
parentVal.deny.bitfield === PermissionsBitField.DefaultBit && parentVal.deny.bitfield === PermissionsBitField.DefaultBit &&
parentVal.allow.bitfield === PermissionsBitField.DefaultBit) || parentVal.allow.bitfield === PermissionsBitField.DefaultBit) ||
(!parentVal && (!parentVal &&
channelVal.deny.bitfield === PermissionsBitField.DefaultBit && channelVal.deny.bitfield === PermissionsBitField.DefaultBit &&
channelVal.allow.bitfield === PermissionsBitField.DefaultBit) channelVal.allow.bitfield === PermissionsBitField.DefaultBit))
) { ) {
return true; return true;
} }