أوه، لا يزعجني ذلك على الإطلاق. حتى لو كان الإجراء الأساسي لزر القائمة المنسدلة هو ‘حذف المستخدم’، وكان بإمكانك اختيار ‘تعليق المستخدم’ بدلاً من ذلك عبر استخدام القائمة المنسدلة، لكان ذلك مثالياً. بهذه الطريقة، وبافتراض أن معظم الإعدادات ليست مبنية على SSO، لن يُضاف أي عمل إضافي عليهم، لكن بالنسبة لأولئك الذين هم في هذه الحالة، سيكون لديهم طريقة سريعة لتعليق المستخدم بدلاً من حذفه.
@Roman هل ترغب في إضافة هذه إلى قائمتك؟ أرى أنها ستكون مفيدة للمواقع التي تستخدم المصادقة الموحدة (SSO).
عند حذف المستخدمين من قائمة المراجعة، تظهر نافذة منبثقة ‘404 غير موجود’:
(تم التحديث للتو إلى الإصدار الأحدث، لكن المشكلة لا تزال قائمة)
سألقِ نظرة. هل هؤلاء المستخدمون في انتظار الموافقة؟
الموافقة + حذف المستخدمين الذين تم تحديدهم على أنهم يمارسون البريد العشوائي.
لقد أدركت للتو أنني أدير موقعًا آخر لا يحدث فيه هذا الأمر، ولديّ شك قوي في أن الأمر قد يكون مرتبطًا بـ إضافة المتابعة
، حيث شهدت تغييرات حديثة تتعلق بالمستخدمين المحذوفين. @merefield، ما رأيك؟
لا توجد لدي أي فكرة في هذه المرحلة. هل يمكنك أن تكون أكثر تحديدًا؟ هل لديك دليل من السجلات؟
في تبويب الشبكة بالمتصفح: ما هو عنوان URL الخاص بخطأ 404؟
المشكلة الوحيدة (البسيطة) مع الإضافة حاليًا (التي أعرفها) هي أنه يتعين عليك حذف الإشعارات المرتبطة بها إذا قمت بإلغاء تثبيت الإضافة (النص البرمجي موجود في منشور الإضافة الرئيسي). هذا لا علاقة له بالمستخدمين المحذوفين.
لم أستطع تكرار المشكلة محليًا أيضًا. رسالة الخطأ تجعلني أظن أن الواجهة الأمامية تُجري طلب Ajax إلى نقطة نهاية غير موجودة. @bartv هل يمكنك مشاركة تبويب الشبكة في متصفحك بعد تنفيذ عملية الحذف؟
أود معرفة ما إذا كان الأمر يبدو هكذا:
سأفعل ذلك في المرة القادمة التي يحدث فيها الأمر ![]()
تقوم الإضافة بتعديل UserDestroyer بشكل غير مباشر، والذي يُستدعى عند تنفيذ إجراء الحذف من قائمة المراجعة. يبدو هذا مريبًا:
إذا تضمنت following_ids بطريق ما معرفًا غير صالح، فستُثير User#find استثناءً، وسيرى المستخدم رسالة “404 Not Found”. أنصح باستخدام User.find_by(id: ...) بدلاً من ذلك.
لا يمكنني تحديد ما إذا كان هذا ما حدث في موقع @bartv دون النظر داخل قاعدة البيانات، لذا في المرة القادمة التي يحدث فيها ذلك، أنصح بمراجعة following_ids للمستخدم الذي تم الإبلاغ عنه.
شكرًا لك. هذا صحيح وميزة مفيدة جدًا.
لا أزال أرغب في الحصول على السجلات وتأكيد عنوان URL الذي يعيد استجابة 404.
ربما توجد طرق أخرى أكثر لجعل هذا الأمر أكثر متانة.
تم الدفع: FIX: make code invoked when deleting users more robust · discourse/discourse-follow@b523b3a · GitHub شكرًا لك!
قمنا بدمج طلب سحب (PR) لإضافة هذا الإجراء. تم الآن تجميع “تأكيد”، “تأكيد + حذف”، و"تأكيد + تعليق" معًا:
لقد قمت بإزالة إضافة Follow وما زال مشكلتي قائمة. في سجل Rails أرى:
Started PUT "/review/6793/perform/reject_user_block?version=0" for xx.xx.xx.xx at 2020-09-03 09:45:48 +0000
Processing by ReviewablesController#perform as */*
Parameters: {"version"="0", "reviewable_id"="6793", "action_id"="reject_user_block"}
Job exception: undefined method `strip' for nil:NilClass
Rendering text template
Rendered text template (Duration: 0.0ms | Allocations: 1)
Started GET "/t/global-variables/331828" for xx.xx.xx.xx at 2020-09-03 09:45:48 +0000
Processing by TopicsController#show as HTML
Parameters: {"slug"="global-variables", "topic_id"="331828"}
Completed 404 Not Found in 292ms (ActiveRecord: 0.0ms | Allocations: 124598)
ActiveRecord::RecordNotFound (Couldn't find all Topics with 'id': (1185852, 1185853, 1186324, 1186929, 1191089) [WHERE ("topics"."deleted_at" IS NULL)] (found 4 results, but was looking for 5).)
lib/plugin/instance.rb:393:in `block in on'
lib/discourse_event.rb:14:in `block in trigger'
lib/discourse_event.rb:13:in `trigger'
app/models/user.rb:1567:in `trigger_user_destroyed_event'
app/models/reviewable.rb:353:in `perform'
app/controllers/reviewables_controller.rb:192:in `perform'
app/controllers/application_controller.rb:340:in `block in with_resolved_locale'
app/controllers/application_controller.rb:340:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:68:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:336:in `call'
config/initializers/008-rack-cors.rb:25:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:22:in `call'
lib/middleware/request_tracker.rb:176:in `call'
سطر ActiveRecord::RecordNotFound مثير للاهتمام لأنه يظهر في كل مرة أحاول فيها حذف مستخدم من قائمة المراجعة، ومع نفس معرفات المواضيع تمامًا.
لقد تحققت من معرفات المواضيع وهذه جميعها منشورات تستخدم إضافة Events. وبالفعل، تم حذف واحدة منها. أنا حائر لماذا يتحقق هذا الإجراء من قائمة المراجعة من هذه المواضيع؟
@merefield يبدو أنني أعود إليكم مرة أخرى، آسف ![]()
تعديل: تم تغيير رابط الإضافة
هذا إضافة أساسية.
انتظر، أنا أستخدم
git clone GitHub - angusmcleod/discourse-events: Allows you to manage events in Discourse · GitHub
أليس هذا هو الصحيح (أو لم يعد كذلك؟) (أعتقد أنني ربما ربطت بالصفحة الخاطئة هناك، سأقوم بالإصلاح)
هذه هي الفعاليات. @fzngagan هل لديك أي أفكار حول هذا؟
عند النقر عليه، يتم توجيهي إلى المستودع الصحيح.
ها ها، لا، المشكلة تتعلق بحذف مستخدم من قائمة المراجعة.
هذا لا يتعلق بإضافة، بل هو ملف مكتبة أساسي.
لماذا تعتقد أن Events متورطة؟


