fedibirdに通知が届いたコメントと届かなかったコメント

↬ishii00141.stars.ne.jp/20250326-0824-2149/

コメント欄からのリプライのメンション表示が変な件について、メンション表示だけの問題なら良いのだけど、 に通知が届かない問題がある。そのことに初めて気づいたのが c=125 のコメントで、c=137 のコメントで通知が届くようにする方法を確認した。要するにコメント欄から返信すれば、返信元へのメンションが自動的に付加されるのだけど、 のアカウントに返信する場合はコメント欄にメンションを自分で記載する必要があるというもの。表示が変なのは自動的に付加される方で、自分で記載した方がマストドンの通常の表示になる。

https://ishii00141.stars.ne.jp/20250216-1148-881/#comment-125

この c=125 と c=137 がどのようにマストドンに送られているのか確認してなかったのだが、データベースの wp_posts テーブルで見つけたので、記録しておく。utf-8でエンコードされていて分かりにくかったのだが、デコードして記録しておく。デコードは に頼んだ。

まずは c=125 の方。

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "id": "https://ishii00141.stars.ne.jp/?c=125",
  "type": "Note",
  "attributedTo": "https://ishii00141.stars.ne.jp/?author=0",
  "content": "<p><a rel=\"mention\" class=\"u-url mention\" href=\"https://fedibird.com/@hitorinezumi\">@hitorinezumi@fedibird.com</a> <a rel=\"mention\" class=\"u-url mention\" href=\"https://mastodon-japan.net/@ishii00141\">@ishii00141@mastodon-japan.net</a> ダメ押しの返信テスト。<br />「A←B←A←A」「A←B←A←A←A」のAの返信は全て、Bへのメンションも付いてしまった。<br />「A←B←A←A←A←C」のCの返信はAへのメンションだけ。<br />では、「A←B←A←A←A←C←A」はBへのメンションが付くのか?<br />Cの返信にBへのメンションが無いのでつかないと思うが、テスト。</p>",
  "contentMap": {
    "ja": "<p><a rel=\"mention\" class=\"u-url mention\" href=\"https://fedibird.com/@hitorinezumi\">@hitorinezumi@fedibird.com</a> <a rel=\"mention\" class=\"u-url mention\" href=\"https://mastodon-japan.net/@ishii00141\">@ishii00141@mastodon-japan.net</a> ダメ押しの返信テスト。<br />「A←B←A←A」「A←B←A←A←A」のAの返信は全て、Bへのメンションも付いてしまった。<br />「A←B←A←A←A←C」のCの返信はAへのメンションだけ。<br />では、「A←B←A←A←A←C←A」はBへのメンションが付くのか?<br />Cの返信にBへのメンションが無いのでつかないと思うが、テスト。</p>"
  },
  "inReplyTo": "https://fedibird.com/users/hitorinezumi/statuses/114011783882976303",
  "published": "2025-02-16T05:06:38Z",
  "tag": [
    {
      "type": "Mention",
      "href": "https://fedibird.com/@hitorinezumi",
      "name": "@hitorinezumi@fedibird.com"
    },
    {
      "type": "Mention",
      "href": "https://mastodon-japan.net/@ishii00141",
      "name": "@ishii00141@mastodon-japan.net"
    }
  ],
  "url": "https://ishii00141.stars.ne.jp/?c=125",
  "to": [
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "cc": [
    "https://ishii00141.stars.ne.jp/wp-json/activitypub/1.0/actors/0/followers",
    "https://fedibird.com/@hitorinezumi",
    "https://mastodon-japan.net/@ishii00141"
  ],
  "mediaType": "text/html",
  "replies": {
    "id": "https://ishii00141.stars.ne.jp/wp-json/activitypub/1.0/comments/125/replies",
    "type": "Collection",
    "first": {
      "id": "https://ishii00141.stars.ne.jp/wp-json/activitypub/1.0/comments/125/replies?page=1",
      "type": "CollectionPage",
      "partOf": "https://ishii00141.stars.ne.jp/wp-json/activitypub/1.0/comments/125/replies",
      "items": []
    }
  },
  "sensitive": false
}

次に c=137 の方。

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "id": "https://ishii00141.stars.ne.jp/?c=137",
  "type": "Note",
  "attributedTo": "https://ishii00141.stars.ne.jp/?author=0",
  "content": "<p><a rel=\"mention\" class=\"u-url mention\" href=\"https://fedibird.com/@hitorinezumi\">@hitorinezumi@fedibird.com</a> <a rel=\"mention\" class=\"u-url mention\" href=\"https://mastodon-japan.net/@ishii00141\">@ishii00141@mastodon-japan.net</a> <a rel=\"mention\" class=\"u-url mention\" href=\"https://fedibird.com/@hitorinezumi\">@<span>hitorinezumi</span></a> コメント欄にメンションを付けて返信すれば、通知が届くということですか?</p>",
  "contentMap": {
    "ja": "<p><a rel=\"mention\" class=\"u-url mention\" href=\"https://fedibird.com/@hitorinezumi\">@hitorinezumi@fedibird.com</a> <a rel=\"mention\" class=\"u-url mention\" href=\"https://mastodon-japan.net/@ishii00141\">@ishii00141@mastodon-japan.net</a> <a rel=\"mention\" class=\"u-url mention\" href=\"https://fedibird.com/@hitorinezumi\">@<span>hitorinezumi</span></a> コメント欄にメンションを付けて返信すれば、通知が届くということですか?</p>"
  },
  "inReplyTo": "https://fedibird.com/users/hitorinezumi/statuses/114011889007024579",
  "published": "2025-02-16T11:26:51Z",
  "tag": [
    {
      "type": "Mention",
      "href": "https://fedibird.com/users/hitorinezumi",
      "name": "@hitorinezumi@fedibird.com"
    },
    {
      "type": "Mention",
      "href": "https://mastodon-japan.net/@ishii00141",
      "name": "@ishii00141@mastodon-japan.net"
    }
  ],
  "url": "https://ishii00141.stars.ne.jp/?c=137",
  "to": [
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "cc": [
    "https://ishii00141.stars.ne.jp/wp-json/activitypub/1.0/actors/0/followers",
    "https://fedibird.com/users/hitorinezumi",
    "https://mastodon-japan.net/@ishii00141"
  ],
  "mediaType": "text/html",
  "replies": {
    "id": "https://ishii00141.stars.ne.jp/wp-json/activitypub/1.0/comments/137/replies",
    "type": "Collection",
    "first": {
      "id": "https://ishii00141.stars.ne.jp/wp-json/activitypub/1.0/comments/137/replies?page=1",
      "type": "CollectionPage",
      "partOf": "https://ishii00141.stars.ne.jp/wp-json/activitypub/1.0/comments/137/replies",
      "items": []
    }
  },
  "sensitive": false
}
未分類
管理人のマストドンアカウントへのリンクなど

コメント

  1. ishii ishii より:

    あっ、"cc":のURLが異なる。
    c=125 の方は" https://fedibird.com/@hitorinezumi "で、
    c=137 の方は" https://fedibird.com/users/hitorinezumi "。
    通知が届くか届かないかの違いは、これかも。

    • ishii ishii より:

      " https://fedibird.com/users/hitorinezumi "は" https://fedibird.com/@hitorinezumi "にリダイレクトされる。"cc":にあるURLがリダイレクト後のものだと、 #fedibird の場合は通知が届かないのか…。

      • ishii ishii より:

        "tag":のURLも異なる。これは"cc":と同じURL。同じ所から取得しているのかな?通知で重要なのは"cc":の方のURLらしい。

        • ishii ishii より:

          wp_optionsテーブルにWebFingerプロトコルで使用されるJSON形式のデータがあったようなので、メモしておく。
          「a:3:{s:7:"subject";s:30:"acct:hitorinezumi@fedibird.com";」で始まっているのだけど、#Gemini に見やすいように整形してもらった。
          {
          "subject": "acct:hitorinezumi@fedibird.com",
           "aliases": [
            "https: //fedibird.com/@hitorinezumi",
            "https: //fedibird.com/users/hitorinezumi"
           ],
           "links": [
            {
             "rel": "http: //webfinger.net/rel/profile-page",
             "type": "text/html",
             "href": "https: //fedibird.com/@hitorinezumi"
            },
            {
             "rel": "self",
             "type": "application/activity+json",
             "href": "https: //fedibird.com/users/hitorinezumi"
            },
            {
             "rel": "http: //ostatus.org/schema/1.0/subscribe",
             "template": "https: //fedibird.com/authorize_interaction?uri={uri}"
            }
           ]
          }

          • ishii ishii より:

            mastodon.socialでも同様。
            text/htmlの方は「ドメイン/@ユーザー」で
            application/activity+jsonの方は「ドメイン/users/ユーザー」だった。
            だから、 #fedibird にリプライする時に、ccフィードが「ドメイン/@ユーザー」の方になってしまうことが問題。

            • ishii ishii より:

              そうではない。
              mastodon.socialへの2025年3月11日 8:06 AMのリプライ(c=340)では、次のようにtext/htmlの方の「ドメイン/@ユーザー」になってる。

              "cc":["https:\/\/ishii00141.stars.ne.jp\/wp-json\/activitypub\/1.0\/actors\/0\/followers","https:\/\/mastodon.social\/@ishii00141"],

              • ishii ishii より:

                ただ、記事からのメンションなら、application/activity+jsonの方の「ドメイン/users/ユーザー」になってる。

                https://ishii00141.stars.ne.jp/20250327-1540-2191/#comment-542

                コメントの時はtext/htmlの方を拾っているというよりも、コメント欄で確認できる相手のアカウントのURLを取得してccフィールドに送っているのか?

                記事の方は、テキストからアカウントの形式を取得して、そのURLは何かを確認する関数を通ってccに記入するURLを決めているのだろうが、コメント欄からのリプライでは違うのかもしれない。同じ関数を通してプロフィールURLのtext/htmlの方を取得するとは思えない。

                • ishii ishii より:

                  https://mastodon.social/@ishii00141 のヘッダに
                  <link href='https: //mastodon.social/users/ishii00141' rel='alternate' type='application/activity+json'>

                  https://fedibird.com/@hitorinezumi のヘッダに
                  <link href='https: //fedibird.com/users/hitorinezumi' rel='alternate' type='application/activity+json'>

                  これは通知には効かないのか…。

  2. @ishii 通知が届いてましたが、メンションしましたか?

タイトルとURLをコピーしました