بعد بعض المناقشة مع فريق Discourse عبر البريد الإلكتروني، أقوم بالتحديث هنا.
الاكتشاف الرئيسي هو أن الصور المصغرة لا يتم تحميلها إذا تم عرض رابط يصبح onebox كـ iframe.
هذا يعني أن الرابط:
https://app.everviz.com/embed/N0dDTJaOQ
سيقوم ولن يقوم بعرض صورة مصغرة اعتمادًا على ما إذا كانت الـ iframes مسموح بها من النطاق (allowed iframes). الحل لهذا هو حقن iframe في المنشور بطريقة ما. لقد قمت بإنشاء إضافة تقوم بذلك، وتتأكد من تعيين display: none على الصورة، لمنع ظهورها في المنشور.
أتخيل أنه من الممكن تعميم هذا إما على:
- لجميع الـ oneboxes العامة، قم بتحميل وإخفاء صورة بجانبها بصمت إذا كان
get_oembed.thumbnail_urlموجودًا. - من المحتمل أن يكون حلاً أفضل، إضافة دعم عام لاستخراج
get_oembed.thumbnail_urlوربطه بالمنشور، دون أن يكون جزءًا من منطقةcookedنفسها.
الأماكن ذات الصلة:
- https://oembed.com/
- discourse/lib/onebox/engine at main · discourse/discourse · GitHub
- discourse/lib/onebox/engine/standard_embed.rb at main · discourse/discourse · GitHub
أنا لست سعيدًا جدًا بهذا السلوك المنبثق، أي، هل allowed iframes ممكّن أم لا؟ سيكون من الجيد لو استخرجت Discourse واستخدمت جميع الخصائص من نقطة نهاية oembed معينة عندما ترسل GET إليها لأول مرة.