コメントと通知の関係を確認するテスト
#ActivityPub #Mastodon #WordPress #バグ #プラグイン #マストドン

以前、コメント欄から返信した際に、返信元以外に通知が届いてしまう問題があった。

"さらに、同じスレッドで、別のマストドンのアカウントc@Cからa@Aに返信(メンションはa@A宛だけ)があった後、そのc@Cの返信にa@Aが返信しようとすると、b@Bへのメンションも追加されてしまいます。
"
コメント欄ではメンション先を選べない | いしい@試行錯誤
https://ishii00141.stars.ne.jp/20250216-1635-895/

今も同じかどうか確認するためのテスト。

この投稿はa@Aの投稿x0

https://ishii00141.stars.ne.jp/20250311-0803-1646/
@ishii 最初のリプライ。
b@Bの返信y1
@ishii00141 リプライに対するコメント。
a@Aの返信x1
@ishii00141 自分のコメントに対するコメント。
a@Aの返信x2
@ishii00141 さらに自分のコメントに対するコメント。
a@Aの返信x3
@ishii 別のアカウント #fedibird からのリプライ。
c@Cの返信z1
@hitorinezumi @ishii00141 別のアカウント #fedibird からのリプライc@Cの返信z1に対してメンションを記載せずにコメント。
a@Aの返信x4

@ishii a@Aの返信x4の通知が、c@Cではないこちらb@Bにも届いた。
記載されているアカウントはc@Cとb@Bのフル。

それ以前に関しては、
a@Aの返信x1、a@Aの返信x2、a@Aの返信x3の全ての通知が届いた。記載されているアカウントはb@Bのフル。
c@Cの返信z1の通知は届かなかった。

b@Bの返信y2

@ishii a@Aの返信x4の通知は、こちらc@C #fedibird では無かった。#fedibird にコメント欄から返信するにはメンションが必要。

また、a@Aの返信x4に対するb@Bの返信y2はこちらで見ることができない。ユーザータイムラインの「投稿と返信」でも表示されてない。

c@Cの返信z2

@ishii c@Cの返信z2はこちらb@Bでも見ることができた。返信時にメンション先がa@Aとc@Cの両方が入力されていたので、c@Cの方を削除してa@Aにだけリプライ。

b@Bの返信y3

@ishii00141 @hitorinezumi c@Cはb@Bをフォローしていないので、a@Aの返信x4に対するb@Bの返信y2が見られないのは正常?(スレッド表示でも見られない)
しかし、b@Bの返信y3はc@Cの返信z2に対する返信なので、c@Cにも見えている。ただし、メンションを外した返信なので、通知はない。

b@Bはc@Cをフォローしているので、@Aの返信x4に対するc@Cの返信z2を見ることができたのは正常。

この後、別のアカウントd@Dでa@Aの返信x3にリプライする予定だが、d@Dはb@Bもc@Cもフォローしていないので、b@Bの返信y2は見られない(正常?)。ただし、b@Bの返信y1、c@Cの返信z1、c@Cの返信z2、b@Bの返信y3は見えている。矛盾なく説明するのが難しい。

a@Aの返信x5

@ishii b@Bの返信y3に対するa@Aの返信x5はc@Cでも見ることができた。
a@Aの返信x5のメンションはb@Bとc@Cがフルで表示されてる。

c@Cの返信z3

@hitorinezumi @ishii00141 c@Cの返信z1へのメンション無しのリプライ。
a@Aの返信x7

c@Cの返信z1に対するリプライ。メンション無し。

a@Aの返信x35

c@Cに通知は届かない。

a@Aの返信x36

a@Aの返信x36は検索しなければマストドンで取得できなかった。

a@Aの返信x37

@ishii a@Aの返信x3に対するmstdn.jpからのリプライ。

ちなみに、リプライはしないがフォローしていないc@Cの返信z3はスレッジ表示で見えている。

d@Dの返信w1

@ishii00141 @ishii00141 mstdn.jpのアカウントd@Dの返信w1に対してメンションを記載せずにコメント。

a@Aの返信x6

@ishii a@Aの返信x6の通知が、d@Dではないこちらb@Bにも届いた。
記載されているアカウントはd@Dとb@Bのフル。

b@Bの返信y4

@ishii00141 @ishii00141 b@Bの返信y4 へのメンション無しでの返信。(functions.phpに特殊なコードを追加後)

a@Aの返信x8

@ishii00141 @ishii00141 b@Bとd@Dに通知が届いたので、functions.phpに追加した特殊なコードは機能しなかった。したがって、そのコードを削除して元に戻してからの返信。

a@Aの返信x9

@ishii00141 @ishii00141 @ishii00141 a@Aの返信x9がマストドンに届かなかったので、a@Aの返信x9にメンションを付けて返信。

a@Aの返信x10

b@Bの返信y4 へのメンション無しでの返信。(/activitypub/includes/transformer/class-comment.phpの280行にreturn $mentions;を追加した後)

a@Aの返信x11

返信は届いたが通知は無く"cc"はフォロワーだけだった。引き続き、メンションを付けてのa@Aの返信x11への返信。

@ishii00141

a@Aの返信x12

@ishii00141 @ishii00141 "cc"はフォロワーと記載メンションだけだった。/activitypub/includes/transformer/class-comment.phpを元に戻してメンション無しで、a@Aの返信x12に返信。

a@Aの返信x13

@ishii00141 @ishii00141 b@Bの返信y4 へのメンション無しでの返信。(functions.phpに特殊なコードを追加後)

a@Aの返信x14

@ishii00141 @ishii00141 b@Bの返信y4 へのメンション無しでの返信。(functions.phpに特殊なコードを修正後)

a@Aの返信x15

@ishii00141 @ishii00141 b@Bの返信y4 へのメンション無しでの返信。(functions.phpの特殊なコードを再修正後)

a@Aの返信x16

@ishii00141 @ishii00141 b@Bの返信y4 へのメンション無しでの返信。(functions.phpの特殊なコードを再々修正後)

a@Aの返信x17

@ishii00141 @ishii00141 b@Bの返信y4 へのメンション無しでの返信。(functions.phpの特殊なコードをさらに修正した後)

a@Aの返信x18

@ishii00141 @ishii00141 いったん諦めて、functions.phpを元に戻してa@Aの返信x18に返信。

a@Aの返信x19

@ishii00141 @ishii00141 b@Bの返信y4 へのメンション無しでの返信。(functions.phpに独自コードの一部を追加した後)

a@Aの返信x20

@ishii00141 @ishii00141 b@Bの返信y4 へのメンション無しでの返信。(functions.phpに追加した一部の独自コードを修正した後)

a@Aの返信x21

@ishii00141 @ishii00141 いったん諦めて、functions.phpを元に戻してa@Aの返信x21に返信。

a@Aの返信x22

b@Bの返信y4 へのメンション無しでの返信。(functions.phpに改めてGeminiに教わったコードを追加した後)

a@Aの返信x23

b@Bの返信y4 へのメンション無しでの返信。(functions.phpに改めてGeminiに教わったコードをさらに追加した後)

a@Aの返信x24

b@Bの返信y4 へのメンション無しでの返信。(functions.phpに改めてGeminiに教わったコードをさらに追加して、それを修正した後)

a@Aの返信x25

b@Bの返信y4 へのメンション無しでの返信。(functions.phpに改めてGeminiに教わったコードをさらに追加して、さらに修正した後)

a@Aの返信x26

b@Bの返信y4 へのメンション無しでの返信。(functions.phpに改めてGeminiに教わったコードをさらに追加して、さらに修正した後)

a@Aの返信x27

b@Bの返信y4 へのメンション無しでの返信。(functions.phpに改めてGeminiに教わったコードをさらに追加して、さらに修正した後)

a@Aの返信x28

b@Bの返信y4 へのメンション無しでの返信。(functions.phpに改めてGeminiに教わったコードをさらに追加して、さらに修正した後)

a@Aの返信x29

b@Bの返信y4 へのメンション無しでの返信。(functions.phpに改めてGeminiに教わったコードをさらに追加して、さらに修正した後)

a@Aの返信x30

b@Bの返信y4 へのメンション無しでの返信。(functions.phpに改めてGeminiに教わったコードをさらに追加して、さらに修正した後)

a@Aの返信x31

b@Bの返信y4 へのメンション無しでの返信。(functions.phpに改めてGeminiに教わったコードをさらに追加して、さらに修正した後)

a@Aの返信x32

b@Bの返信y4 へのメンション無しでの返信。(functions.phpに改めてGeminiに教わったコードをさらに追加して、さらに修正した後)

a@Aの返信x33

@ishii00141 a@Aの返信x33へのリプライでb@Bにメンション。メンションが記載されているか確認する。

a@Aの返信x34

b@Bの返信y4への返信。メンション無し。

a@Aの返信x38

a@Aの返信x38も検索しなければマストドンで表示されなかった。

a@Aの返信x39

@ishii00141 念のため、b@Bにメンションしてa@Aの返信x39に返信。

a@Aの返信x40

b@Bの返信y4への返信。メンション無し。

a@Aの返信x41

@ishii00141 念のために、b@Bに対するメンションを追加してa@Aの返信x41に返信。

a@Aの返信x42

b@Bの返信y4への返信。メンション無し。

a@Aの返信x43

@ishii a@Aの返信x6はこちらでは通知が届いた。この点は #fedibird と異なり、こちらからの返信に対しては、もしかしたら、#fedibird 以外からの返信に関しては、コメント欄にメンションが不要かもしれない。

d@Dの返信w2

@ishii00141 いしい@mstdnさん、
@hitorinezumi ひとりネズミさん、
@ishii00141 ishiiさん、
返信テスト。

d@Dの返信w2 への返信

スレッドに複数のアカウント。
通知の届く先を確認する。

#WordPress #ActivityPub #Mention