إضافة استفتاء RSS تزيل العلامات المضافة يدويًا

أنا أقوم باستيراد خلاصات RSS باستخدام إضافة RSS Polling. لا أقوم بإضافة أي علامات افتراضيًا. بدلاً من ذلك، الخطة هي أن يقوم المستخدمون بإضافة العلامات يدويًا. لكن الإضافة تزيل العلامات عند السحب التالي. انظر على سبيل المثال

تعديل: اعتقدت أن الأمر قد يتعلق بالإعداد create post for category and tag changes ولكنني قمت بتغييره ولا تزال العلامات تُحذف. على سبيل المثال:

تعديل 2: حسنًا، هذا أغرب. منشور يقول إنه تم إزالة بعض العلامات ولكن العلامات لا تزال موجودة…

أقوم بتشغيل Discourse 3.3.0.beta3-dev ( c13f64d35b ) و RSS Polling 0.0.1 be7b56e.

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

ربما يكون الأمر متعلقًا؟ هناك هذا الخطأ المتكرر في السجلات:

Job exception: undefined method `name' for an instance of String 

/var/www/discourse/app/models/topic_embed.rb:125:in `map'

/var/www/discourse/app/models/topic_embed.rb:125:in `import'

/var/www/discourse/plugins/discourse-rss-polling/app/jobs/jobs/discourse_rss_polling/poll_feed.rb:52:in `block in poll_feed'

/var/www/discourse/plugins/discourse-rss-polling/app/jobs/jobs/discourse_rss_polling/poll_feed.rb:41:in `each'

/var/www/discourse/plugins/discourse-rss-polling/app/jobs/jobs/discourse_rss_polling/poll_feed.rb:41:in `poll_feed'

/var/www/discourse/plugins/discourse-rss-polling/app/jobs/jobs/discourse_rss_polling/poll_feed.rb:20:in `execute'

/var/www/discourse/app/jobs/base.rb:305:in `block (2 levels) in perform'

rails_multisite-6.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-6.0.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:292:in `block in perform'

/var/www/discourse/app/jobs/base.rb:288:in `each'

/var/www/discourse/app/jobs/base.rb:288:in `perform'

sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'

sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'

sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'

/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'

sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'

sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'

sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'

sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'

sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'

sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'

sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'

sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'

sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'

sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'

sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'

sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'

sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'

sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'

sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'

وأعتقد أنني وجدت نمطًا:

  • إذا كان حقل “Tags” في /admin/plugins/rss_polling فارغًا، فسيتم إزالة العلامات المضافة يدويًا في الاستطلاع التالي.
  • إذا كان هذا الحقل يحتوي على علامة، فتبدو العلامات المضافة يدويًا وكأنها تبقى.

بعد المزيد من الاختبار، أنا متأكد تمامًا من أن المشكلة هي أنه يتم إزالة العلامات تلقائيًا عندما لا يكون لدى موجز RSS على /admin/plugins/rss_polling أي علامات معينة.

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

يمكنني تكرار هذا. :raised_hand:

خطواتي:

  • إضافة https://meta.discourse.org/c/bug/1.rss إلى استطلاع RSS
  • تعيين المستخدم والفئة، ولكن ترك العلامات فارغة (حفظ)
  • الانتظار حتى يتم سحب المواضيع
  • تحديد عدد قليل وإضافة علامات يدويًا
  • الانتظار للاستطلاع التالي
  • رؤية موضوع بعلامات مضافة يدويًا تم تعديله لإزالتها

المتوقع: لا ينبغي تعديل الموضوع المستطلع بعلامات مضافة يدويًا لإزالة تلك العلامات
الفعلي: يتم الكتابة فوق علامات الموضوع المستطلع

(لا يوجد خطأ في /logs على الرغم من ذلك)

6 إعجابات

غريب. يستمر في الإبلاغ عن هذا الخطأ. تراكمت 1344 حالة في أسبوع. يبدو عامًا بما فيه الكفاية.

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

هل هناك إصلاح في خارطة الطريق القريبة؟

أتخيل أنها لا تزال مبكرة. أتساءل فقط عما إذا كانت هناك أي أخبار.

يحدث هذا في TopicEmbed في core

4 إعجابات

لقد قمت بتحديث هذا بحيث إذا كانت العلامات فارغة أو مفقودة (كما هي في التكاثر)، فلن يتم تحديث العلامات:

هذا يصلح التكاثر كما هو مدرج

إعجابَين (2)

مرحباً، أعتقد أن هناك مشكلة جديدة الآن. لقد قمت للتو بتحديث Discourse إلى 3.3.0.beta4-dev ( 7b8863fcd5 ) والآن هناك بعض المنشورات المستوردة التي تستمر في التحديث عند كل استطلاع، دون ظهور أي تغييرات في الفرق. هذا ما تشترك فيه هذه المنشورات:

  • تم استيرادها جميعًا باستخدام استطلاع RSS.
  • تلقت وسمًا واحدًا عند استيرادها، وهو الوسم المحدد في استطلاع RSS.
  • أضفنا وسمًا ثانيًا يدويًا.

إليك مثال على الفرق. لا توجد تغييرات مرئية:

بالنسبة لنا، هذا تراجع. كان من الممكن التحايل على الخطأ السابق عن طريق إضافة وسم افتراضي لجميع خلاصات RSS. ثم يمكن إضافة الوسوم يدويًا دون مشاكل. الآن يتم إغراق قائمة “الأحدث” لدينا بهذه التحديثات المتكررة دون تغييرات.

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

إعجابَين (2)

حسنًا، يمكنني تأكيد هذا النمط للمواضيع التي تعود للظهور:

  • يتم استيرادها جميعًا باستخدام استطلاع RSS.
  • تلقت وسمًا واحدًا عند استيرادها، وهو الوسم المحدد في استطلاع RSS.
  • أضفنا وسمًا ثانيًا يدويًا.

كنت مرتبكًا لأن بعض المواضيع التي تحمل وسمًا إضافيًا فقط تستمر في التحديث وليس كلها، ولكن الإجابة بسيطة: لا يزال موجز RSS يستدعيها، بينما المواضيع القديمة أو المواضيع التي تحتوي على إدخالات حديثة فقط في موجز RSS لا يتم تشغيلها منطقيًا.

إذا أمكن، يجب أن يكون التنفيذ بسيطًا مثل هذا:

  1. إذا كان الموضوع المستورد جديدًا، فقم باستيراد الوسوم المحددة في إعدادات استطلاع RSS، إن وجدت.
  2. إذا لم يكن الموضوع المستورد جديدًا، فلا تتحقق من الوسوم على الإطلاق.

بهذه الطريقة، تأتي المواضيع المستوردة الجديدة بالوسوم المتوقعة (أو لا شيء، إذا لم يتم تحديد وسوم) ولا تتلقى المواضيع الموجودة أي تغييرات/تحديثات بسبب الوسوم التي تم تحريرها يدويًا.

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

ما زلت أرى أنه يتم إزالة العلامات عند السحب

يمكنك رؤية أن “meta-hmd” يتم إزالته. تمت إضافة هذه العلامة يدويًا، وعند السحب التالي، تتم إزالة العلامة.
تم تكوين علامة “UploadVR” في مكون RSS Polling الإضافي. :slightly_frowning_face:

كما أشار @RGJ. يستورد الاستيراد المضمن أن العلامات قد تغيرت ويعيد استيراد المنشور مع إزالة العلامة المضافة.

ربما يمكن إضافة تبديل لتجاهل تغييرات علامات مواضيع الخطاب؟

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

تمت إضافة خيار لتعطيل تحديثات العلامات في استطلاعات RSS. أخبرنا إذا كان هذا قد حل حالة الاستخدام الخاصة بك

5 إعجابات

رائع شكراً لك على الإصلاح السريع!

هل يمكن تقييم طلب السحب هذا؟

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

الرقعة التي يذكرها @Heliosurge تأتي من RSS Polling setting to use pubDate to set the date of imported topics. بالنسبة لي، فهي ذات صلة كبيرة بهذا الموضوع هنا لأننا كلفنا بهذه الميزة ولدينا إصدار استطلاع RSS هذا مثبتًا على خادمنا. لدينا آلاف المواضيع المستوردة بتواريخ صحيحة، وأخشى أن يؤدي تثبيت إضافة RSS القياسية لاختبار رقعة الأمس بواسطة @featheredtoast إلى كسر الأمور عن طريق جلب آلاف التغييرات إلى تواريخ غير صحيحة أو شيء من هذا القبيل.

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

إعجابَين (2)

لقد عدت إلى المكون الإضافي الرسمي

أي مواضيع لم تعد قيد الاستطلاع يجب أن تكون على ما يرام.

قبل هذه الرقعة، كما أبلغت، يجب أن تظل خلاصات الاستيراد القديمة التي لم تعد جديدة بما فيه الكفاية دون تغيير.

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

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

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

إذا كنت لا تزال تضيف خلاصات جديدة تمامًا. لن تحترم هذه الخلاصات الجديدة تاريخ النشر كما تعلم.

أي خلاصات قديمة كما ذكرت والتي لم تعد تُجلب بسبب قدمها. لن تتغير العلامات.

لست متأكدًا من عمر موضوع RSS. لكي لا يكون في قائمة الانتظار.

تم إغلاق هذا الموضوع تلقائيًا بعد 4 أيام. لم تعد الردود الجديدة مسموحًا بها.