ユーザーのマージに失敗しました

2 つのユーザーアカウントをマージしようとした際にエラーが発生しています。

SSO プロバイダーから異なる ID が返される問題があり、それにより少数のユーザーが重複したアカウントを持つことになりました。

SSO の問題は現在修正済みですが、重複したアカウントのマージを試みています。

管理画面のマージ機能を実行すると、「エラーが発生しました」というメッセージボックスが表示され、ログには以下が記録されています。アカウントはマージされていません。

エラーログ
メッセージ(2 回報告)

NoMethodError (nil:NilClass の `email' メソッドが定義されていません)
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'

バックトレース

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'

環境情報

HTTP ホスト: discourse.camra.org.uk

お探しのユーザーをマージしようとしていますが、プライマリメールアドレスが設定されていないようです。これにより解決するはずです:

「いいね!」 4