NoMethodError (método não definido `id' para # 100%

Recebi isso há alguns dias. Tudo parece estar funcionando, mas certamente não sei o que está acontecendo nos bastidores. Devo me preocupar ou fazer algo? Isso vem de uma tentativa de excluir uma postagem anônima?

O Discourse foi atualizado há cerca de 10 horas…

Mensagem (16 cópias relatadas)

NoMethodError (método indefinido `id' para #<Guardian::AnonymousUser:0x00007f5fe7ae9ea0>)
lib/guardian.rb:624:in `is_my_own?'
lib/guardian/post_guardian.rb:262:in `can_delete_post_action?'
app/controllers/application_controller.rb:422:in `block in with_resolved_locale'
app/controllers/application_controller.rb:422:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/middleware/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:387:in `call'
lib/middleware/gtm_script_nonce_injector.rb:10:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:233:in `call'

Backtrace

lib/guardian.rb:624:in `is_my_own?'
lib/guardian/post_guardian.rb:262:in `can_delete_post_action?'
plugins/discourse-reactions/app/controllers/discourse_reactions/custom_reactions_controller.rb:230:in `format_like_user'
plugins/discourse-reactions/app/controllers/discourse_reactions/custom_reactions_controller.rb:236:in `block in format_likes_users'
activerecord (7.0.7) lib/active_record/relation/delegation.rb:88:in `each'
activerecord (7.0.7) lib/active_record/relation/delegation.rb:88:in `each'
plugins/discourse-reactions/app/controllers/discourse_reactions/custom_reactions_controller.rb:236:in `map'
plugins/discourse-reactions/app/controllers/discourse_reactions/custom_reactions_controller.rb:236:in `format_likes_users'
plugins/discourse-reactions/app/controllers/discourse_reactions/custom_reactions_controller.rb:160:in `post_reactions_users'
actionpack (7.0.7) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

Env

HTTP HOSTS: foorumi.katiska.eu
1 curtida

Posso estar enganado, mas parece que um usuário do Modo Anônimo está tendo problemas para excluir uma postagem?

Tenho quase certeza de que não há tal caso. Apostaria que deve ser algum processo automático acontecendo em segundo plano, e eu também não consigo entender isso.

No meu fórum, postagens anônimas acontecem quase nunca e, mesmo assim, eram de usuários regulares. Há uma pequena chance de eu ter excluído alguns tópicos antigos e irrelevantes, mas não me lembro de ter havido anônimos. E sim, meu fórum tem um tráfego tão baixo que posso confiar na minha memória em vez do SQL :rofl:

Tive um usuário que não confirmou o e-mail por alguns motivos e o sistema matou a conta dele há alguns dias. Tudo o que ele fez foi dar curtidas, nada mais. E agora tenho a sensação (desculpe, não posso dar informações mais concretas) de que o erro começou a aparecer ao mesmo tempo.

1 curtida

Está conectado ao Discourse Reactions de alguma forma, então a atribuição de Likes pode ser relevante.

Como eles conseguiram interagir sem primeiro verificar o e-mail/ativar a conta?

Boa pergunta.

Eu tinha instalado Disable Email Verification for Discourse Plugin mas estava desativado naquele momento. Poderia vazar de alguma forma? Mas ainda assim… Eu não sigo regras comuns porque não tenho problemas com spam (um benefício quando se faz parte de uma minoria linguística…) então eu dou TL1 logo após o registro, então isso também poderia quebrar as coisas?

Então… existe algo em algum lugar onde eu possa começar a investigar? E a pergunta mais importante: o mundo vai acabar se eu não fizer nada?

1 curtida

Pode ou não ter algo a ver com a TL1 automática, mas também com disable email verification. Tenho isso várias vezes com o mesmo usuário o tempo todo:

id: 606
username: saja
name: Saja
created_at: 2023-10-28 14:34:13 UTC
trust_level: 1
last_seen_at:
last_emailed_at:

2.11., 28.10., 12.10. e 27.9. O estranho é que o log do administrador não mostra nenhum endereço IP para esse usuário. Todas as outras exclusões de contas não ativadas mostram IP.

Parece que está conectado à configuração allow_anonymous_likes de alguma forma.

Brinquei um pouco para ver se conseguia acionar o mesmo erro, mas entrar no Modo Anônimo e lançar algumas Curtidas/Reações e depois removê-las ou excluir as postagens não o acionou. Também desativei allow_anonymous_likes no meio e não houve conflito, apenas impediu a remoção. Também respeitou a configuração post undo action window mins.

Não tenho certeza. :thinking:

1 curtida

Ei, desculpe se isso puder estar relacionado ao meu plugin. Você poderia tentar desativá-lo e ver se isso resolve? Não tive muito tempo para trabalhar nele, mas se estiver relacionado ao meu plugin, me avise e eu darei uma olhada. Quero fornecer o máximo de suporte possível aos usuários do meu plugin.

Tenho-o ativado aqui e não tenho problemas, exceto pelos explicitamente mencionados no tópico. (Embora eu não tenha o TL1 automático que você tem)