Gravatar アバターの自動更新は可能ですか?

Gravatar.com でアバターを更新した際に、Discourse が自動的にアバターを更新する設定は可能でしょうか?

Gravatar を更新すれば、すべてのウェブサイトでプロフィールのアバターも更新されるのが当然だと考える人がほとんどだと思います。

しかし、Discourse では Gravatar アバターを更新するために手動でボタンをクリックする必要があります。これは上記の期待とは逆の動作です。

つまり、Gravatar を更新しても、自分が利用しているすべての Discourse サイトを思い出し、それぞれにアクセスして手動で更新しなければなりません。

Gravatar ユーザーにとって、これは非常に予期せぬ動作だと考えられます。

現在、Discourse の Gravatar を更新するジョブは存在しません。一度ダウンロードすると、そのデータは永続的に保持されます。

実際には、この点に関する苦情はほとんど、あるいは全く寄せられていません。

どうしても全ユーザーの Gravatar を更新する必要がある場合は、以下のコマンドを実行してください。

./launcher enter app
rails r 'UserAvatar.find_each {|u| print "."; u.update_gravatar!}'

実行には時間がかかります。

カスタムアバターを既に設定しているユーザーも更新対象になりますか?それとも、設定していない人のみですか?必須機能ではないとは思うのですが、それでも興味深いオプションですね。

そのコマンドは全員に適用されますが、Gravatarには切り替わりません。

私の経験では、Gravatar は数分後に自動的に更新されることが多いです。特に私が利用しているサイトではそのように動いています。WordPress サイトは良い例です。

カスタムアバターはそれを上書きして固定されるべきだと思います。これは内側のスコープで上書きされた変数のようなもので、外側の変数が変化しても変更されません。

多くのサイトは、Gravatar を使用する際に個人情報を露呈させるような方法で利用しています。Gravatar に直接ホットリンクしているため、メールアドレスをブルートフォース攻撃で特定できるなどの問題が発生します。

Discourse はアバターのコピーを作成します。

Discourse で Gravatar の更新を反映させたい場合は、ユーザーが「更新」ボタンをクリックする必要があります。