سألقي نظرة على دعم Pixelfed الصريح بعد أن ألقي نظرة (مرة أخرى) على Lemmy و Wordpress
بينما يجب أن تكون جميع منصات ActivityPub قابلة للتشغيل المتبادل من حيث المبدأ، إلا أنها تتطلب دائمًا بعض التعديلات لجعل كل تكامل صحيحًا. خاصة وأننا نستخدم المواضيع ومعظم التطبيقات الأخرى هي مجرد تدفقات للمنشورات.
لقد كنت أحاول تشغيل هذا بشكل صحيح، منذ أن نشرت في أغسطس وأعتقد أن مشكلتي قد تكون أبسط مما كنت أعتقد في البداية.
قد أكون محظورًا من متابعة الفاعل على مثيل Mastodon.
في ذلك الوقت، قمت بإعادة تثبيت Discourse، والمكون الإضافي، ونقلت الموقع إلى خادم مختلف، ثم اليوم، قمت بتغيير اسم النطاق معتقدًا أنه قد يكون السبب.
كنت قادرًا على المتابعة من حساب mastodon.social وحساب من مثيل Sharkey، وكلاهما عمل بشكل جيد.
لا أعتقد أن المثيل محظور على الخادم (مرة أخرى، لقد غيرت مزودي الخادم وغيرت أسماء النطاقات)، ولكنني أود الحصول على رأي ثانٍ.
[Discourse Activity Pub] طلب GET إلى https://mastodon.ie/users/padraig فشل: Expected([200, 201, 202, 301, 302, 307, 308]) <=> Actual(401 Unauthorized)
[Discourse Activity Pub] فشل في معالجة https://mastodon.ie/users/padraig: تعذر حل الفاعل
[Discourse Activity Pub] فشل في معالجة https://mastodon.ie/b35f6088-19b9-472d-a277-e0310fed585f: تعذر إنشاء الفاعل
[Discourse Activity Pub] DiscourseActivityPub::AP::Handlers::Warning
إذا كنت بحاجة إلى تتبع المكدس و/أو البيئة، فيرجى إخباري
لدي العديد من منتديات Discourse متصلة باستخدام المكون الإضافي ActivityPub. إذا قمت بتثبيت Discourse AI على أحد هذه المنتديات، فهل يمكن لروبوت الذكاء الاصطناعي الوصول إلى المحتوى واستخدامه من المثيلات الموحدة الأخرى للإجابة على الأسئلة في واجهة الدردشة الخاصة به؟
@Crakila يرجى مراجعة الخطوات والمناقشة في هذا الموضوع، وتابع هناك إذا لم تعالج هذه الاقتراحات مشكلتك:
إذا تم فيدرالية المحتوى إلى مثيل، فيمكن لروبوت الذكاء الاصطناعي الموجود على هذا المثيل استخدام هذا المحتوى. كل المحتوى “البعيد” الموجود على مثيل له نفس حالة المحتوى “المحلي” لأغراض الوظائف الأخرى.
`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 لا يعرف كيفية التعامل مع هذا الموقف؟
كل شيء يبدو أنه يعمل بشكل طبيعي، على الرغم من ذلك.
مستخدمو Discourse هم بالفعل ممثلون لـ ActivityPub. أنت فقط لا يمكنك متابعتهم. تم بناء المكون الإضافي للسماح بهذا الاحتمال. السؤال هو ما إذا كان ذلك حكيمًا.
لا يعجبني. إنه يغير الفكرة الأساسية للمنتديات نحو مثيل Mastodon خالص، ولهذا لدينا بالفعل خيار، Mastodon. لا يزال هناك فرق كبير بين متابعة المواضيع ومتابعة الأشخاص.
مشاركة المحتوى عبر ActivityPub شيء مختلف تمامًا.
سيؤدي ذلك إلى تدمير منتداي على الأقل على الفور. حتى الآن، المشاركات عبر ActivityPub تمثل رفضًا كبيرًا لبعض مستخدمي. وسيؤدي الوضع الذي يستخدم فيه بعض المستخدمين Mastodon بالكامل عبر Discourse، وفي نفس الوقت لا يستخدمه آخرون، إلى صراع هائل.
قد يقول البعض أن هذا هو العيش اليومي في عالم Mastodon، لأنه حتى لو شارك المرء في سلسلة محادثات، فإن المحادثة بأكملها ليست مرئية، إلا عند زيارة الأصلية عبر المتصفح. ولكن لا يزال - لا.
أخطط لإعداد منصة بث مباشر مستضافة ذاتيًا واستخدام Discourse كبرنامج للمنتدى، مع دمج دردشة Discourse المباشرة في البث المباشر.
لقد اكتشفت مؤخرًا برامج fediverse، واعتقدت أن Peertube ستكون رائعة لتحميل محتوى VOD، مما قد يزيد من قابلية اكتشاف منصتي حيث يمكن للناس رؤية مقاطع الفيديو من Mastodon ثم اكتشاف بقية موقعي من هناك.
هل يمكنني استخدام هذا المكون الإضافي للسماح للأشخاص باستخدام حساب AP الخاص بهم لتسجيل الدخول إلى مثيل Discourse الخاص بي، مثلما تفعل العديد من المواقع مع تسجيل الدخول عبر Google/Facebook؟
هل تعتقد أنه يمكن الإجابة على سؤال ما إذا كان ذلك حكيمًا بشكل عام، مع الأخذ في الاعتبار جميع حالات استخدام Discourse الممكنة؟
في حالتي، ما زلت أبحث عن طرق لاستخدام fediverse بشكل منتج. أفضّل التفكير علنًا باستخدام Discourse كمساحة رقمية خاصة بي. حاليًا، الطريقة الوحيدة التي أراها للحصول على تغذية عامة لأفكاري هي امتلاك حساب على مثيل Mastodon، ومتابعة جميع فئات حديقتي الخاصة، وتعزيز كل رسالة أنشرها عبر هذا الحساب.
أود تجربة استخدام Discourse كصلة رئيسية لي مع fediverse.