diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index 2751861e8a..b7b6139ded 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -2947,6 +2947,8 @@ processChatCommand cxt nm = \case throwCmdError "can't change role of multiple members when admins selected, or new role is admin" when anyPending $ throwCmdError "can't change role of members pending approval" when (anyRelay || newRole == GRRelay) $ throwCmdError "relay role can't be changed" + -- TODO [multi-owner] allow once owners are added via link data - until then promoted owner would lack link authority + when (useRelays' gInfo && newRole == GROwner) $ throwCmdError "owner role can't be assigned in channels" -- TODO allow moderators (needs UI) - relay is rejected above (anyRelay), so drop the GRAdmin floor: -- TODO assertUserGroupRole gInfo (roleRequiredToChange maxRole newRole) assertUserGroupRole gInfo $ maximum ([GRAdmin, maxRole, newRole] :: [GroupMemberRole])