Discourse サーバーを Patreon 連携付きで設定している最中です。Patron が Discourse に登録する際に、以下のエラーメッセージが表示されます。
Patreon group membership callback failed for new user 7 with error: undefined method `add' for nil:NilClass.
/var/www/discourse/plugins/discourse-patreon/plugin.rb:166:in `block (3 levels) in activate!'
/var/www/discourse/plugins/discourse-patreon/plugin.rb:164:in `each'
/var/www/discourse/plugins/discourse-patreon/plugin.rb:164:in `block (2 levels) in activate!'
/var/www/discourse/lib/plugin/instance.rb:215:in `public_send'
/var/www/discourse/lib/plugin/instance.rb:215:in `block (2 levels) in add_model_callback'
ユーザーは Patreon 認証を使って登録します。ユーザーは作成され、Associated Accounts に Patreon が表示されますが、Patreon のデータ(金額、リワード)はプロフィールに追加されず、グループにも追加されません。Update Patreon Data & Sync Groups をクリックすると、データが表示され、グループへの追加も正常に行われます。
彼らは新規の Patron ではなく、長期間 Patron として活動しており、Discourse への参加は今回が初めてです。
現在、最新バージョンの 2.4.0.beta4 を実行しています。これは独自サーバーですが、標準的なインストールです。
このバージョンに更新する前に、プラグインを無効化し、Client Key を削除して再作成しました(実際には新バージョンで解決された問題を解消するための必死の試みでしたが)。Patreon グループ周りの設定を何らかの形で壊してしまったのではないかと思いますが、同期は機能するのに、新規ユーザーの登録が機能しないのは奇妙に思えます。
テストユーザーを使ってテストを行いました:
- Patreon でテストユーザーを作成し、キャンペーンへの支援を行う。(Webhook はトリガーされますが、この問題は「既存の」Patron で発生するため、これは関係ないと思います。)
Update Patreon Data & Sync Groupsをクリックし、データが更新されたことを示す非同期メッセージを待つ。- Discourse でテストユーザーを登録する。
- テストユーザーの Patreon データを確認する。
Patreonセクション(金額、リワード)が存在しない。ユーザーは Patreon グループに含まれていない。 Update Patreon Data & Sync Groupsをクリックし、データが更新されたことを示す非同期メッセージを待つ。- テストユーザーの Patreon データを確認する。
Patreonセクションが現在表示され、金額とリワードが含まれている。ユーザーは Patreon グループに含まれている。
ご支援いただき、ありがとうございます!