fedibird:seachableByの仕様ってちゃんとした文書の形でどこかにあるんでしたっけ?(もしくはまだ用意されてない?)

念のために設計前に実データ上で取り得る公開範囲の表現についての仕様を再確認したいのと、今後のメンテとかを考えて実装箇所にコメントで文書へのURLを併記しておきたいなぁと...

@mitarashi_dango まだないです。

実際に取り得る値は、Toなどで使うのと同じ表現で、Public、自分のfollowersコレクション、空です。

公開(public)
searchableBy: [
"w3.org/ns/activitystreams#Publ"
],

フォロワー限定(private)
searchableBy: [
"fedibird.com/users/noellabo/fo"
],

リアクション限定(direct)
searchableBy: [
],

ですね。

公開はPublic、as:Publicという表現もあります
w3c.github.io/activitypub/#pub

おおー、ありがとうございます。
文書は現時点では無い旨了解しました。
また、Directの場合、項目「seachableBy」には検索を許可するアカウントの情報は含まれないため、to・ccに含まれるアカウントに対してのみ検索を許可すると認識しましたが、相違等ありますでしょうか?(読み違えていた場合申し訳ないのですが、Privateの場合もto・ccに含まれるアカウントは検索可能でしょうか?)

@mitarashi_dango うまく表現できてないのですが、要はDirectはMastodonのデフォルト動作をさせようというものです。さて、どうドキュメントするか。あとDirectって表現するのよくないな……。

searchableByが空というのは、追加で許可する対象がないということです。

Mastdonではメンションした人が検索許可対象になるので、Toに含まれるアクターは結果的に検索許可が得られることになりますが、アクターのinboxに直接Postした場合もToになにもなくても暗黙のメンション扱いになり検索許可になります。

一度ToやCcはMastodon式に解釈してから適用した方がいいかもしれません。

あー、なるほどです...
少々複雑そうだったのでいったん表形式にしてみましたが、現状だとこのような感じでしょうか?

フォロー

@mitarashi_dango えっと、検索範囲がFollowersで、ToまたはCcにアクターが含まれる場合、検索可です。

どの検索範囲でも、メンションされていれば検索可になります。公開範囲関連の解釈では、メンションが一番強い(優先)です。

あと、これは受け取る側での解釈になりますが、visibilityがpublicじゃない場合、searchableByがpublicに指定されていても、visibilityに従って狭めるように実装してください。

Fedibirdの場合は投げる側でその組みあわせにならないようにしていますが、visibility: unlisted, searchableBy: public という組みあわせで投げてきちゃう実装があるかもしれません。

余談ですが、To, Ccに指定がなく、sharedじゃない個別inboxに届く投稿がvisibility: limitedになります。Fedibirdではサークルがこれです。

ありがとうございます。
あくまでTo・Ccで明示されている内容が前提で、seachableByはそこから更にTo・Ccに直接指定されていないアクター(非メンション対象のフォロワー含む)に対して検索範囲を絞るためのもの、として認識しました。

いったん以下に文章として書き出してみましたので、もしよろしければお手すきの際にご確認頂けますと幸いです。
https://gist.github.com/MitarashiDango/a1ceed23d27d59e3b93fb32970549c05

また、Limitedの件について了解いたしました。(当該公開範囲についても今後実装を予定しているため、非常に参考になります...)

@mitarashi_dango えっと、最後のとこ、visibility: Unlistedには、searchableBy: publicはNGで、followersに格下げされます。

それ以外はバッチリまとまっていると思います!

早速ご確認頂きありがとうございます。
Unlistedの件、了解いたしました。(Publicな投稿と違って公開TLに出てこないので、全文検索時にはFollowersに寄せるイメージと捉えました)
また、Unlistedの件を踏まえて、条件の部分を一部修正してあります。(Followersと同じ内容となっています。)

いったんこの内容で実装を進めようと思います。

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。