أستخدم الإصدار 2.5.0.beta3، وقمت بتخصيص Discourse عبر إعدادات المسؤول مع مجموعة من التغييرات لتعطيل الميزات التي لا أحتاجها (مثل الشارات والرسائل الخاصة، وما إلى ذلك). لم أقم بإجراء أي تغييرات على الكود أو ملف الإعدادات الخام، ولا يوجد أيضًا مصادقة موحدة (SSO).
لم أكن أدرك، ولكن عند تسجيل الخروج ثم الدخول مجددًا، يتم إعادة توجيهي إلى /notifications?recent=true&limit=5، والتي تظهر رسالة “عذرًا! هذه الصفحة غير موجودة أو خاصة.”
لم أستطع العثور على الإعداد المسؤول عن هذا السلوك: حسابي لديه “صفحة البداية الافتراضية” مضبوطة على “التصنيفات”. جربت ذلك مع حسابات متعددة، وجميعها أظهرت نفس السلوك.
لقد قمنا للتو بالترقية إلى الإصدار 2.5.0.beta3 ونواجه نفس المشكلة تمامًا
يتم إعادة توجيه تسجيل الدخول إلى notifications?recent=true&limit=5 بدلاً من صفحة البداية المفضلة للمستخدم المحددة، مما يؤدي إلى ظهور خطأ 404
الرابط الصحيح للإشعارات للمستخدم هو /u/username/notifications?recent=true&limit=5
لكن على أي حال، يجب أن يتم اختيار تفضيلات المستخدم. يبدو أن تسجيل الدخول لا يلتقط معرف المستخدم (تسجيل الدخول باستخدام اسم المستخدم)، ولكن بعد ظهور صفحة الخطأ 404، تكون قد قمت بتسجيل الدخول فعليًا.
لا أدرك وجود أي قوالب أو مكونات تؤثر على هذا. كان لا بد من تعطيل مكون مخصص واحد كسر الانتقال من الإصدار 2.4 إلى 2.5، لكن هذا غير ذي صلة (يغير تخطيط المجموعات إلى قائمة). ما هو “وضع الأمان” (safe-mode) وكيف يمكنني استخدامه؟ لن يساعد عنوان URL للموقع لأن لا يوجد وصول عام.
يبدو أن الوضع الآمن لا يُحدث أي فرق، لكنني لست مقتنعًا بأنه تم تفعيل الوضع الآمن باتباع هذه التعليمات
فببساطة استخدام /?safe_mode في نهاية عنوان الموقع لم يعرض صفحة خيارات — بل أعاد تحميل صفحة تسجيل الدخول، واستخدام /?safe_mode=no_custom&no_plugins&only_official فعل نفس الشيء، ولم يظهر أي فرق على الموقع.
هل هناك أي تقدم حتى الآن؟ فنحن نواجه نفس المشكلة. تحدث هذه المشكلة في خادم واحد ولكنها لا تحدث في خادم اختبار آخر يحمل نفس الحمل من الإضافات والمكونات.
تم تثبيت إضافة OAuth2 على الخادمين، لكنها معطلة حاليًا (منذ ما قبل الترقية). من الممكن أن تكون إضافة OAuth2 مفعلة على الخادم الذي يواجه المشكلة أثناء الترقية، ثم تم تعطيلها بعد الترقية - أنا في انتظار تأكيد مسؤول النظام لترتيب الإجراءات التي قام بها.
تم تثبيت OAuth2 أثناء الترقية. وقد تم تعطيله منذ ذلك الحين.
ما هو التثبيت في مجلد فرعي؟
لدينا تثبيت قياسي. لدينا مجلد يحتوي على containers وملف app.yml بداخله، ونبدأ Discourse بتشغيل سكريبت يسمى launcher (بصلاحيات root).
[quote=“FrankVolkel, post:1, topic:149718”]
تم إعادة التوجيه إلى /notifications?recent=true&limit=5، والتي تعرض رسالة “عفوًا! هذه الصفحة غير موجودة أو خاصة.”[/quote]
يمكنني تأكيد حدوث هذا الأمر — أو شيء مشابه له — في تثبيت الاختبار الخاص بي.
اختبار: https://smoke-test.redacted.invalid/
بدء اختبار دخان Discourse لـ https://smoke-test.redacted.invalid/
نجح: الانتقال إلى الموقع - 1119مللي ثانية
نجح: توقع وجود زر تسجيل الدخول في الرأس - 266مللي ثانية
نجح: فتح نافذة تسجيل الدخول المنبثقة - 85مللي ثانية
نجح: نافذة تسجيل الدخول المنبثقة مفتوحة - 8مللي ثانية
فشل طلب HTTP إلى https://smoke-test.redacted.invalid/notifications?recent=true&limit=5. الحالة هي: 403
سجل الصفحة: فشل تحميل المورد: استجاب الخادم بحالة 403 ()
فشل طلب HTTP إلى https://smoke-test.redacted.invalid/logs/report_js_error. الحالة هي: 429
سجل الصفحة: فشل تحميل المورد: استجاب الخادم بحالة 429 ()
نجح: إدخال بيانات الاعتماد وتسجيل الدخول - 363مللي ثانية
نجح: تم تسجيل الدخول - 1606مللي ثانية
عند فحص المتصفح، أرى طلبًا إلى /notifications?recent=true&limit=5 فور فتح نافذة تسجيل الدخول المنبثقة، لكن لا يحدث أي إعادة توجيه.