@noellabo @circledev おおそうなのですねw ありがとうございます。
@yamako サークル、現状ちょっと使いにくいです。対応サーバが実質Fedibirdしかありませんw
詳しくは @circledev の投稿を漁ってみてください。
@circledev これまでの成果を本家にPRしてきました(随時やってます)
https://github.com/tootsuite/mastodon/pull/14384#issuecomment-687586597
サークルのアイコンを変更したことと、返信の際に公開範囲やサークルの宛先を変更できるようにしたこと、サークルメンバーの確認方法をメニューに移動したぐらいかな。
@circledev 相互にフォローしているメンバー同士であれば、気軽にメンバー指定して話を始められるので便利かと思います。
ただし、メンバー指定された人は、誰が参加しているかわからないので、そういう用途で使う場合は最初に宣言しちゃうと良いです。
サークルのメンバーをあとから増やしたり減らしたりしても、既存の投稿を見られるメンバーは替わりません。
ある程度、発信する人と、受け取って読むだけの人に分かれている場合に便利です。
対等にやりとりしたい場合は、グループの方が適しています。
たぶん向いているのは、飲み会の幹事からの連絡とか、支援者向け投稿のような特別コンテンツ配信チャンネルとか、特定メンバーでちょっと秘密の打ち合わせをしたいときとかかな。
@circledev 新しい方のサークル機能、動くようになってます。
Fedibirdの他、実験用のサーバ(時期が来たら爆破します)も用意しておいたので、適当に試してみてください。
https://circle-dev.fedibird.com/
1. 新規のサークルを作って、自分のフォロワーを追加します
2. 公開範囲をサークルにして、作ったサークルを選択して投稿します
3. サークルの投稿に返信すると、サークルのみんなに投稿が配送されます
*メンションなしで届きます
* サークルの投稿は、サークルのメンバーに指定された人だけがみられます
* サークルのメンバーを知ることができるのは、メンバーリストを作成した最初の投稿者だけです
* サークルの投稿はホームに表示されます
* 返信は、サークルメンバーのうち自分をフォローしている人のホームに表示されます
* 返信がホームに表示されなくても、サークルの最初の投稿を詳細表示すると、そこに繋がって表示されます
* サークル機能に対応していないMastodonや他のFediverseサーバは、サークルの投稿をみることができません
@circledev そういえば肝心なことを言うの忘れてたけど #fedibird は最新の実装に切り替えて、UIも更新したんだけど、まだバグがあって相手に届かなかったり、互換性のあるサーバ同時じゃないと話せないので、すっかり機能しなくなっています!(だめじゃん)
昔たった一人だけのサークルを作って、そこに投稿したポストをリプライ(コメント)のメンションだけで、公開範囲を広げていった遊びをしたことがありますw
@nacika @circledev なるほど。
現在の方向性としては、投稿を見ることが出来る人はトークンを持っている=サークルのメンバーっていう扱いになっているから、メンションを禁じる可能性もあるね。
これ、本当に試行錯誤している感じで、まだどうなるかわかりません。
UIは私が勝手に提案していますが、そちらの検討もこれからです。
Google+では、サークル外の人にメンションを飛ばした場合は、その投稿だけみえるようになってた。
@circledev このモデルが採用されると、サークル機能と互換性のない実装では、サークルの投稿アクティビティを受け取っても内容を取得することができなくなります。
これまでは未対応でもフォロワーのみ(従来のMastodon)・ダイレクト(Pleroma)として認識されていました。
もう一つは、宛先として、ActorやPublicの他に、/contexts/xxxxという表現を追加したことです。contextはActorのサブセット的なもので、idとinboxとtypeだけを公開するtype: Groupのオブジェクトです。
内部的には最初のサークル投稿に紐付いていて、このcontextのinboxにリプライを配送することで、contextのメンバーに転送されるという動作をします。
リプライでは、Noteのtoに指定するだけでなく、contextにも同じIDをそえます。メンバーに転送するNoteの条件として、このcontextをチェックします。
bearcapsについては、こちらに仕様がありますので参照してください。
https://github.com/cwebber/rwot9-prague/blob/bearcaps/topics-and-advance-readings/bearcaps.md
@circledev ひとつは、bearcapsという仕組みの導入です。
Mastodonの投稿には公開範囲が設定出来ます。
投稿は固有のURLを持っていてHTTPによって参照できます。
この時、誰がアクセスしてきているのか確認する方法がなければ、公開範囲という機能が実現できません。
そこで、署名付きのHTTPリクエストを行うことで、誰がアクセスしてきているのか、そのアカウントは本物なのか、確認する仕組みが使われています。
サークルでは、参加できるメンバーを確認する、これとは別の仕組みを導入することになりました。
サークルの投稿では、Createアクティビティで投稿本体を配送する代わりに、BearerトークンとURIをセットにしたBearcap URIsをObjectに持たせて配送します。
bear:?u=https://fedibird.com/@noellabo/104787881912364707&t=xxxxxx
bearcapsを受け取ったユーザーのサーバは、指定のURIに投稿本体を取得しにいく際に、このBearerトークンを添えてリクエストします(Authorization: Bearer xxxxxx というヘッダを付ける)
@circledev サークル機能は、新しい仕組みの導入に踏み切って、次の段階に入っています。
サークルは、最初の投稿者が、自分自身で作成したサークル(フォロワーの中から選んだメンバーリスト)に向けて投稿します。
このメンバーリストは、最初の投稿者以外は誰も知ることができません。
サークル投稿への返信は、サークルのメンバーに配送したいのですが、これは最初の投稿者(のサーバ)にしかできません。
そこで、サークルへの返信は、最初の投稿者のサーバに委譲する仕組みを導入することとなりました。
通常のリプライはリプライを行う投稿者のサーバから発信されますが、サークルへの返信では、これをスレッドの先頭の投稿のサーバへ預けて、そこからメンバーに配送する仕組みとなります。
これを実現するために、いくつかの拡張が行われています。
--
ここから先はちょっと難しい話になります。一応、ざっと説明しますので興味のある方は読んでみて下さい。
新しい仕様で、試行錯誤している最中ですので、まだ、誰もわからなく大丈夫ですw
@circledev そろそろ、サークルの返信、新しい仕様で動くようになってきてるから、UIいじるかな。
@circledev よし、サークルの投稿がPawooに届くようになったぞい
@circledev サークル機能、本家で色々検討してくれています。返信の再配布と可視範囲が、より期待するものになれば、今より使いやすくなるかも……。
@circledev これマージするのよっぽどサークルを待望している人だけだと思うんだけど、使ってみないと良い面も悪い面もわからないと思うので、チャレンジしてみてください。
サークルに追加できるのはフォロワーだけなので、普段使いしているアカウントでないとあまり機能しないという難しさがあります。
Fedibirdにアカウントを作って試してもらうのが手軽なのですが、その状態だとフォロワーいないですよねw
@circledev サークルを自分のサーバで試してみたい人へ
サークル機能は、masterにEugenさんがAPIを追加するコードをプルリクエストしたものがあり、私がそこにUIと細かい挙動のコードを提案していますが、採用する方向に進むのか、先送りとなるか、一旦あきらめて違う形でやり直すのか、先行きはわかりません。
ついては、それでも実際に試してみたい方のために、複数のプルリクエストに分かれているコードをひとまとめにしたブランチを作成しておきました。
git fetch https://github.com/fedibird/mastodon.git feature-circles-fedibird
git cherry-pick 8ff16da^..dcf7a16
master相当のコードに対して、このブランチから5つのコミットをマージしてください。データベースに対する変更がありますのでdb:migrateも必要です。
@circledev Mastodonでサークルが検討された背景には、限定コンテンツの頒布手段として機能することを期待した面があると思われる。ファン限定、ベータテスター限定、有料会員限定、などなど。
サークルは受け手側からのフォローが必須。受け手がフォロー解除するとサークルのメンバーから消えるので、サークル投稿を受け取りたくないと感じたらフォロー解除することで止めることができる。フォローし直せば、サークルだけ解除できる。まぁフォロー通知が行くので相手にわかるし、またサークルに追加されるのを防ぐ方法はない。
一方通行の仕組みで、発信者と受信者の関係は基本的に固定。サークル返信機能はつけたが、対応サーバでしか使えないのでオマケ程度。会話に向いていない。グループ会話が主体なら、グループの方が良い。
サークル返信はむしろ、既に会話が進んだスレッドの参加者限定で何かを投げる時に使う方が便利だと思う。「みんなにだけこっそり見せてあげる」がやりやすい。スレッドを対象にしてもフォローされてないと届かないので「みられなかった人はごめんね」で済ます感じ。フォローを促すことになるかもしれない。
Mastodonのサークル機能についてあれこれ話すグループです。