ActivityPubプラグイン

はい、意図的に微妙な違いにしています。このトピック/投稿を読んでいるほとんどのユーザーは、「この投稿はコミュニティ外のユーザーから来ている」ことをすぐに知る必要はないという前提があります。管理者や機能を実装している人にとっては楽しい情報ですが、ほとんどの人はコンテンツに集中したいと考えています。そのため、投稿のActivityPubの技術的な側面については比較的静かにしています。

「いいね!」 2

それなら私のユーザーは異なるのです。彼らは確実に知りたがっていました。でもそれは文化的な違いの例であり、私たちフィンランド人が米国のコンテンツクリエイターによると、対人関係の行動にどれだけ近いかということです(だって私たちは米国規模の雑談を全くできませんからね😂)。

しかし、それをCSSを使って調整するのは比較的簡単だったので、デフォルトのままで問題ありません(そして現在は誰かが同じことに疑問を持ったときのために一つの解決策がここにあります)。

「いいね!」 2

MastodonからDiscourseの投稿に返信しましたが、Discourseに返信が表示されません。これはバグですか、それともまだ実装されていない機能ですか、あるいは実装が計画されていない機能ですか?

バグなのか、それとも他の何かでしょうか。トピックがMastodonに公開され、そこからコメントがあり、トピックに返信したところ、それもそこで見えたという議論がありました。

標準的な質問ですが、最新バージョンを使用していますか?

「いいね!」 1

はい、プラグインをクリーンインストールしましたが、動作させるためにこのフォーク(PR保留中)を使用する必要がありました。GitHub - kuba-orlik/discourse-activity-pub: Adds ActivityPub support to Discourse.

PR:Fix wrong inbox/outbox URLs by kuba-orlik · Pull Request #193 · discourse/discourse-activity-pub · GitHub

「いいね!」 2

こんにちは、モデレーションに関連しそうな質問に答えるのを手伝ってもらえますか?答えが見つからなかった質問です。

  • 投稿がフェデレーションされた後、ローカルの管理者によるモデレーション(編集、非表示、削除など)は可能ですか?
  • 元のインスタンスで投稿が編集された場合、それはフェデレーションされたインスタンスで更新されますか?
  • モデレーターがフラグオプションやメッセージ/チャットを使ってフェデレーションされたユーザーに連絡したい場合、可能ですか?それともこれらのリモート投稿者はローカルインスタンスの実際のユーザーではないのですか?
  • もし2つのインスタンスで同じユーザーネームとメールアドレスのアカウントを持っている場合、それらはそれぞれのインスタンスで別々のアカウントとみなされますよね?それらを「マージ」する方法はありませんか?
  1. はい
  2. はい(またはそうすべき)
  3. いいえ、しかし問題のあるアクターを削除することができます(Mastodonsでは他のユーザーが報告できますが、その後の対応は管理者次第です)
  4. DiscourseはActivityPubを通じてメールを一切見ません。その代わりに、icaria@…のような複数のアカウントが存在し、「ドメイン部分」やインスタンスの名前が変わることがありますが、これらすべてのアカウントは依然として同じ人の所有です。これらのアカウントをマージすることはできません。そうすると、実際にサーバーを禁止してトピックや投稿を防ぐことになるからです。
「いいね!」 1

承知いたしました。プラグインをインスタンスで有効にし、タグに接続されたアクターを作成し、最初の投稿をFediverseにフェデレートしました。非常にエキサイティングで、印象的です。

いくつか質問があります(欠けている機能の提案かもしれませんが、まだ何が利用可能か理解しようとしています)。

Discourseユーザーとしてフェデレートされたトピックを見た場合、Mastodonの対応するトゥート(メッセージ)へのリンクを取得して、そこで簡単にブーストする方法はありますか?トピックに追加された小さなログでは見つけられませんでした。

MastodonユーザーとしてDiscourseからのトゥートを見た場合、アクターのMastodonアカウントを見つけてフォローする簡単な方法はありますか?投稿者のアカウントは見えますが、アクターのアカウントは見えません。フォーラムへのリンクをたどっても、アクターを見つける方法を推測する方法は見つかりませんでした。

なぜプラグインはすべての返信をブーストするのですか?返信を単なる返信、典型的な「静かな公開」の返信にしないのですか?これらのブーストは、Mastodonでアクターをフォローしているユーザーにとって、多くの余分なノイズを生み出します。

Mastodonユーザーが新しい投稿(返信ではない)を開始し、アクターのアカウントまたはDiscourseユーザーのアカウントに言及した場合、何が起こると予想されますか?

最後に、これは正常に見えず、数時間で百件以上も発生しています。

Job exception: stack level too deep

activesupport-7.2.2.1/lib/active_support/core_ext/object/blank.rb:166:in `present?'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:57:in `base_object_id'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:58:in `base_object_id'

(スニップ、数十件)

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:58:in `base_object_id'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_process.rb:25:in `process_id'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_process.rb:8:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
sidekiq-7.3.9/lib/sidekiq/processor.rb:220:in `execute_job'
sidekiq-7.3.9/lib/sidekiq/processor.rb:185:in `block (4 levels) in process'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:180:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
sidekiq-7.3.9/lib/sidekiq/job/interrupt_handler.rb:9:in `call'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:26:in `track'
sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:134:in `call'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:173:in `invoke'
sidekiq-7.3.9/lib/sidekiq/processor.rb:184:in `block (3 levels) in process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:145:in `block (6 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_retry.rb:118:in `local'
sidekiq-7.3.9/lib/sidekiq/processor.rb:144:in `block (5 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/config.rb:39:in `block in <class:Config>'
sidekiq-7.3.9/lib/sidekiq/processor.rb:139:in `block (4 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/processor.rb:281:in `stats'
sidekiq-7.3.9/lib/sidekiq/processor.rb:134:in `block (3 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_logger.rb:15:in `call'
sidekiq-7.3.9/lib/sidekiq/processor.rb:133:in `block (2 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_retry.rb:85:in `global'
sidekiq-7.3.9/lib/sidekiq/processor.rb:132:in `block in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_logger.rb:40:in `prepare'
sidekiq-7.3.9/lib/sidekiq/processor.rb:131:in `dispatch'
sidekiq-7.3.9/lib/sidekiq/processor.rb:183:in `block (2 levels) in process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `handle_interrupt'
sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `block in process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `handle_interrupt'
sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:86:in `process_one'
sidekiq-7.3.9/lib/sidekiq/processor.rb:76:in `run'
sidekiq-7.3.9/lib/sidekiq/component.rb:10:in `watchdog'
sidekiq-7.3.9/lib/sidekiq/component.rb:19:in `block in safe_thread'

そのスクリーンショットの「Note」ラベルをクリックすると、Discourse上のNoteオブジェクトへのリンクが得られますが、それがお望みのものかどうかはわかりません。どのようなことを期待しているのか、もう少し詳しく説明していただけますか? どのようなことをしたいのか、ユーザー ストーリーを共有していただけると助かります。

Discourseユーザーのことですか? 現在、Discourseユーザーをフォローすることはできません。

ここで何を期待しているのか、もう少し詳しく説明していただけますか? ユーザー ストーリーがあれば、なお良いです。

これは、これがマージされたときに修正されるはずです。

「いいね!」 1

そうですか?それとも、以前の「Job exception: stack level too deep」の質問と基本的に同じですか?

「いいね!」 1

Indeed! 前回のレポートを見逃していました。PRはまもなく公開されます。

「いいね!」 1

ありますよ、抱えきれないほど😂

ありがとうございます。

「いいね!」 1

はい!

Mastodon アカウントも持っている Discourse ユーザーとして、Discourse で新しいフェデレーションされたトピックが表示された場合、それを Mastodon アカウントから簡単にブースト(再共有)できるようにしたい。そうすれば、私の Mastodon のフォロワー全員がそれについて知り、Mastodon アカウントから返信してくれるかもしれない。これにより、Discourse のトピックに多くのフェデレーションされたフィードバックがもたらされる(そして、フォーラムのことを知らなかった何人かが結果として Discourse に参加するかもしれない!)

これを実現するには、ユーザーは Mastodon クライアントの検索ボックスに貼り付けることができる URL を簡単に見つける必要がある。この URL は、Discourse の投稿に対応するフェデレーションされたトゥート(メッセージ)を提供するものだ。

Discourse のインターフェースでは、この URL を見つけることができない。Discourse からフェデレーションされた投稿をブーストする唯一の簡単な方法は、すでにアクティブをフォローしており、投稿が Mastodon のタイムラインに表示されている場合だ。これは、すでにアクティブをフォローしているユーザーには良いが、まだアクティブをフォローしていない Discourse ユーザーには当てはまらない。

問題を説明でき、混乱を招かなかったことを願っている :wink: 現在の動作をよりよく理解した後、継続的なブーストに関するユーザー ストーリーを後で投稿する。

「いいね!」 1

もし私が正しく理解していれば、その方法ではMastodonからほとんど何も見つけることができません。

私にとって、この種の課題は会話そのものです。すべてが再ブーストであるため、トピック全体を把握するには最初の投稿を見つける必要があります。なぜなら、再ブーストのコメントはフォロワーに表示されないからです。そのため、会話は消えてしまいます。

そして、Discourseからのコメントを再ブーストすると、「ユーザーアクター」によって表示され、フォローできません。

それと、(ハッシュ)タグの欠如は、少なくとも私にとっては、現在の主な疑問点です。

「いいね!」 1

リンクは見つかりました…返信にはありますが、トップ投稿にはありません。

返信では、右上にある連盟のアイコンで、「22時間前」の隣にあります。このスクリーンショットをご覧ください。

それをクリックすると、このダイアログが表示されます。

これは、Mastodonへの返信を指しています: icaria36 🎶: "@icaria36@the.socialmusic.network This is a test …" - SoNoMu

トップ投稿の同等のアイコンとリンクが見つかりません。おそらく明白な場所にあるのでしょうが、見つけられません。:nerd_face:

編集:
ああ、待ってください、そのリンクはMastodonからの投稿にのみ表示され、Discourseネイティブの投稿には表示されません。私は、この小さなアイコンを区別するために、青と緑のバージョンがあることに気づきました。青と緑は、このような小さなアイコンを区別するには良い色の組み合わせではありません。私のデスクトップモニターはかなりまともで、色覚異常ではありませんが、これらのアイコンを詳細に見るまで、違いに気づきませんでした。

私にとって、大きな問題の一つは…

Mastodonユーザーとして、連合されたDiscourse投稿に返信する際、誰かが私の投稿に返信したり、Discourseで私に言及したりした場合にMastodonの通知を受け取りたい。

現在、Mastodonユーザーの投稿に対するDiscourseユーザーからの返信は、Mastodonユーザーが見逃してしまう可能性が非常に高いです。なぜなら、返信されたり言及されたりしても、通知が表示されないからです。これは、Mastodonでの実際の会話を、すでに困難な状況からさらに難しくしています。なぜなら、誰かがあなたのコメントに返信したことさえ知らないからです。これも、何か見落としていることがない限り、ですが。

しかし、これらはすべて改善のためのフィードバックとして受け取ってください。このプラグインはすでに素晴らしいもので、私たちはそれを使い続け、問題の報告や新機能のテストに協力していきたいと思っています。@angus 様とチームの皆様、本当にありがとうございます!

「いいね!」 1

「公開」と「配信」の違いは何ですか?これは「トピック管理」のスクリーンショットです。トピックはすでに公開されていますが、投稿があります…配信されていませんか?投稿はすでにMastodonで正しくフェデレーションされていますが、管理者が「投稿 #1 を配信」をクリックするとどうなるのか疑問に思っています。

投稿と配信は、ActivityPubカテゴリまたはタグ(関連設定あり)に投稿すると自動的に行われます。両者の違いと、これらの管理者コントロールは、柔軟性と特定のユースケースのために存在します。

公開 = 投稿はFediverseで利用可能になります。
配信 = 投稿は関連するアクターのフォロワーに配信されます。

このアクションにより、すでに配信されている場合でも、いつでも同じ投稿を配信できます。これにはさまざまなユースケースがあります。たとえば、次のとおりです。

  1. トピック内のすべての投稿をフォロワーに配信せずに(スパムにしたくなかったため)最初にトピックを公開しました。その後、個々の投稿を配信できます。

  2. 投稿が、新しいフォロワーがあなたの役者(アクター)をフォローする前に公開されました。同じ投稿を再度配信できます。

そのトピックの「トピック情報」をクリックすると、投稿がすでにMastodonでフェデレーションされている場合、その投稿がすでに配信されていることがわかります。

「いいね!」 2

さて、これで実際のユーザーからの、問題を非常によく説明している ユーザー ストーリーができました。

特定の連合投稿をFediで共有したいのですが、どうすればよいか誰か知っていますか?試したのは以下の通りです。

  • @fediverse@the.socialmusic.network のプロフィールを見る - 投稿は表示されない
  • 自分のsocialmusicプロフィールを見る - 投稿は表示されない
  • Discourseフォーラムで「共有」ボタンを探す:URLはMasto検索で認識されない
「いいね!」 2

このプラグイン、とてもエキサイティングですね!フォーラムでFederationを試すのを楽しんでいます。

いくつか質問があります。もし以前に検討されたことがあれば申し訳ありません(フォーラムで検索しましたが、何も見つかりませんでした)。

  • Mastodonなどの側では、プライベート投稿、フォロー限定投稿、非公開投稿はどのように扱われますか?
  • プライバシーを重視するユーザー、例えばGotosocialを実行しているユーザーが、自分の連合された返信はどのように扱われますか?

特に同意の問題について考えています。投稿が公開フォーラムで検索されることを望まない人がいる場合。彼らは、返信しているトピックがDiscourseで公開されていることに気づかないかもしれません。Discourseユーザーの投稿は明確にマークされていますが、同じスレッドでAPユーザーに返信する場合、それが元々Discourseのトピックであることを知らない可能性があります。

「いいね!」 3