From 4d86cf4ce0f56c4025533ef978417a5a71bd1b5c Mon Sep 17 00:00:00 2001 From: BattleEye <44738706+AppEternal@users.noreply.github.com> Date: Sun, 17 Jul 2022 12:10:03 -0500 Subject: [PATCH] fix(PermissionOverwriteManager): mutates user (#8282) Fix PermissionOverwriteManager changing userOrRole Since it's mutated the original Member object won't be passed to upset and will be seen as invalid if User cache is disabled. Functions normally even with User cache disabled after the fix. --- src/managers/PermissionOverwriteManager.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/managers/PermissionOverwriteManager.js b/src/managers/PermissionOverwriteManager.js index 8dbc881dc..d71badf3f 100644 --- a/src/managers/PermissionOverwriteManager.js +++ b/src/managers/PermissionOverwriteManager.js @@ -142,8 +142,9 @@ class PermissionOverwriteManager extends CachedManager { * .catch(console.error); */ edit(userOrRole, options, overwriteOptions) { - userOrRole = this.channel.guild.roles.resolveId(userOrRole) ?? this.client.users.resolveId(userOrRole); - const existing = this.cache.get(userOrRole); + const existing = this.cache.get( + this.channel.guild.roles.resolveId(userOrRole) ?? this.client.users.resolveId(userOrRole), + ); return this.upsert(userOrRole, options, overwriteOptions, existing); }