مكون إضافي ActivityPub

حسنًا، هل يمكنك ربطي بمثال لمنشور يحتوي على علامات ملاحظات تم تجاهلها؟ وأيضًا الملاحظة على ماستودون أو ما شابه.

إذا كان بإمكانك الإشارة إلى مكان تطبيق علامات الملاحظات في المنشور عند إنشائه لأول مرة (حيث لن يكون لدي وصول إلى عرض التعديل / السجل).

إذا كان بإمكانك أيضًا مشاركة الحد الأقصى لعدد أحرف الملاحظات المحدد حاليًا في إعدادات موقع ActivityPub.

شكرًا!

لقد أجريت بعض الاختبارات الإضافية وما لم أتوقعه هو أنه لا يجب استخدام الأسطر الجديدة أو فواصل الأسطر بين علامات [note][/note] حتى يتم أخذها في الاعتبار

إنه يعمل بشكل أفضل بمجرد إزالتها، لكن الرسالة الإجمالية لا تبدو جيدة … أفترض أنه لا توجد طريقة لتضمينها؟

شكراً على التحديث. هل يمكنك مشاركة:

  1. مثال على ما يعمل حاليًا لديك.
  2. مثال على ما تتوقع أن يعمل.
  3. في الوضع المثالي، رابط لإصدار مباشر من 1.

سيساعدني ذلك في اختبار المشكلة المحددة التي تشير إليها والتحقق منها. الأمثلة مفيدة دائمًا لضمان أننا على نفس الصفحة.

يمكنك أن ترى أن TicketZon: concerti e mostre nel fediverso - Progetti - forum.linux.it تم الإبلاغ عنه كمشارك ولكنه ليس كذلك.
الحساب موجود على mastodon وفي السجل لدي شيء لك أخيرًا:

[Discourse Activity Pub] https://forum.linux.it/ap/actor/fc1e23a5fc2214ab70c6c0aa1061a4f0 فشل في جدولة https://forum.linux.it/ap/activity/229b771ac7e5943928795da1122d847d للتسليم: لا يوجد مستلمون

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:93:in `log_failure'

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:35:in `can_deliver?'

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:13:in `perform'

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:27:in `perform'

/var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:140:in `activity_pub_deliver_activity'

/var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:38:in `perform_activity_pub_activity'

/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:680:in `block (2 levels) in activate!'

/var/www/discourse/lib/plugin/instance.rb:545:in `block in on'

/var/www/discourse/lib/discourse_event.rb:12:in `block in trigger'

/usr/local/lib/ruby/3.2.0/set.rb:511:in `each_key'
/usr/local/lib/ruby/3.2.0/set.rb:511:in `each'
/var/www/discourse/lib/discourse_event.rb:12:in `trigger'

/var/www/discourse/lib/post_destroyer.rb:115:in `recover'

/var/www/discourse/app/controllers/topics_controller.rb:689:in `recover'

actionpack-7.0.8.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

actionpack-7.0.8.1/lib/abstract_controller/base.rb:215:in `process_action'

actionpack-7.0.8.1/lib/action_controller/metal/rendering.rb:165:in `process_action'

actionpack-7.0.8.1/lib/abstract_controller/callbacks.rb:234:in `block in process_action'

activesupport-7.0.8.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'

/var/www/discourse/app/controllers/application_controller.rb:423:in `block in with_resolved_locale'

i18n-1.14.4/lib/i18n.rb:322:in `with_locale'

/var/www/discourse/app/controllers/application_controller.rb:423:in `with_resolved_locale'

activesupport-7.0.8.1/lib/active_support/callbacks.rb:127:in `block in run_callbacks'

activesupport-7.0.8.1/lib/active_support/callbacks.rb:138:in `run_callbacks'

actionpack-7.0.8.1/lib/abstract_controller/callbacks.rb:233:in `process_action'

actionpack-7.0.8.1/lib/action_controller/metal/rescue.rb:23:in `process_action'

actionpack-7.0.8.1/lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'

activesupport-7.0.8.1/lib/active_support/notifications.rb:206:in `block in instrument'

activesupport-7.0.8.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'

activesupport-7.0.8.1/lib/active_support/notifications.rb:206:in `instrument'

actionpack-7.0.8.1/lib/action_controller/metal/instrumentation.rb:66:in `process_action'

actionpack-7.0.8.1/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'

activerecord-7.0.8.1/lib/active_record/railties/controller_runtime.rb:27:in `process_action'

actionpack-7.0.8.1/lib/abstract_controller/base.rb:151:in `process'

actionview-7.0.8.1/lib/action_view/rendering.rb:39:in `process'

rack-mini-profiler-3.3.1/lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'

actionpack-7.0.8.1/lib/action_controller/metal.rb:188:in `dispatch'

actionpack-7.0.8.1/lib/action_controller/metal.rb:251:in `dispatch'

actionpack-7.0.8.1/lib/action_dispatch/routing/route_set.rb:49:in `dispatch'

actionpack-7.0.8.1/lib/action_dispatch/routing/route_set.rb:32:in `serve'

actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:50:in `block in serve'

actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:32:in `each'

actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:32:in `serve'

actionpack-7.0.8.1/lib/action_dispatch/routing/route_set.rb:852:in `call'

/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:64:in `call'

rack-2.2.8.1/lib/rack/tempfile_reaper.rb:15:in `call'

rack-2.2.8.1/lib/rack/conditional_get.rb:40:in `call'

rack-2.2.8.1/lib/rack/head.rb:12:in `call'

actionpack-7.0.8.1/lib/action_dispatch/http/permissions_policy.rb:38:in `call'

/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'

/var/www/discourse/lib/middleware/anonymous_cache.rb:393:in `call'

/var/www/discourse/lib/middleware/csp_script_nonce_injector.rb:12:in `call'

/var/www/discourse/config/initializers/008-rack-cors.rb:14:in `call'

rack-2.2.8.1/lib/rack/session/abstract/id.rb:266:in `context'

rack-2.2.8.1/lib/rack/session/abstract/id.rb:260:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/cookies.rb:704:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'

activesupport-7.0.8.1/lib/active_support/callbacks.rb:99:in `run_callbacks'

actionpack-7.0.8.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/show_exceptions.rb:29:in `call'

logster-2.19.1/lib/logster/middleware/reporter.rb:40:in `call'

railties-7.0.8.1/lib/rails/rack/logger.rb:40:in `call_app'

railties-7.0.8.1/lib/rails/rack/logger.rb:27:in `call'

/var/www/discourse/config/initializers/100-quiet_logger.rb:20:in `call'

/var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/remote_ip.rb:93:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/request_id.rb:26:in `call'

/var/www/discourse/lib/middleware/enforce_hostname.rb:24:in `call'

rack-2.2.8.1/lib/rack/method_override.rb:24:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/executor.rb:14:in `call'

rack-2.2.8.1/lib/rack/sendfile.rb:110:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/host_authorization.rb:131:in `call'

rack-mini-profiler-3.3.1/lib/mini_profiler.rb:191:in `call'

message_bus-4.3.8/lib/message_bus/rack/middleware.rb:60:in `call'

/var/www/discourse/lib/middleware/request_tracker.rb:236:in `call'

railties-7.0.8.1/lib/rails/engine.rb:530:in `call'

railties-7.0.8.1/lib/rails/railtie.rb:226:in `public_send'

railties-7.0.8.1/lib/rails/railtie.rb:226:in `method_missing'

rack-2.2.8.1/lib/rack/urlmap.rb:74:in `block in call'

rack-2.2.8.1/lib/rack/urlmap.rb:58:in `each'

rack-2.2.8.1/lib/rack/urlmap.rb:58:in `call'

unicorn-6.1.0/lib/unicorn/http_server.rb:634:in `process_client'
unicorn-6.1.0/lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn-6.1.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn-6.1.0/lib/unicorn/http_server.rb:143:in `start'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>'

لقد أضفت دعمًا للكتل إلى علامات [note][/note] في طلب السحب هذا (يحتاج إلى مراجعة ودمج)

سيكون هذا دعمًا قياسيًا لـ Discourse markdown باتباع النهج الموضح هنا

لذلك هذا

[note]
السطر الأول

السطر الثاني
[/note]

السطر الثالث

سينتج عنه محتوى ملاحظة لـ

"السطر الأول\nالسطر الثاني"

بينما هذا

[note]السطر الأول

السطر الثاني[/note]

السطر الثالث

سينتج عنه محتوى ملاحظة لـ

السطر الأول\nالسطر الثاني\nالسطر الثالث

(أي أن علامات [note][/note] يتم تجاهلها وإزالتها)

هذا يعني أنه لا يوجد أحد يتابع ممثل الفئة، لذلك ليس لديه أحد لتسليمه إليه.

إعجابَين (2)

أمم، لنفس السبب، يجب أن تكون هناك علامة خضراء في المنشور تفيد بأنه تم نشره أم لا؟
الآن أنا أتابع جميع الفئات المختلفة على ماستودون وسأقوم بإجراء اختبار.

أؤكد أن هذا يعمل ويتطلب متابعة الحساب.

إعجاب واحد (1)

ربما ما تتوقعه هو أنه بدون أي متابعين، ستظل منشورات “الفاعل الفئوي” (Category Actor) تظهر كـ “تويتات” (toots) على تمثيل الفاعل على ماستودون؟ هذا سيتطلب من ماستودون تطبيق نسخة من استيراد صندوق الصادر (outbox importing)، أي:

لاحظ أن هذه الإضافة ستدعم استيراد صندوق الصادر قريبًا (تم بناء الوظيفة بالفعل وسيتم عرضها للمسؤولين في التحديثات القادمة). بعبارة أخرى، ستتمكن من ملء المحتوى القديم من فاعل بعيد.

3 إعجابات

يعمل لدي الآن، باستخدام Making sure you're not a bot!.

إعجاب واحد (1)

أتلقى أيضًا خطأ عدم إدراج الملاحظة بأكملها. ماذا أفعل بشكل خاطئ؟ هل أحتاج إلى وضع رمز @ في القسم الموضح أدناه؟

لست متأكدًا مما أفعله بشكل خاطئ هنا.

عذرًا، لا أفهم تمامًا. هل يمكنك التوضيح أكثر؟

لا يتم نشر أي شيء إلى ActivityPub.

هل يمكنك توضيح ما تتوقعه أن يحدث؟ على سبيل المثال

  1. أقوم بنشر على منتداي.
  2. أتوقع أن أرى…

حسنًا، لقد افترضت أنه عندما أنشر في الفئات التي قمت بتمكينها فيها للنشر على ActivityPub، فإنها لا تُنشر. إنها لا تُنشر على الإطلاق.

ماذا تقصد بـ “ActivityPub”؟ أين تتوقع رؤيتها؟ أنا آسف على الأسئلة. أريد أن أصل إلى جوهر المشكلة من منظور قابلية الاستخدام، لذا أحاول جعلك تشرحها بكلماتك الخاصة :slight_smile:

قد تكون لديك نفس المشكلة التي أبلغ عنها الآخرون، وهي عدم وجود متابعين لفئتك. لن يظهر المنشور في أي مكان إذا لم يكن أحد يتابعه لأنه لا يوجد مكان لإرساله إليه. أو بعبارة أخرى

يعتمد نشر ActivityPub على علاقات المتابعة ليعمل. سيظل ممثل فئتك يظهر على Mastodon (أو خدمات أخرى) دون أي متابعين، ولكن ضع في اعتبارك أن ما يظهره لك Mastodon هناك يعود إلى Mastodon.

إذا كان بإمكانك أن تشرح لي توقعاتك بشكل أكبر فسيكون ذلك مفيدًا حقًا! ربما إذا كان بإمكانك تقديم مثال لخدمة ActivityPub أخرى تشعر أنها تعمل فيها؟ شكرًا لك.

الرمز الصغير للعين عليه خط وعندما أنقر عليه يقول لم يتم نشره.

على الأرجح لأن لا أحد يتابع فئتك. إذا قمت بتشغيل إعداد الموقع activity_pub_verbose_logging ونظرت في سجلاتك، فمن المحتمل أن ترى رسالة تبدو كالتالي:

سأضع بالتأكيد “سببًا” في هذا النموذج لأن هذا الأمر قد ظهر عدة مرات الآن! تابع فئتك على Mastodon، ثم أنشئ موضوعًا جديدًا.

تعديل أو ربما سأغيره ببساطة إلى “نُشر” في هذا السيناريو، لأنه في الواقع يضيف النشاط إلى صندوق الصادر. إنه لا يرسله إلى أي مكان (لأنه لا يوجد مكان لإرساله إليه). لذا فهو تقنيًا “نُشر” (أي أنه في صندوق الصادر).

3 إعجابات

هل هذا وقت جيد لتطبيق هذا البروتوكول أم يجب أن أنتظر قليلاً؟ أتمنى أن أفتح مجتمعي لـ fediverse وأرشفة المحتويات بأكملها للجميع وإلى الأبد، لكنني قرأت عن Mastodon و Lemmy وأفترض أن القوانين الجديدة لا تزال قيد التنفيذ.

أعتقد أن مناقشة الظروف القانونية في أي ولاية قضائية معينة من المحتمل أن تكون خارج نطاق هذا الموضوع. :slight_smile:

إعجاب واحد (1)

بعض التحديثات لمشاركتها هنا! سيتم قريبًا نقل جميع إعدادات ActivityPub إلى لوحة إدارة موحدة:

سيصبح اتباع العلامات ممكنًا قريبًا:

بالإضافة إلى NodeBB و Flarum و Lemmy والعديد من منصات ActivityPub الأخرى، أنشأنا مجموعة عمل W3C لتحسين توافق برامج المنتديات ومشاركة الروابط في Fediverse. نقوم بالفعل بتنسيق هذا العمل عبر ActivityPub. على سبيل المثال، يتم تنظيم اجتماعنا القادم في موضوع واحد عبر كل من Discourse و NodeBB

6 إعجابات