لماذا لا يمكن الوصول إلى خيوط Discourse المفترضة Federation عبر ActivityPub بواسطة عملاء AP خارجيين؟

مثال

إذا أدخلت https://meta.discourse.org/t/uris-to-the-origin-of-a-thread-that-has-since-been-merged-should-503-to-the-merged-comment/342417?u=rokejulianlockhart (أو https://meta.discourse.org/ap/object/bc8f042ccca5ef56734c5f2460aa45cc) [1] في mastodon.social/search، فستحصل على خطأ 404: [2] [3]

إذا لم يكن هذا خطأ Discourse، فسأقوم بنقل هذا إلى Mastodon. ومع ذلك، فإن معظم منصات AP الأخرى التي جربتها (والتي توقعت أن تعمل) قد عملت.


  1. https://meta.discourse.org/t/uris-to-the-origin-of-a-thread-that-has-since-been-merged-should-503-to-the-merged-comment/342417?u=rokejulianlockhart ↩︎

  2. search?q=https%3A%2F%2Fmeta.discourse.org%2Fap%2Fobject%2Fbc8f042ccca5ef56734c5f2460aa45cc ↩︎

  3. search?q=https%3A%2F%2Fmeta.discourse.org%2Ft%2Furis-to-the-origin-of-a-thread-that-has-since-been-merged-should-503-to-the-merged-comment%2F342417%3Fu%3Drokejulianlockhart ↩︎

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

أنا أفتقد ذلك أيضًا. بدون ذلك، من الصعب أو المستحيل التفاعل مع المشاركات الفدرالية إلا إذا كانت موجودة بالفعل في جدولك الزمني.

@rokejulianlockhart، مجرد فضول، هل جربت مع روابط لعناصر WordPress باستخدام إضافة WP ActivityPub؟

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

ما الذي حدث بحق الجحيم هنا؟ لم أكتب قط كما هو مذكور أدناه:

RokeJulianLockhart:

ناقش هذا في منتدانا.

... وقد قام أحدهم بتحطيم علامتي.

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

أوه! إنهم متحدون الآن! لم أنشر هذا التعليق هنا. [1] إنهم معطلون بشكل كبير في اتحادهم:

  1. التنسيق غير محفوظ.

  2. أستطيع الإعجاب بمنشوراتي الخاصة.

    إنه حساب مستخدم منفصل، لأنه مسجل في نطاق آخر.

@icaria36، لا. هل تعرف أيًا منها؟


  1. socialhub.activitypub.rocks/t/5123/3 ↩︎

أعتقد أن هذا موقع WordPress، وقد اختبرت للتو بمقال حديث، ويمكنني العثور على عنوان URL على Mastodon بالفعل: Nature Holds Awe, Man – NHAM Mixtape 11 – NHAM

@icaria36، لا أعتقد ذلك. لدى Discourse تكامل AP أصلي.

@rokejulianlockhart نقطة مهمة، عندما أنشأت هذا الموضوع، في الوقت نفسه، https://meta.discourse.org/t/why-are-supposedly-activitypub-federated-discourse-threads-inaccessible-via-external-ap-clients/356997 لا يمكن العثور عليه على Mastodon.

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

@icaria36، من المحتمل أن يكون ذلك خطأ من ماستودون، بما أن ديسكورس يقوم بتوحيده:

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

github.com/mastodon/mastodon/discussions/34600#discussioncomment-13031935 يذكر:

تجعل إضافة Discourse AP كائنات ActivityPub متاحة عند النقر على شعار ActivityPub الأخضر والنقر على زر “Note” لنسخ عنوان URL: Why are supposedly ActivityPub-federated Discourse threads inaccessible via external AP clients? - #9 by rokejulianlockhart - Bug - Discourse Meta

يحتاج Discourse AP إلى ربط رابط url بـ id بطريقة ما، ويفضل أن يكون ذلك عبر إعادة توجيه في الطلبات مع رأس التفاوض على المحتوى Accept الصحيح.

لذلك، سأضع هذا مؤقتًا كـ Bug. (لا أستطيع. قديم جدًا.)

ولكن عناوين URL التي يوفرها رمز “الملاحظات” لا تُرجع أي نتائج عند لصقها في، على سبيل المثال، mastodon.social/search.

المشكلة لم تُحل.

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

@icaria36، يرجى التعليق على ذلك في مناقشة GitHub. وجود شخص آخر يتحدى الاستجابة يمنحها مصداقية أكبر من أن أكون أنا الوسيط.

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

يبدو الأمر كذلك:

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

حسنًا، لا، يبدو أن هذه قد تكون مشكلة في Discourse بعد كل شيء: Posts from Discourse do not resolve via the Search API · Issue #34632 · mastodon/mastodon · GitHub

بالتحقيق أكثر قليلاً، يطلب Mastodon المورد باستخدام رأس Accept التالي:

Accept: application/activity+json, application/ld+json; profile="https://www.w3.org/ns/activitystreams", text/html;q=0.1

الاستعلام عن discourse بهذا ينتج عنه استجابة HTTP 400.

حذف text/html;q=0.1 يُرجع كائن ActivityStreams. لذا يبدو أن هذه مشكلة في Discourse، والتي يبدو أنها تُرجع 400 في أي وقت يكون text/html جزءًا من الأنواع المقبولة…

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

@rokejulianlockhart أو يمكن لمشرف إزالة “الحل”، من فضلك؟ ونقل هذا الموضوع إلى Bug (أو إنشاء تقرير خطأ جديد) بناءً على تقييم Mastodon على Posts from Discourse do not resolve via the Search API · Issue #34632 · mastodon/mastodon · GitHub.

إعجابَين (2)

لست متأكدًا من أن هذه مشكلة في Discourse. لقد رددت على المشكلة على Mastodon. أشاركها هنا للتسهيل:

السبب في أننا نعيد 400 في هذا السيناريو هو أن مواصفات ActivityPub تبدو أنها تتطلب ذلك.

يجب إجراء طلبات POST (على سبيل المثال، إلى صندوق الوارد) باستخدام نوع محتوى application/ld+json؛ profile=“ActivityStreams 2.0 Terms” وطلبات GET (انظر أيضًا 3.2 استرداد الكائنات) مع رأس Accept بقيمة application/ld+json؛ profile=“ActivityStreams 2.0 Terms

@ClearlyClaire هل هناك حاجة لإضافة text/html;q=0.1 إلى رأس Accept؟

إعجابَين (2)

سيتم حل هذا قريبًا. انظر المزيد:

3 إعجابات