حذف دائم لا يعمل

أنا على الإصدار 2.9.0.beta14 وقمت بتمكين الحذف الدائم عبر DISCOURSE_CAN_PERMANENTLY_DELETE في app.yml.

يظهر الخيار في المنتدى لمنشور، وإذا قمت بالنقر عليه، فإنه يظهر نافذة منبثقة تطلب مني التأكيد، وبعد ذلك عندما أنقر على “موافق” لا يحدث شيء.

بالنظر إلى علامة التبويب “الشبكة” في أدوات المطور، لا توجد طلبات. بالنظر إلى وحدة التحكم، لا توجد أخطاء أو سجلات إضافية.

لم يتم حذف المنشور، ولا يزال موجودًا.

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

التحديث بعد 3.0.0 بيتا 15 لا يزال لا يعمل بشكل صحيح. هل هناك أي شيء يمكنني فعله لتقديم سجلات وما إلى ذلك؟ شكرًا

مرحباً @Soenneker :slight_smile:

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

خطواتي:

  • حذف منشور موجود بشكل غير دائم
  • فتح مفتاح المنشور والنقر على “حذف بشكل دائم”
  • يظهر مربع حوار التأكيد “هل أنت متأكد من أنك تريد حذف هذا المنشور بشكل دائم؟ لن تتمكن من استعادته.”
  • النقر على “نعم”
  • يغلق مربع الحوار، ولكن لا يوجد رد. يظل المنشور محذوفًا بشكل غير دائم

ومع ذلك، إذا قمت بتحديث الصفحة، فإنه يعمل كما هو مقصود:

  • حذف منشور موجود بشكل غير دائم
  • تحديث الصفحة
  • الكشف عن المنشور المحذوف بشكل غير دائم باستخدام “عرض الرد المخفي”
  • فتح مفتاح المنشور والنقر على “حذف بشكل دائم”
  • يظهر مربع حوار التأكيد “هل أنت متأكد من أنك تريد حذف هذا المنشور بشكل دائم؟ لن تتمكن من استعادته.”
  • النقر على “نعم”
  • ويتم حذف المنشور بشكل دائم (طالما انتظرت 5 دقائق، أو استخدمت مستخدم اختبار ثاني يتمتع بصلاحيات المسؤول)

هل يبدو هذا مألوفًا، أم يمكنني تجربة شيء آخر لتكرار ما تراه؟

4 إعجابات

مرحباً @JammyDodger

شكراً لردك.

أرى المشكلة التي تتحدث عنها، كل هذا يتماشى مع الوظائف الحالية التي أراها أيضاً.

بعض الأمور التي يمكن إضافتها للملاحظات:

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

ومع ذلك، إذا ذهبت إلى /latest?status=deleted، فإنها لا تزال تظهر في قائمة المواضيع. تظهر المواضيع “Replies -1”، وإذا نقرت على هذه المواضيع، أرى صفحة “:frowning: خطأ حدث خطأ ما”.

لقد تلقيت خطأ 500 في وقت ما، ويبدو أن هذا ربما كان الموضوع لا يزال قيد الحذف أو شيء من هذا القبيل، وربما حاولت حذفه أثناء تقدمه:
بالنظر إلى سجل الأخطاء، هذا ما أراه:

NoMethodError (undefined method `topic_id' for nil:NilClass)
lib/post_destroyer.rb:60:in `destroy'
app/controllers/topics_controller.rb:643:in `destroy'
app/controllers/application_controller.rb:413:in `block in with_resolved_locale'
app/controllers/application_controller.rb:413:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:368: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:23:in `call'
lib/middleware/request_tracker.rb:209:in `call'
إعجاب واحد (1)

ممتاز. أعتقد أن هذه هي المعلومات التي كنت بحاجة إليها لإعادة الإنتاج. :slight_smile: :+1:

لقد حاولت مرة أخرى، ولكن مع موضوع يتكون فقط من المنشور الأصلي:

  • إنشاء موضوع (بدون ردود)
  • حذف الموضوع بشكل ناعم (والانتظار 5 دقائق)
  • فتح مفتاح المنشور واختيار “حذف بشكل دائم”
  • تأكيد
  • “خطأ. حدث خطأ ما”
  • لا يزال الموضوع يظهر في ?status=deleted، ولكنه يعطي شاشة “خطأ. حدث خطأ ما” عند الوصول إليه ويعطي هذه الرسالة في وحدة التحكم:
TypeError: p is undefined
    setupController topic-from-params.js:68
    setup Ember
    s router_js.js:1514
    routeEnteredOrUpdated router_js.js:1524
    setupContexts router_js.js:1470
    finalizeTransition router_js.js:1378
    promise router_js.js:1321
    b rsvp.js:435
    g rsvp.js:421
    invoke queue.ts:203
    flush queue.ts:98
    flush deferred-action-queues.ts:75
    _end index.ts:616
    end index.ts:298
    _run index.ts:667
    run index.ts:339
    d Ember
    success ajax.js:101
    jQuery 6
    y ajax.js:150
    E rsvp.js:460
    E rsvp.js:916
    fajax.js:163
    loadTopicView topic.js:24
    getAndRemove preload-store.js:28
    E rsvp.js:460
    E rsvp.js:916
    getAndRemove preload-store.js:27
    loadTopicView topic.js:24
    refresh post-stream.js:264
    model topic-from-params.js:25
    deserialize Ember
    getModel router_js.js:775
    resolve router_js.js:616
    b rsvp.js:435
    g rsvp.js:421
    invoke queue.ts:203
    flush queue.ts:98
    flush deferred-action-queues.ts:75
    _end index.ts:616
    _boundAutorunEnd index.ts:257
    promise callback*n/
    platform.ts:28
    flush Ember
    _scheduleAutorun index.ts:803
    _ensureInstance index.ts:791
    schedule index.ts:384
    
    Ember 2
    v rsvp.js:492
    resolve router_js.js:934
    y router_js.js:249
    getTransitionByIntent router_js.js:1305
    transitionByIntent router_js.js:1247
    doTransition router_js.js:1366
    transitionTo router_js.js:1776
    Ember 2
    handleURL url.js:366
    routeTo url.js:211
    w topic-list-item.js:31
    click topic-list-item.js:187
    Ember 5
application.js:83

دعنا نرى ما إذا كان بإمكاننا الحصول على ذلك. :+1: :slight_smile:

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

لقد قمت بدمج بعض الإصلاحات المتعلقة بالحذف الدائم قبل بضعة أيام. أعتقد أن كل شيء يجب أن يعمل كما هو متوقع الآن.

شكراً على تقرير الخطأ!

إعجابَين (2)

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