ActivityPubプラグイン

Pixelfedの明示的なサポートは、LemmyとWordpressを(再度)確認した後に検討します :+1:

すべてのActivityPubプラットフォームは、理論上は相互運用可能であるべきですが、各統合を正しく機能させるためには、ほとんどの場合、多少の調整が必要です。特に、トピックを使用しており、他のほとんどの実装は単なる投稿のストリームであるためです。

「いいね!」 1

WordPress? Autommatic による独自のソリューションがあります。ただし、その友達関連の機能は少し奇妙です。それとも、ユーザープロフィール機能のことですか?

「いいね!」 1

よくできました。ありがとうございます!

8月からこれを正常に動作させようとしていますが、以前にも投稿したように、最初に考えていたよりも問題は単純なことかもしれません。

Mastodonインスタンスでアクティビティをフォローすることをブロックされている可能性があります。

その間、Discourse、プラグインを再インストールし、サイトを別のサーバーに移動し、今日、ドメイン名を変更しました。それが原因かもしれないと思ったからです。

mastodon.socialアカウントとSharkeyインスタンスのアカウントからフォローできましたが、どちらも正常に機能しました。

サーバーでインスタンスがブロックされているとは思いませんが(再び、サーバープロバイダーを変更し、ドメイン名を変更しました)、セカンドオピニオンを得たいと思います。

[Discourse Activity Pub] GET request to https://mastodon.ie/users/padraig failed: Expected([200, 201, 202, 301, 302, 307, 308]) <=> Actual(401 Unauthorized)
[Discourse Activity Pub] Failed to process https://mastodon.ie/users/padraig: Could not resolve actor
[Discourse Activity Pub] Failed to process https://mastodon.ie/b35f6088-19b9-472d-a277-e0310fed585f: Could not create actor
[Discourse Activity Pub] DiscourseActivityPub::AP::Handlers::Warning

バックトレースや環境情報が必要な場合は、お知らせください :slight_smile:

mastodon.ie はここで許可されていますか activity pub allowed request origins? また、activity pub require signed requests を有効または無効にする必要がある場合もあります。

無効にしており、以下のオプションにエントリはありません(つまり、誰でも @general@gamersandgeeks.net をフォローできるはずですよね?):

皆さん、こんにちは。

ActivityPubプラグインを使用して、複数のDiscourseフォーラムを接続しています。これらのフォーラムのいずれかにDiscourse AIをインストールした場合、AIボットは他のフェデレーションインスタンスからコンテンツにアクセスして利用し、チャットインターフェイスでの質問に回答できますか?

よろしくお願いします!

@Crakila このトピックの手順とディスカッションを確認し、それらの提案で問題が解決しない場合は、そちらでフォローアップしてください。

コンテンツがインスタンスにフェデレーションされている場合、そのインスタンスの AI ボットはそのコンテンツを使用できます。「リモート」コンテンツは、他の機能の目的においては、「ローカル」コンテンツと同じステータスを持ちます。

「いいね!」 1

ちょっと気になったのですが…舞台裏で何か質問はありますか?

ありがとうございます。素敵な地球儀が見えます🥰

「いいね!」 2

これは何ですか :thinking:

`skip_email_validation=' for an instance of Category
Message (46 copies reported)

Job exception: undefined method `skip_email_validation=' for an instance of Category

Backtrace

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activemodel-7.2.2.1/lib/active_model/attribute_methods.rb:512:in `method_missing'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/attribute_methods.rb:491:in `method_missing'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/actor_handler.rb:150:in `update_user'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/actor_handler.rb:47:in `block in update_or_create_user'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:359:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:234:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:415:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:233:in `transaction'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/actor_handler.rb:45:in `update_or_create_user'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/actor_handler.rb:82:in `update_or_create_user'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:782:in `block (2 levels) in activate!'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:76:in `block in apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:74:in `all?'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:74:in `apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:873:in `block (2 levels) in activate!'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:76:in `block in apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:74:in `all?'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:74:in `apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:24:in `apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:64:in `perform_activity'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:38:in `block in perform_transactions'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:616:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:613:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:361:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:234:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:233:in `transaction'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:34:in `perform_transactions'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity/announce.rb:26:in `process'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_process.rb:12:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/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'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'

これは私のプロフィールですが、インスタンスまたはカテゴリでメール検証を行っていないため、ActivityPub がその状況を処理できないということでしょうか?

しかし、すべて正常に機能しているように見えます。

「いいね!」 1

Discourseユーザーをアクティブなアクターにもする計画はありますか?

ActivityPubをオープンに機能するプロトコルとして見ると、Discourseを自分の考えをフォロー可能な場所として使用するための欠けているステップのように思えます。

Discourse を本格的なインスタンスとして機能させることについて?技術的に可能かどうかは別として、それには長所と短所があります。

ご報告ありがとうございます。実質的な影響はないはずです。近日中に対応します。

「いいね!」 1

Discourse ユーザーはすでに ActivityPub アクターです。フォローできないだけです。このプラグインは、その可能性を可能にするように構築されています。問題は、それが賢明かどうかということです。

「いいね!」 2

私はそれが好きではありません。それはフォーラムの根本的な考え方を純粋なMastodonインスタンスに変えてしまいます。そして、そのためにすでに選択肢があります。Mastodonです。トピックをフォローすることと人をフォローすることの間には、まだ大きな違いがあります。

ActivityPubを介したコンテンツの共有は、まったく別のことです。

それは少なくとも私のフォーラムをすぐに殺してしまうでしょう。現在でさえ、ActivityPubの共有は一部のユーザーにとって大きな問題です。そして、一部のユーザーがDiscourseを通じてMastodonをフルに利用し、同時に一部のユーザーがそうしないという状況は、巨大な対立を生み出すでしょう。

Mastodonの世界では、たとえスレッドに参加していても、ブラウザで元のスレッドにアクセスしない限り、会話全体が見えないため、それは日常的なことだと言う人もいるかもしれません。しかし、それでも—いいえ。

「いいね!」 3

自己ホスト型のライブストリーミングプラットフォームをセットアップし、フォーラムソフトウェアとしてDiscourseを使用し、Discourseのライブチャットをライブストリームに統合することを計画しています。

最近Fediverseのソフトウェアを発見し、VODコンテンツのアップロードにはPeertubeが最適だと考えました。これにより、Mastodonから動画を視聴できるようになり、プラットフォームの発見可能性が高まり、そこからサイトの他の部分を発見できるようになります。

このプラグインを使用して、多くのサイトがGoogle/Facebookサインインを提供しているように、APアカウントでDiscourseインスタンスにログインできるようにすることはできますか?

このプラグインもチェックしてみてください。

「いいね!」 1

Discourse のあらゆるユースケースを考慮して、それが賢明かどうかという問いに一般的に答えることができると思いますか?

私の場合は、Fediverse を生産的に使用する方法をまだ探しています。デジタルガーデンとして Discourse インスタンスを使用して、公開で思考を巡らせたいと考えています。現在、私の思考の公開フィードを持つ唯一の方法は、Mastodon インスタンスにアカウントを作成し、プライベートガーデンのすべてのカテゴリをフォローし、このアカウント経由で投稿するすべてのメッセージをブーストすることです。

Discourse を Fediverse への主な接続として使用することを実験したいと考えています。

「いいね!」 2