Limite de 500 caracteres para 'Razão de Rejeição' é muito pequeno

Parece que, ao ser notificado para revisar a inscrição de um novo usuário em meu fórum, e eu rejeito a inscrição usando a opção ‘Excluir Usuário’, e no processo seleciono a opção para incluir uma nota por e-mail explicando por que a inscrição foi malsucedida, agora recebo ‘Erro 422’ como resposta.

Se eu omitir a nota, consigo excluir o usuário, como antes.

As notificações por e-mail geradas pelo fórum para usuários inscritos ainda funcionam bem.

A versão do Discourse atualmente instalada é 3.2.0.beta5-dev

Logs de erro do fórum correspondentes à data desta ocorrência (hoje) abaixo

5
Aviso de deprecação: `SiteSetting.min_trust_to_edit_post` foi preterido. Use `SiteSetting.edit_post_allowed_groups` em vez disso. (remoção no Discourse 3.3) Em /var/www/discourse/app/models/co
1:19 pm
15
Aviso de deprecação: aviso: o parâmetro de e-mail está preterido. todas as requisições POST para esta rota devem ser enviadas com um parâmetro email_encoded codificado em base64 estrito em vez disso. o e-mail foi recebido e
1:37 pm
E-mail não pode ser processado: Email::Receiver::AutoGeneratedEmailError Recebido: de smtp-mx-server-8.servers.netregistry.net (desconhecido [202.124.241.69]) por nz-mail-receiver.localdomain (Postfix) com
1:37 pm
E-mail não pode ser processado: Email::Receiver::NoBodyDetectedError Recebido: de EUR04-VI1-obe.outbound.protection.outlook.com (desconhecido [104.47.14.50]) por nz-mail-receiver.localdomain (Postfix) com
1:39 pm
2
ActiveRecord::RecordInvalid (Falha na validação: O motivo da rejeição é muito longo (máximo de 500 caracteres)) app/models/reviewable.rb:362:in `transition_to' app/models/reviewable.rb:335:in `block in perform
1:51 pm
2
Falha ao tratar exceção na middleware de exceção app: ActiveRecord::RecordInvalid: Falha na validação: O motivo da rejeição é muito longo (máximo de 500 caracteres)
1:51 pm
235
Sidekiq está consumindo muita memória (usando: 557.11M) para 'nzarchitecture.net.nz', reiniciando
1:54 pm
38
Aviso de deprecação: `SiteSetting.min_trust_to_create_tag` foi preterido. Use `SiteSetting.create_tag_allowed_groups` em vez disso. (remoção no Discourse 3.3) Em /var/www/discourse/lib/guardia
2:06 pm
33
Aviso de deprecação: `SiteSetting.min_trust_to_edit_post` foi preterido. Use `SiteSetting.edit_post_allowed_groups` em vez disso. (remoção no Discourse 3.3) Em /var/www/discourse/lib/guardian/
2:06 pm

Não tenho certeza quando/sob qual versão do software Discourse esse problema começou, pois não recebo muitas inscrições e preciso rejeitar poucas delas, mas certamente não encontrei nenhum problema desse tipo antes, e usei a mesma mensagem colada em notificações de rejeição anteriores para os candidatos.

Vejo referência a ‘o motivo da rejeição é muito longo (máximo de 500 caracteres)’, e meu texto padrão de motivo de rejeição é, de fato, mais longo que 500 caracteres - mas isso parecia funcionar anteriormente.

Acho que isso é importante de resolver, pois fornecer uma explicação completa e satisfatória para qualquer rejeição é uma cortesia básica para os candidatos em potencial, especialmente se não estiver claro que a inscrição foi motivada maliciosamente (se eles estiverem fora dos critérios de associação pretendidos, mas não forem obviamente bots, profissionais de marketing ou outros ‘atores maliciosos’).

É difícil fazer isso em 500 caracteres se também quisermos fornecer conselhos a quem possa querer se candidatar novamente. Se necessário, existe uma maneira de aumentar o limite de caracteres?

Isso foi solicitado em outro lugar, mas gostaria de reiterar a solicitação (se algum desenvolvedor vir isso) de que também tenhamos uma lista suspensa de ‘motivos de rejeição’ padrão editáveis para selecionar.

3 curtidas

Acho que limites foram recentemente colocados em alguns desses campos de texto, embora em alguns casos tenham sido uma melhor estimativa do que era razoável. Vou ver se este pode ser aumentado para algo maior. Você tem uma ideia de quantos caracteres precisaria?

Se você pudesse adicionar sua voz a um tópico existente, isso ajuda a mostrar que é uma solicitação popular e muitas vezes pode aumentar sua prioridade. :+1:

3 curtidas

Oi, obrigado @JammyDodger, meu texto de motivo de rejeição atual tem 2211 caracteres, pois contém conselhos que abordam alguns cenários que envolvem nuances (este é um fórum bastante especializado).

Ignorando a ideia da lista suspensa de motivos por enquanto, em vez de este motivo ser um campo em branco por padrão, ele poderia simplesmente usar uma string de texto predefinida? Com uma caixa de seleção permitindo que o campo em branco seja usado sob demanda como uma opção de texto personalizado, caso a necessidade surja?

Tentarei encontrar o tópico de solicitação separado.

1 curtida

Sim, correto, adicionamos um limite no nível do banco de dados para isso há cerca de 9 meses: DEV: Set limits for text fields in reviewables · discourse/discourse@783c935 · GitHub

Atualmente não há possibilidade de substituir isso em uma base por instância. Eu estaria aberto a aumentar um pouco o limite, talvez para 2000 caracteres, mas primeiro gostaria de ver mais casos disso sendo um problema na prática. Por enquanto, reduzir essa mensagem (e talvez adicionar um link para um tópico com o restante dela) faz sentido para mim.

Eu acho que deveríamos melhorar a interface do usuário em torno disso para que a mensagem de erro seja exibida ao usuário que está inserindo o texto que excede o limite.

Uma página publicada pode funcionar muito bem para isso se o site exigir login. Elas podem ser visíveis para anônimos, mesmo que com a configuração de login obrigatório.

2 curtidas

Obrigado, pessoal. Eu fiz isso, embora preferisse eliminar a etapa extra exigida dos candidatos que já estão se sentindo um pouco irritados - especialmente porque os aplicativos de e-mail geralmente bloqueiam a abertura de URLs em e-mails recebidos por padrão.

Estou ansioso para não agravar ou alienar desnecessariamente ninguém que possa vir a ser um usuário viável do fórum.

E ainda estou ansioso para não ter que copiar e colar manualmente esta mensagem todas as vezes.

1 curtida

Eu pessoalmente não vi aplicativos de e-mail que façam isso, parece uma configuração padrão estranha.

Meu próprio aplicativo Microsoft Outlook é um desses exemplos. Esse comportamento parece ser influenciado pelo nível de confiança que ele associa à mensagem recebida.

Um novo usuário/candidato acionará uma resposta automática por e-mail que pode parecer um pouco spam se o usuário ainda não adicionou o domínio remetente à sua lista de remetentes confiáveis - o que parece ser um passo um pouco mais do que se pode esperar que um novo usuário tenha tomado, especialmente se eles ainda não foram aceitos como usuários.

Eu fiz o que pude para maximizar a reputação do meu domínio de e-mail, mas algumas mensagens enviadas pelo meu fórum ainda acabam em pastas de spam para alguns destinatários - e embora ainda possam ser lidas lá, os links são sempre desativados.

Estou na mesma situação aqui. Preciso de pelo menos 1200 caracteres para fornecer links e informações de contato. Este é um pouco irritante. Além disso, poder usar parágrafos faria com que não parecesse tão robótico. Obrigado.

1 curtida

Aumentei o limite para 2000 caracteres e corrigi a exibição da mensagem de erro neste commit :slight_smile:

3 curtidas

Obrigado @martin, mas ainda não está funcionando para mim na minha conta hospedada. Ainda recebo o erro. Tenho menos de 1100 caracteres. Valeu.

1 curtida

Ah, espere - curiosamente, apesar de receber o erro, o e-mail foi enviado corretamente. O usuário não foi excluído, no entanto. Eu me pergunto se isso significa que enviei cerca de 20 e-mails para o mesmo usuário ontem?

2 curtidas

Ah, desculpe, não percebi que você era um cliente hospedado. Se você me enviar uma mensagem privada com o site, implementarei as alterações hoje.

Isso é estranho, vou verificar isso. Quando estava trabalhando na alteração ontem, não notei e-mails duplicados.

3 curtidas

Na verdade, o e-mail é enviado mesmo que você receba o erro de limite de caracteres :fearful: Estou trabalhando em uma correção agora.

4 curtidas

Correção concluída:

Implantarei seu site em breve, obrigado por enviá-lo.

2 curtidas

Este tópico foi fechado automaticamente após 3 dias. Novas respostas não são mais permitidas.