Falha na mesclagem de usuário

Estou recebendo um erro ao tentar mesclar duas contas de usuário.

Tive um problema com meu provedor de SSO fornecendo um ID diferente. Isso fez com que um pequeno número de usuários acabasse com contas duplicadas.

O problema do SSO foi resolvido e estou tentando mesclar as contas duplicadas.

Ao usar a função de mesclagem do administrador, recebo uma caixa de mensagem dizendo que ocorreu um erro, e o seguinte aparece nos logs. As contas não foram mescladas.

Log de Erro
Mensagem (2 cópias relatadas)

NoMethodError (método `email' não definido para nil:NilClass)
app/models/user.rb:1243:in `email'
app/services/user_merger.rb:8:in `initialize'
app/controllers/admin/users_controller.rb:507:in `new'
app/controllers/admin/users_controller.rb:507:in `merge'
app/controllers/application_controller.rb:358:in `block in with_resolved_locale'
app/controllers/application_controller.rb:358:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:68:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:354:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:22:in `call'
lib/middleware/request_tracker.rb:176:in `call'

Rastreamento de Volta

app/models/user.rb:1243:in `email'
app/services/user_merger.rb:8:in `initialize'
app/controllers/admin/users_controller.rb:507:in `new'
app/controllers/admin/users_controller.rb:507:in `merge'
actionpack (6.0.3.3) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (6.0.3.3) lib/abstract_controller/base.rb:195:in `process_action'
actionpack (6.0.3.3) lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack (6.0.3.3) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:112:in `block in run_callbacks'
app/controllers/application_controller.rb:358:in `block in with_resolved_locale'

Ambiente

HTTP HOSTS: discourse.camra.org.uk

Parece que o usuário que você está tentando mesclar não possui um endereço de e-mail principal. Isso deve corrigir o problema:

4 curtidas