El límite de 500 caracteres para ‘Reject Reason’ es demasiado pequeño

Parece que cuando se me notifica para revisar la solicitud de un nuevo usuario en mi foro y rechazo la solicitud usando la opción ‘Eliminar usuario’, y en el proceso selecciono la opción de incluir una nota por correo electrónico explicando por qué su solicitud no tuvo éxito, ahora obtengo un ‘Error 422’ como respuesta.

Si omito la nota, puedo eliminar al usuario, como antes.

Las notificaciones por correo electrónico generadas por el foro a los usuarios registrados siguen funcionando bien.

La versión de Discourse instalada actualmente es 3.2.0.beta5-dev

Registros de errores del foro correspondientes a la fecha de este suceso (hoy) a continuación

5
Aviso de deprecación: `SiteSetting.min_trust_to_edit_post` ha sido obsoleto. Utilice `SiteSetting.edit_post_allowed_groups` en su lugar. (eliminación en Discourse 3.3) En /var/www/discourse/app/models/co
1:19 pm
15
Aviso de deprecación: advertencia: el parámetro email está obsoleto. todas las solicitudes POST a esta ruta deben enviarse con un parámetro email_encoded codificado en base64 estricto en su lugar. se ha recibido el correo electrónico y
1:37 pm
No se puede procesar el correo electrónico: Email::Receiver::AutoGeneratedEmailError Recibido: desde smtp-mx-server-8.servers.netregistry.net (desconocido [202.124.241.69]) por nz-mail-receiver.localdomain (Postfix) con
1:37 pm
No se puede procesar el correo electrónico: Email::Receiver::NoBodyDetectedError Recibido: desde EUR04-VI1-obe.outbound.protection.outlook.com (desconocido [104.47.14.50]) por nz-mail-receiver.localdomain (Postfix) con
1:39 pm
2
ActiveRecord::RecordInvalid (La validación falló: La razón de rechazo es demasiado larga (el máximo es 500 caracteres)) app/models/reviewable.rb:362:in `transition_to' app/models/reviewable.rb:335:in `block in perform
1:51 pm
2
No se pudo manejar la excepción en el middleware de excepción de la aplicación: ActiveRecord::RecordInvalid: La validación falló: La razón de rechazo es demasiado larga (el máximo es 500 caracteres)
1:51 pm
235
Sidekiq está consumiendo demasiada memoria (usando: 557.11M) para 'nzarchitecture.net.nz', reiniciando
1:54 pm
38
Aviso de deprecación: `SiteSetting.min_trust_to_create_tag` ha sido obsoleto. Utilice `SiteSetting.create_tag_allowed_groups` en su lugar. (eliminación en Discourse 3.3) En /var/www/discourse/lib/guardia
2:06 pm
33
Aviso de deprecación: `SiteSetting.min_trust_to_edit_post` ha sido obsoleto. Utilice `SiteSetting.edit_post_allowed_groups` en su lugar. (eliminación en Discourse 3.3) En /var/www/discourse/lib/guardian/
2:06 pm

No estoy seguro de cuándo/bajo qué versión de software de Discourse comenzó este problema, ya que no recibo muchas solicitudes y necesito rechazar muy pocas de las que recibo, pero ciertamente no había encontrado ningún problema de este tipo antes, y he utilizado el mismo mensaje pegado en notificaciones de rechazo anteriores a los solicitantes.

Veo una referencia a ‘La razón de rechazo es demasiado larga (el máximo es 500 caracteres)’, y mi texto estándar de razón de rechazo es de hecho más largo que 500 caracteres, pero esto parecía funcionar anteriormente.

Creo que esto es importante de resolver, ya que proporcionar una explicación completa y satisfactoria para cualquier rechazo es una cortesía básica para los futuros solicitantes, particularmente si no está claro que la solicitud fue motivada maliciosamente (si caen fuera de los criterios de membresía previstos pero no son obviamente bots, vendedores o “malos actores”).

Esto es difícil de hacer dentro de 500 caracteres si también queremos brindar asesoramiento a cualquiera que pueda querer volver a solicitarlo. Si es necesario, ¿hay alguna forma de aumentar el límite de caracteres?

Esto se ha solicitado en otros lugares, pero me gustaría reiterar la solicitud (si algún desarrollador ve esto) de que también tengamos una lista desplegable de ‘razones de rechazo’ estándar editables para seleccionar.

3 Me gusta

Creo que recientemente se establecieron límites en algunos de estos campos de texto, aunque en algunos casos fueron una suposición razonable. Veré si este se puede aumentar a algo más alto. ¿Tienes una idea de cuántos caracteres necesitarías?

Si pudieras añadir tu opinión a un tema existente, eso ayuda a demostrar que es una solicitud popular y a menudo puede subirla en la lista de prioridades. :+1:

3 Me gusta

Hola, gracias @JammyDodger, mi texto de motivo de rechazo actual tiene 2211 caracteres, porque contiene consejos que abordan algunos escenarios que involucran matices (este es un foro bastante especializado).

Ignorando la idea de la lista desplegable de motivos por ahora, en lugar de que este motivo sea un campo en blanco por defecto, ¿podría este incluso usar por defecto una cadena de texto predefinida? con una casilla de verificación que permita usar el campo en blanco sobre la marcha como una opción de texto personalizado, si alguna vez surge la necesidad?

Intentaré encontrar ese hilo de solicitud separado.

1 me gusta

Sí, correcto, añadimos un límite a nivel de base de datos para esto hace unos 9 meses: DEV: Set limits for text fields in reviewables · discourse/discourse@783c935 · GitHub

Actualmente no hay posibilidad de anular eso a nivel de instancia individual. Estaría abierto a aumentar un poco el límite, tal vez a 2000 caracteres, pero primero me gustaría ver más casos de esto siendo un problema en la práctica. Por ahora, reducir ese mensaje (y tal vez añadir un enlace a un tema con el resto) tiene sentido para mí.

Creo que deberíamos mejorar la interfaz de usuario en torno a esto para que el mensaje de error se muestre al usuario que introduce el texto que excede el límite.

Una página publicada podría funcionar muy bien para eso si el sitio requiere inicio de sesión. Se pueden hacer visibles para los anónimos incluso si se establece que requieren inicio de sesión.

2 Me gusta

Gracias, chicos. Lo he hecho, aunque preferiría eliminar el paso adicional que se requiere de los solicitantes que ya se sienten un poco irritados, especialmente porque las aplicaciones de correo electrónico a menudo bloquean la apertura de URL en los correos electrónicos recibidos por defecto.

Tengo mucho interés en no agravar ni alienar innecesariamente a nadie que más tarde pueda resultar ser un usuario viable del foro.

Y todavía tengo mucho interés en no tener que copiar y pegar manualmente este mensaje cada vez.

1 me gusta

Personalmente, no he visto aplicaciones de correo electrónico que hagan eso, parece una configuración predeterminada extraña.

Mi propia aplicación Microsoft Outlook es un ejemplo. Este comportamiento parece estar influenciado por el nivel de confianza que asocia con el mensaje recibido.
Un nuevo usuario/solicitante activará una respuesta automática por correo electrónico que puede parecer un poco spam si el usuario aún no ha agregado el dominio del remitente a su lista de remitentes de confianza, un paso que parece ser más de lo que se puede esperar que un nuevo usuario haya tomado, especialmente si aún no ha sido aceptado como usuario.

He hecho lo que he podido para maximizar la reputación de mi dominio de correo electrónico, pero algunos mensajes enviados por mi foro todavía terminan en las carpetas de correo no deseado de algunos destinatarios, y aunque todavía se pueden leer allí, los enlaces siempre están deshabilitados.

Tengo la misma situación aquí. Necesito al menos 1200 caracteres para proporcionar enlaces e información de contacto. Este es un poco molesto. Además, poder usar párrafos haría que no pareciera tan robótico. Gracias.

1 me gusta

Aumenté el límite a 2000 caracteres y corregí la visualización del mensaje de error en este commit :slight_smile:

3 Me gusta

Gracias @martin, pero todavía no me funciona en mi cuenta alojada. Todavía obtengo el error. Tengo menos de 1100 caracteres. Saludos.

1 me gusta

Oh, espera. Curiosamente, a pesar de recibir el error, el correo electrónico se envió correctamente. Sin embargo, el usuario no fue eliminado. Me pregunto si eso significa que envié unos 20 correos electrónicos al mismo usuario ayer.

2 Me gusta

Ah, lo siento, no me di cuenta de que eras un cliente alojado. Si me envías un mensaje privado con el sitio, implementaré los cambios hoy.

Eso es extraño, lo comprobaré de nuevo. Cuando estaba trabajando en el cambio ayer, no noté correos electrónicos duplicados.

3 Me gusta

De hecho, el correo electrónico se envía incluso si recibes el error de límite de caracteres :fearful: Estoy trabajando en una solución ahora.

4 Me gusta

La corrección está hecha:

Desplegaré tu sitio pronto, gracias por enviarlo.

2 Me gusta

Este tema se cerró automáticamente después de 3 días. Ya no se permiten nuevas respuestas.