هل يعني ذلك أنه عند انتقال الأشخاص من الترميز إلى ASCII، لا يتم إعادة توليد الروابط المختصرة؟ إذا كان الأمر كذلك، يبدو أن العملية الواحدة التي كتبتها لمسح الروابط المختصرة لن تعمل في تلك الحالات.
مرحبًا،
لم يحل التحديث (pull) المشكلة بالكامل. إذا احتوى السلاغ (slug) على علامة +، فسيظهر خطأ 400.
للتأكد من ذلك، عدت إلى خيار “None” لتوليد السلاغ، عدلت العنوان وحذفت علامة + منه، ثم عدت إلى خيار “encoded”، فتم إصلاح خطأ 400.
السيناريو هو أنه عند احتواء العنوان على علامة زائد (+)، يُرجع خطأ 400. (قد تكون هناك أحرف أخرى تؤدي إلى ذلك، لكنني اختبرت علامة + فقط).
شكرًا لك.
هل هذا في رابط الموضوع أم في رابط الفئة؟
اختصار موضوع. لم يتم تجربته على الفئات.
يقوم مولد الـ encoded بإزالة جميع علامات +، لذا لا أعرف كيف حصلت على ذلك:
لقد جربتها محليًا وتمت إزالتها بنجاح بالنسبة لي.
ربما يكون السيناريو مختلفًا على جهازك المحلي. لغة موقعي هي الفارسية. هل يمكنك التبديل إلى الفارسية ثم الاختبار؟
لإعادة إنتاج هذه المشكلة، قم بإنشاء موضوع بالموضوع التالي:
گربه های ایرانی + از نژاد خوبی برخوردار هستند
يتحول الرابط الخاص بي إلى تنسيق غير مقروء ويعيد خطأ 400:
https://domain.ltd/t/%D8%A7%D9%83%D8%A7%D9%86%D8%AA-%D9%BE%D8%B1%D9%85%DB%8C%D9%88%D9%85-%D9%88%D8%A8-%D8%B3%D8%A7%DB%8C%D8%AA-%D9%85%D9%88%D8%B2-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86-%D8%A7%D8%B4%D8%AA%D8%B1%D8%A7%DA%A9-%D8%B4%D8%AE%D8%B5%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%DA%A/2067/40
أنت فقط من لا يستخدم رمز ‘+’ العادي، بل تستخدم رمزًا فارسيًا مختلفًا يبدو مشابهًا له؟ هل يمكنك مشاركة نص يُعيد إنتاج المشكلة؟
لقد قمت بتعديل ردّي السابق. للتأكيد، إنه علامة +.
هذا غريب، فبالنسبة لي يتحول السجل (slug) إلى
%DA%AF%D8%B1%D8%A8%D9%87-%D9%87%D8%A7%DB%8C-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%DB%8C-%D8%A7%D8%B2-%D9%86%DA%98%D8%A7%D8%AF-%D8%AE%D9%88%D8%A8%DB%8C-%D8%A8%D8%B1%D8%AE%D9%88%D8%B1%D8%AF%D8%A7%D8%B1-%D9%87%D8%B3%D8%AA%D9%86%D8%AF
هل أنت متأكد من أنك تشغل أحدث إصدار وقمت بتحديث الصفحة؟
أنا أعمل على أحدث إصدار.
أنا مشوش الآن. لقد أنشأت موضوعًا جديدًا بنفس شروط الموضوع الذي يحتوي على عنوان URL تالف. إنه يعمل بشكل جيد تمامًا. تمامًا كما ذكرت، ربما ليس علامة + هي التي تسبب المشكلة.
يرجى منحي بعض الوقت لتثبيت نسخة تجريبية وإجراء بعض الاختبارات. سأقوم بتحديث هذا الموضوع بمزيد من المعلومات.
شكرًا لك
هل حصلت على عنوان URL من زر المشاركة؟ لقد كان هناك ترميز مزدوج، وقد قمت بإصلاح ذلك للتو في الدمج الأخير.
شاهد هذا التسجيل الشاشي.
أوه، أدركت المشكلة. يحدث ذلك فقط مع الروابط التي يتجاوز طولها 255 حرفًا، وفي 66% من الحالات فقط. سأعمل على إصلاح المشكلة غدًا.
يحدث ذلك معنا أيضًا:
وغريبًا، يحدث ذلك فقط عند النقر على الموضوع من قائمة “الأحدث”. أما عند ربطه من موضوع آخر، فيعمل بشكل سليم تمامًا.
الرابط الكامل:
https://rembetiko.gr/t/%CE%B3%CE%BD%CF%89%CE%BC%CE%B7-%CE%B3%CE%B9%CE%B1-%CE%B1%CE%B3%CE%BF%CF%81%CE%B1-%CE%BC%CF%80%CE%BF%CF%85%CE%B6%CE%BF%CF%85%CE%BA%CE%B9%CE%BF%CF%85-%CE%BC%CE%B5%CF%83%CF%89-%CE%B9%CE%BD%CF%84%CE%B5%CF%81%CE%BD%CE%B5%CF%84-%CE%BA%CE%B1%CE%B9-%CE%B5%CE%BA%C/38511/2
نفس الشيء، هذا السجل أطول من 255 حرفًا.
أثناء التحقيق، اكتشفت بعض الفئات التي لا يمكن تحميلها على الإطلاق.
لاحظت أننا نحصل على أخطاء من هذا النوع:
URIError: URI malformed
at decodeURIComponent (<anonymous>)
at a (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:16:31208)
at Array.map (<anonymous>)
at o (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:16:31136)
at P.recognize (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:5729)
at t.applyToState (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:22054)
at u.n.getTransitionByIntent (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:24304)
at u.n.transitionByIntent (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:23609)
at u.n.doTransition (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:25611)
at u.n.transitionTo (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:30132)
TypeError: Cannot read property 'responseJSON' of undefined
at n.error (https://rembetiko.gr/assets/application-5d69c42124908eb6b41549efae9db9b1df26741f3a45075c6bfd603bb5267a42.js:71:604)
at n.C (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:8:17733)
at u.c.triggerEvent (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:8:21275)
at e.t.trigger (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:13392)
at u.c.transitionDidError (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:8:21548)
at https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:11836
at f (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:18:1126)
at T (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:18:2503)
at E (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:18:2402)
at y (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:18:1896)
هل يمكن أن تكون هذه الأخطاء مرتبطة ببعضها؟
(يمكنك التحقق بنفسك هنا: https://rembetiko.gr/c/άλλα-θέματα/μικρές-αγγελίες)
@Arta_S و @chrispanag، إصلاحان آخران قادمان، أحدهما للعناوين الطويلة والآخر للفئات الفرعية.
و
بعد الترقية، ما زلنا نتلقى هذه الرسالة الخطأ ![]()
في هذه الحالة، ستحتاج إلى إعادة بناء الروابط الثابتة (slugs)، يرجى تجربة الأمر التالي:
cd /var/discourse
./launcher enter app
rails c
Topic.update_all(slug: nil)
exit
exit
exit
قبل يومين من آخر تحديث، واجهت مشكلتين:
1: خطأ 400 (طلب غير صالح) في عنوان URL لبعض المواضيع
2: اختفاء الجدول الزمني في بعض المواضيع
المضيف: Discourse “standard-plan”
هل يمكنك مساعدتي؟
أعتذر عن عدم إتقاني للغة الإنجليزية بشكل جيد.