Subidas más rápidas (y más pequeñas) en Discourse con Rust, WebAssembly y MozJPEG | Blog

Hace unas semanas, las cargas de imágenes en Discourse son más rápidas y generan archivos más pequeños gracias a una técnica que comprime y optimiza las imágenes en el lado del cliente antes de que se carguen. Esta entrada del blog describirá cómo funciona esta función y cómo la implementamos en Discourse.


Este es un tema de discusión complementario para la entrada original en https://blog.discourse.org/2021/07/faster-user-uploads-on-discourse-with-rust-webassembly-and-mozjpeg/
50 Me gusta

¡Increíble! :heart_eyes: Esta es una mejora extraordinaria. Un trabajo realmente excelente. Ahora es mucho más divertido subir y compartir fotos en las discusiones.

Y como beneficio adicional: las personas con conexiones lentas podrán subir varias fotos a la vez sin que aparezca el temido “Subiendo…” en lugar de la foto. :+1:

21 Me gusta

¡Buena mejora… y feliz cumpleaños, Rafael!

13 Me gusta

¡Qué emoción ver a Discourse aprovechando aún más el poder de Rust! :crab: :muscle:

imageflow es otra biblioteca impresionante de Rust en este ámbito.

Me tomé la libertad de compartir la noticia aquí:

https://www.reddit.com/r/rust/comments/okehky/faster_and_smaller_uploads_in_discourse_with_rust/?utm_source=share&utm_medium=web2x&context=3

17 Me gusta

Esto es algo que tengo en mi sitio ahora mismo. ¿Quieren decir que lanzaron este nivel de funcionalidad mejorada para todos simplemente porque desean un producto mejor?

Una parte de mí sabe que es cierto. He estado en esto lo suficiente como para saber cómo trabajan ustedes, pero vaya. Otra parte de mí siente que me perdí la parte donde esto es una jugada de optimización avanzada.

9 Me gusta

Sí y sí. :smiley:

8 Me gusta

¡Qué radical, tío.

Bill Murray Thank You GIF by filmeditor

9 Me gusta

Lamentablemente, estamos recibiendo muchas quejas de usuarios de Android sobre cursores que saltan y un rendimiento de subida degradado.

3 Me gusta

Tengo una PR abierta que mejorará enormemente la gestión del cursor y los marcadores de posición durante la carga de múltiples archivos.

Si se cumplen todas las siguientes condiciones:

  • No te importan los costos de almacenamiento
  • La mayoría de tus usuarios tiene buena velocidad de subida de internet
  • La mayor parte de tu audiencia navega desde teléfonos Android promedio o peores

Es posible que quieras desactivar la función o ajustar el umbral de tamaño mínimo a unos pocos megabytes más.

10 Me gusta

¡Qué bueno saberlo!

Por desgracia, muchos de mis usuarios tienen teléfonos Android económicos o antiguos, así que no volveré a habilitar la función pronto. En mi iPhone 12 no he tenido ningún problema.

5 Me gusta

Falco, ¿sería posible o de interés proporcionar una configuración de usuario para esto, para que las personas que lo deseen puedan elegir usarlo? ¿O una opción para “usar el cargador de imágenes clásico” como lo hace Craigslist? Seleccionar ese botón alterna el método de carga.

5 Me gusta

Quizás podrías ajustar el tamaño mínimo para que solo se active con archivos mayores a 3 MB, de modo que los teléfonos antiguos no lo alcancen con las fotos de su propia cámara.

Eso estaba incluido en el RFC original, pero se eliminó según los comentarios recibidos.

6 Me gusta

Hola Rafael,

Creo que tenemos un pequeño problema con la nueva gestión de marcadores de posición. Parece que las imágenes se insertan en línea y no en una nueva línea. Esto ocurre no solo en el compositor antes de la optimización, sino también con las cargas regulares. Gracias :slightly_smiling_face:

5 Me gusta

Esto debería solucionarlo

9 Me gusta

Hola Rafael,

Disculpa el retraso, pero acabo de probarlo. :confused: Funciona bien con múltiples cargas si arrastro las imágenes en una nueva línea, pero parece que el problema persiste si arrastro una o varias imágenes al final de un texto. Gracias :slightly_smiling_face:

4 Me gusta

¿Todo bien ahora, @Don?

6 Me gusta

Parece que esto sigue ocurriendo.

4 Me gusta

¿Se ha solucionado esto? @Falco

4 Me gusta

Lo siento, ¿qué es un error en ese video? ¿Eso funciona exactamente como esperaría?

6 Me gusta

Me perdí esta función A setting to always insert images as separate paragraphs - #16 by andrei que creo que funciona bien hasta este commit Faster (and smaller) uploads in Discourse with Rust, WebAssembly and MozJPEG | Blog - #9 by Falco no estoy seguro. :confused:

Tengo un video de mi comunidad sobre esta función cuando se la presenté a los miembros.

5 Me gusta