روابط ترويسة مخصصة ترفض عنوان URL لـ Matrix

إن علامة # المزدوجة تجعل التحقق من صحة إعداد الكائن يفشل في النواة (ليس هذا الاختبار المحدد بحد ذاته).

URI سيء (هل هو ليس URI؟): "https://matrix.to/#/#matrix-meta-chat:fedoraproject.org" (URI::InvalidURIError)

إنه ليس URI صالحًا تمامًا، لذا ستحتاج إلى ترميز الجزء.
هنا، استخدام https://matrix.to/#/%23matrix-meta-chat:fedoraproject.org سيعمل.

بالنظر إلى الكود:
https://github.com/discourse/discourse/blob/main/lib/theme_settings_object_validator.rb#L191-L193
is_valid_url معرف هنا:

يمكنك أن ترى أن لديهم بالفعل وظيفة أخرى للتعامل مع هذا الموقف ويتم استخدامها في أماكن أخرى:

أعتقد أنه من المعقول استخدام relaxed_parse للتحقق من صحة عنوان URL لكائن السمة.
على سبيل المثال: if validations&.dig(:url) && !UrlHelper.relaxed_parse?(value)

6 إعجابات