Ok, eso podría ser el problema con algunas de las miniaturas, pero no explica otras. Tenemos varios temas (algunos publicados hoy y otros antes de la actualización del plugin TLP, por lo que datan de varias semanas atrás) que tienen imágenes cargadas de más de 2000 px de ancho y que están generando miniaturas muy pequeñas de 50 px y 100 px para la página principal.
No, queremos un ancho y resolución estándar únicos, con altura variable según nuestra configuración:
topic_list_thumbnail_width es 284 topic_list_thumbnail_height es 0 topic_list_thumbnail_resolution_level es 4 (tuve que usar 4 porque el valor predeterminado de 2 no es correcto… Generaba miniaturas de 1024 px cuando se dejaba en el valor predeterminado de 2 y necesitaba el tamaño de 400 px, que parece ser el 4)
La forma en que entiendo estas configuraciones es:
Las miniaturas de imagen tendrán 400 px de ancho.
Las fichas mostrarán las imágenes con un ancho de 284 px y una altura variable dependiendo de la relación de aspecto de la imagen original cargada.
Sin embargo, el foro parece estar sirviendo aleatoriamente miniaturas de 50 px o 100 px de ancho en algunos temas… Y esas imágenes se están sirviendo dentro del marco de la ficha, que siempre mide 284 px en nuestro sitio, lo que causa la borrosidad ya que la miniatura más pequeña se estira para llenar la ficha.
Verifica la salida de tu /latest.json en Firefox para ver qué miniaturas se están almacenando.
También puedes comprobar el tamaño de las miniaturas que se muestran en la página usando el inspector del navegador.
Dime si ves algo extraño.
Ah, la configuración de ancho es irrelevante para las fichas. (Prueba a reducirla o aumentarla mucho). Solo importa la resolución.
¿Quizás las fichas no son el tipo de vista adecuado para ti?
¿Debería evitar que aparezcan miniaturas de baja resolución en la vista de fichas? Es decir, no mostrarlas en absoluto. Quizás filtrar todas las de 50 x 50.
Creo que acabo de averiguar exactamente qué está pasando… esta es mi mejor suposición basada en lo que estoy viendo:
Es un problema con la forma en que TLP accede a thumbnails en /latest.json. thumbnails no siempre contiene la misma cantidad de elementos por tema. Si la imagen original del tema elegida para crear la miniatura tiene menos de 1024 px, ese tamaño de miniatura no se generará y no estará presente como elemento/entrada en el array thumbnails. Como thumbnails carece de un elemento, el recuento del plugin se desfasará en uno y devolverá el tamaño de miniatura incorrecto. Si la imagen original del tema es más estrecha que 800 px, entonces los anchos de 1024 y 800 no se generarán, el recuento del plugin se desfasará en dos y devolverá una miniatura aún más pequeña y errónea
Parece que el plugin está recorriendo thumbnails hasta un elemento predeterminado, cuando debería estar buscando un elemento con un max_width específico que corresponda al ajuste del sitio de resolución de la lista de temas. De esta manera, los temas pueden tener arrays thumbnails de distintas longitudes en latest.json y aun así devolver el ancho de miniatura correcto.
Esto explicaría por qué algunas de las baldosas de temas en nuestro foro mostraban anchos de 50 px, algunas tenían 100 px, mientras que la mayoría tenía los 400 px correctos… los temas con anchos más pequeños tenían imágenes originales de menos de 1024 px de ancho o menos de 800 px de ancho.
¡Espero que esto tenga sentido!
Además, ¿podrías agregar un register_topic_thumbnail_size [300, 300]? Necesitamos un ancho de 284 px para nuestras baldosas, y cargar miniaturas de 300 px es mejor para nosotros que cargar las de 400 px. Idealmente, preferiríamos generar exactamente el ancho correcto, pero probablemente terminaré migrando al Componente de Tema cuando lo lances oficialmente, y simplemente agregaré mi propio ancho personalizado.
¡Gracias por tu trabajo tanto en el plugin como en el componente!
Tu ejemplo de resolución no es relevante porque no genera miniaturas superiores a 800x800. La de mayor resolución en el array es simplemente la imagen original.
En cualquier caso, pensé que te preocupaban las imágenes de baja resolución, ¿por qué proporcionar un ejemplo sobre una imagen tan grande? ¿Estás diciendo que esta imagen grande se muestra a un nivel de 50x50?
Sí, por supuesto que la longitud del array de miniaturas varía. El algoritmo está diseñado para manejar eso. Puede haber un error, pero el hecho de que la lista de miniaturas tenga una longitud variable ya es la suposición implícita del código actual.
Selecciona el nivel de resolución de miniatura que elijas y lo modifica si es necesario. Por ejemplo:
Si la pantalla se identifica como retina, mueve la selección en uno para que el resultado sea de mayor resolución.
Si la resolución no está disponible, selecciona la siguiente más alta disponible.
Como dije, si solo está disponible 50x50, probablemente debería suprimir las miniaturas por completo en Tiles.
Si deseas agregar resoluciones personalizadas, por ahora haz un fork del plugin. Las miniaturas son deliberadamente el doble unas de otras. Cambiarlo solo para ti aumentaría el uso de espacio en disco para todos los usuarios. No creo que sea tan importante coincidir tan estrechamente con los originales: son solo vistas previas de miniaturas. Dicho esto, quizás haya un caso para tener una resolución que se ajuste más al caso de uso común de Tiles. Déjame pensarlo.
Sí, estamos viendo varios temas donde una imagen grande se muestra a un nivel de 50x50, aunque también hay niveles de 400x400 y 200x200 disponibles. La única consistencia que observé entre estos temas es que la imagen original subida tenía menos de 1024 px de ancho o menos de 800 px de ancho, lo que hacía que esos tamaños faltaran en el array de miniaturas. Esto me llevó a creer que la forma en que el plugin accede a las miniaturas está relacionada de alguna manera con la longitud del array de miniaturas.
Entiendo perfectamente lo de no agregar tamaños personalizados. Gracias por la explicación detallada
¿Puedes enviar por mensaje privado una imagen completa que esté causando el problema y yo la probaré? También, por favor, confirma el nivel de resolución que has configurado y en qué dispositivo estás viendo el problema.
No sé si soy el único, pero las miniaturas en dispositivos móviles con el componente de tema han dejado de funcionar. Siguen funcionando con el componente de tema de miniaturas de temas, así que parece ser un error. Por si acaso, no veo nada relevante en la consola.
He dado más detalles por mensaje privado, pero básicamente parece haber un problema con los tamaños de resolución personalizados de TLP. Si subimos una imagen de 1024 px de ancho o menos, no se genera la miniatura de 1024x1024. Si subimos una imagen de 800 px de ancho o menos, no se genera la miniatura de 800x800. Esto es el comportamiento esperado hasta ahora.
Lo que no se espera es que el nivel de resolución 2 no cargue realmente tamaños de 400x400, sino que cargue lo siguiente:
Miniaturas de 1024x1024 para todos los temas que tenían una imagen original subida con un ancho mayor a 1024 px.
Miniaturas de 800x800 para todos los temas que tenían una imagen original subida con un ancho menor a 1024 px pero mayor a 800 px.
Miniaturas de 400x400 para todos los temas que tenían una imagen original subida con un ancho menor a 800 px pero mayor a 400 px.
Miniaturas de 100x100 para todos los temas que tenían una imagen original subida con un ancho menor a 400 px pero mayor a 100 px.
Pensé que el nivel de resolución 2 simplemente mostraría miniaturas de 400x400 para todos los temas.
OK, he vuelto a revisar el algoritmo que utilizaba para seleccionar la resolución y he realizado mejoras.
Esto ya está desplegado en el TC y en el Plugin.
Nota: la nueva escala de resolución va de 0 a 6, donde 0 corresponde a la imagen original, 1 a la siguiente resolución más alta y 6 a la resolución más baja.
Por favor, actualicen su plugin/TC y avísenme si esto soluciona el comportamiento.
Gracias, Rob. Lamentablemente, eso no solucionó mi problema; todavía hay un conflicto con el plugin de eventos. Puedes ver en mi sitio de producción que las miniaturas no funcionan en dispositivos móviles, pero con los eventos desactivados en mi sitio de desarrollo sí funcionan.
No veo cómo podrían haber funcionado juntos (incluido el plugin TLP). Ambos están sobrescribiendo la plantilla del elemento de la lista de temas para móviles. Eso es un impedimento definitivo. Por ahora, tendrás que elegir entre uno u otro.
A largo plazo, podría experimentar con una versión basada únicamente en CSS o en salidas de plugins para evitar la sobrescritura de la plantilla, pero eso no es una prioridad urgente en este momento.
Sin embargo, la magnitud de la sobrescritura que requiere TLP para renderizar un Tile podría no ser posible solo utilizando salidas.
Qué pena, ¡estaba emocionado de que por fin volvieran los eventos, jaja! Me parece curioso que el componente de tema Miniaturas de temas funcione con el plugin de eventos; no estoy cuestionando tu conclusión, solo tratando de ayudar. Parece que eso también estaría sobrescribiendo la plantilla. Para aclarar, hablo del plugin de eventos de Pavilion, no del del equipo de Discourse en el plugin de calendario.
Porque la disposición que utiliza no requiere una sobrescritura de la plantilla. En TLP estoy organizando más elementos y algunos de ellos están dentro de divs anidados, por lo que no funcionarán de la misma manera: tengo que depender de una sobrescritura de plantilla. Normalmente, esto no es tan arriesgado porque se trata de un nodo hoja.