Las opciones “Medios Seguros” + “Habilitar cargas en S3” parecen romper los logotipos de las categorías.
Recientemente descubrí que los documentos cargados podían verse o descargarse mediante un enlace URL directo por parte de usuarios que no tenían acceso a la publicación privada donde se había cargado el documento. Entendí que primero había que habilitar las cargas en S3 para usar la función de Medios Seguros, así que lo habilité primero y copié manualmente las cargas desde el servidor de Discourse al bucket de S3. Luego seguí esta publicación para habilitar Medios Seguros:
Después de seguir ese procedimiento, tuve que ejecutar un remapeo de Discourse para cambiar /uploads/default/ por //bucketname-etc-etc/. Tras el remapeo, ejecuté rake posts:rebake y todo parecía estar bien en su mayoría. Todas las demás cargas (documentos e imágenes en publicaciones, imágenes de marca del sitio, etc.) seguían mostrándose y enlazándose correctamente después de habilitar Medios Seguros y ejecutar las tareas rake y de remapeo correspondientes. Sí tuve que volver a cargar los avatares de usuario y los logotipos de grupo, pero una vez que se volvieron a cargar, todos se mostraron correctamente y tenían las nuevas URLs cortas y las URLs de secure-media-uploads como se esperaba.
Sí noté que las imágenes de logotipo de las categorías ya no se mostraban. Mientras revisaba con el modo desarrollador de mi navegador, noté que al volver a cargar una imagen de logotipo de categoría, se creaba la URL correcta de secure-media-uploads, mostrando la imagen correctamente. Sin embargo, una vez que hacía clic en “Guardar categoría”, la página de la categoría se actualizaba e intentaba incorrectamente mapear directamente a la URL sin firmar de AWS S3 para la imagen, lo que impedía que se mostrara:
Cada página en Discourse que muestra una imagen de logotipo de categoría intenta mapear la imagen directamente a la URL sin firmar de AWS S3 en lugar de a la URL de secure-media-uploads.
Como solución alternativa, he tenido que visitar laboriosamente cada objeto de imagen de logotipo de categoría en AWS S3 y cambiar los permisos a Lectura pública.
He confirmado que este comportamiento existe en los navegadores Chrome, Firefox y Microsoft Edge. He intentado las tareas rake posts:rebake y uploads:secure_upload_analyse_and_update, pero parecen no hacer nada con el logotipo de la categoría. ¿Quizás hay otra tarea que solucione estas URLs de imagen de logotipo de categoría mapeadas incorrectamente? ¿O esto es en realidad por diseño, requiriendo que todos los objetos de carga en S3 sean de lectura pública, excepto aquellos que son seguros (publicaciones privadas)?
