Conversation
Notices
-
私の設定や使い方が悪いのかもしれませんが、Pleromaでいまいち、と思うこと。
リモートの記事の「いいね」やブーストができない。
検索などで出てきたとあるMastodonの記事をブラウザで出して、★をクリックすると、自分がログインしているアカウントで「いいね」ができるはず(だと思う)。
ところが、PleromaのアカウントでMastodonの記事を「いいね」しようとすると、PleromaのアカウントをMastodonのサーバに送った後、Pleromaのサーバが呼び出された後、エラーになってしまう。
逆に検索などででてきたとあるPleromaの記事にある★はクリックできるようになっていない。
ブーストについても同様。
誰かの記事に返信すると、返信した記事はLTLでは見れるけど、自分のフォロワーには届かない。
仕方ないから、自分で返信した記事を自分でブーストすることになる。
#pleroma
-
PleromaのElixirで書かれているbackendのソースを調べて、favorite関連らしいところを探した。
pleroma/lib/pleroma/web/common_api/common_api.ex
の
def favorite(id_or_ap_id, user) do
with %Activity{} = activity <- get_by_id_or_ap_id(id_or_ap_id),
object <- Object.normalize(activity),
nil <- Utils.get_existing_like(user.ap_id, object) do
ActivityPub.like(user, object)
else
_ ->
{:error, "Could not favorite"}
end
end
の辺りなんだろう。しかし、
%Activity{} = activity <- by_id_or_ap_id(id_or_ap_id),
の%Activity{} =
というのがどうしても分からなくて、3日くらいして、Structかもしれないとやっと分かった。
なにしろ、Elixirはまだほとんど書いたことがない。入門書も読んでいない。
%Activityは別の場所でEcto.schemaとして定義されていることが分かった(と思う)。
改造などはほど遠いなぁ。
#Elixir #pleroma