@mitarashi_dango まだないです。
実際に取り得る値は、Toなどで使うのと同じ表現で、Public、自分のfollowersコレクション、空です。
公開(public)
searchableBy: [
"https://www.w3.org/ns/activitystreams#Public"
],
フォロワー限定(private)
searchableBy: [
"https://fedibird.com/users/noellabo/followers"
],
リアクション限定(direct)
searchableBy: [
],
ですね。
公開はPublic、as:Publicという表現もあります
https://w3c.github.io/activitypub/#public-addressing
@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ではサークルがこれです。
@noellabo@fedibird.com ありがとうございます。
あくまでTo・Ccで明示されている内容が前提で、seachableByはそこから更にTo・Ccに直接指定されていないアクター(非メンション対象のフォロワー含む)に対して検索範囲を絞るためのもの、として認識しました。
いったん以下に文章として書き出してみましたので、もしよろしければお手すきの際にご確認頂けますと幸いです。
https://gist.github.com/MitarashiDango/a1ceed23d27d59e3b93fb32970549c05
また、Limitedの件について了解いたしました。(当該公開範囲についても今後実装を予定しているため、非常に参考になります...)
@mitarashi_dango えっと、最後のとこ、visibility: Unlistedには、searchableBy: publicはNGで、followersに格下げされます。
それ以外はバッチリまとまっていると思います!
@noellabo@fedibird.com 早速ご確認頂きありがとうございます。
Unlistedの件、了解いたしました。(Publicな投稿と違って公開TLに出てこないので、全文検索時にはFollowersに寄せるイメージと捉えました)
また、Unlistedの件を踏まえて、条件の部分を一部修正してあります。(Followersと同じ内容となっています。)
いったんこの内容で実装を進めようと思います。
@noellabo@fedibird.com あー、なるほどです...
少々複雑そうだったのでいったん表形式にしてみましたが、現状だとこのような感じでしょうか?