El nuevo PhotoSwipeLightbox experimental (siteSettings.experimental_lightbox) contiene errores cuando el enlace de la imagen existe en Discourse Solved o en el componente de carga en admin/config/logo. La causa raíz es que PhotoSwipeLightbox necesita el ancho y la altura de la imagen ya cargada, mientras que Discourse Solved y el componente de carga no tienen estos atributos.
Sin estos atributos, la imagen se estirará para llenar la ventana del navegador, causando distorsión, como se muestra en la figura adjunta.
Este commit agrega un mecanismo de precarga para imágenes sin dimensiones para obtener sus dimensiones, de modo que puedan mostrarse normalmente.
He añadido algunos comentarios/sugerencias en la PR, pero en general creo que necesitamos una solución alternativa como esta para capturar los casos extremos.
Además, he realizado algunas modificaciones en la lógica de discriminación para manejar aquellos con metadatos pero sin metadatos que no contengan información de tamaño. (es decir, el componente de carga)