From 6bb6dfadb9bff60a9830e0a048cdba81c143fecb Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Sun, 14 Feb 2021 17:16:00 +0200 Subject: [PATCH] automod: use proper locks in removeRoles action --- backend/src/plugins/Automod/actions/removeRoles.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backend/src/plugins/Automod/actions/removeRoles.ts b/backend/src/plugins/Automod/actions/removeRoles.ts index 664ee083..6049cbf2 100644 --- a/backend/src/plugins/Automod/actions/removeRoles.ts +++ b/backend/src/plugins/Automod/actions/removeRoles.ts @@ -66,11 +66,15 @@ export const RemoveRolesAction = automodAction({ return; } + const memberRolesLock = await pluginData.locks.acquire(`member-roles-${member.id}`); + const rolesArr = Array.from(memberRoles.values()); await member.edit({ roles: rolesArr, }); member.roles = rolesArr; // Make sure we know of the new roles internally as well + + memberRolesLock.unlock(); }), ); },