Acabo de extraer el último código de GitHub y volver a probarlo. Confirmado que está roto. Pasos para reproducir:
Crear un nuevo usuario; este usuario no debe ser moderador ni administrador.
Crear un nuevo grupo con la siguiente configuración: Permitir que los usuarios abandonen el grupo libremente=True, Permitir que los usuarios envíen solicitudes de membresía a los propietarios del grupo=True, ¿Quién puede ver este grupo?=Todos, ¿Quién puede ver los miembros de este grupo?=Todos, ¿Quién puede mencionar (@mention) a este grupo?=Solo moderadores y administradores, ¿Quién puede enviar mensajes a este grupo?=Solo moderadores y administradores.
Establecer al usuario como propietario del grupo.
Iniciar sesión como propietario del grupo e intentar agregar a un usuario diferente al grupo.
@Benjamin_D lo tenía correcto. Es un problema de nivel de confianza (TL).
Existe una configuración del sitio llamada min_trust_level_to_allow_invite, que estaba establecida en TL2, mientras que el propietario del grupo tenía TL1.
¿Se debería permitir que un propietario de grupo invite usuarios sin cumplir con el requisito de nivel de confianza? Parece confuso.
O incluso simplemente agregar un error más específico para esto.
Por ejemplo, en lugar de generar el error InvalidAccess con el mensaje (en): You are not permitted to view the requested resource.
Crear un error InsufficientTrustLevel (quizás como subclase de InvalidAccess) con un mensaje (en): You do not have the required trust level to view the requeted resource. Al menos así los administradores sabrán que es un problema de nivel de confianza y no un error.
Algunas notas sobre dónde se define esto en la base de código:
Aunque coincido en que necesitamos un mensaje de error mejor aquí, en realidad creo que hemos retrocedido.
El rol del propietario de un grupo es gestionar la membresía de su grupo. Si no pueden invitar o agregar usuarios a su grupo, entonces la función está medio rota…
Puede que me equivoque, pero creo que esta situación ha surgido como parte del trabajo que estamos realizando para mejorar el sistema de invitaciones. Estamos normalizando las invitaciones para que todas utilicen el mismo sistema y separando las funciones relacionadas con los usuarios existentes. Recientemente, lo modificamos para notificar a los usuarios existentes sobre los temas a través del botón de compartir en el menú del tema, de forma independiente a invitar a nuevos usuarios a unirse al sitio y contribuir al tema.
Queremos hacer lo mismo para los grupos; ya está en nuestra lista de tareas, pero ahora supongo que se ha vuelto más urgente si significa que no es posible agregar a alguien a un grupo si no tienes el nivel de confianza (TL) suficiente para invitar a nuevos usuarios al sitio.
Ese límite tiene sentido al invitar correos electrónicos a grupos. Sin embargo, no tiene sentido al invitar a usuarios existentes. He solucionado este problema en:
Esto solucionará el problema por ahora, pero esperamos reformular esta área.