匿名モードが機能しない

Discourse インスタンスで匿名モードを試しましたが、クリックしても何も反応しません。

JS ログに表示されたエラーは以下の通りです。

iPhone / Safari

メッセージ(12 件報告)

NoMethodError(nil:NilClass で未定義のメソッド `<`)
/var/www/discourse/app/services/anonymous_shadow_creator.rb:34:in `get'

バックトレース

/var/www/discourse/app/services/anonymous_shadow_creator.rb:34:in `get'
/var/www/discourse/app/services/anonymous_shadow_creator.rb:11:in `get'
/var/www/discourse/app/controllers/users_controller.rb:863:in `toggle_anon'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3.2/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3.2/lib/abstract_controller/base.rb:195:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3.2/lib/action_controller/metal/rendering.rb:30:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3.2/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.2/lib/active_support/callbacks.rb:135:in `run_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3.2/lib/abstract_controller/callbacks.rb:41:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3.2/lib/action_controller/metal/rescue.rb:22:in `process_action'

環境

HTTP HOSTS: se23.life
「いいね!」 1

影付きユーザーが一度も投稿したことがない場合に起こる可能性がありますか?

「いいね!」 3

ここで正しい修正が何かわからないのですが、以下のようにすることは可能です:

しかし、真の疑問点は、投稿数やトピック数を持つユーザーが last_posted_at を持たないのはなぜかということです。詳しくは調べていませんが、これはありえないはずではないでしょうか?

「いいね!」 8

これで私の問題も解決しました。ありがとう @j.jaffeux :+1:

「いいね!」 3

もしお時間があれば、このユーザーがこの状態になった原因を調査していただければ助かりますが、無理はしないでください。

ご報告と更新情報ありがとうございます :+1:

「いいね!」 2

非常に奇妙ですね──私自身(サイト管理者、ユーザー#1)がそうでした。匿名モードの機能を無効にする前に、以前にテストすべきでした。本日、その機能を再度有効にしたところ、このバグに遭遇しました。

「いいね!」 1

うーん、わかりました、ありがとう。とりあえずこれを「稀な履歴による奇妙な状態」に分類しておこうかな :smiley:

「いいね!」 3

このトピックは最後の返信から4日後に自動的に閉鎖されました。これ以上新しい返信は受け付けていません。