Esto es lo que aparece en la consola de JavaScript:
ec89198b693dd221d603373294f36ea14c5c25f1.png:1 GET https://discourse-sumatra-backup.s3.dualstack.us-east-1.amazonaws.com/original/2X/e/ec89198b693dd221d603373294f36ea14c5c25f1.png 403 (Prohibido)
Imagen (asíncrona)
(anonymous) @ _application-f4f68c0db9c527ecb2ed2efb83107d37ca9e6e73caaadc4ab4761618775063f1.js:1
(anonymous) @ _application-f4f68c0db9c527ecb2ed2efb83107d37ca9e6e73caaadc4ab4761618775063f1.js:1
(anonymous) @ _application-f4f68c0db9c527ecb2ed2efb83107d37ca9e6e73caaadc4ab4761618775063f1.js:1
e7cb414e4237ed797a603eeea49d7ed468ac2aee.png:1 GET https://discourse-sumatra-backup.s3.dualstack.us-east-1.amazonaws.com/original/2X/e/e7cb414e4237ed797a603eeea49d7ed468ac2aee.png 403 (Prohibido)
Imagen (asíncrona)
(anonymous) @ _application-f4f68c0db9c527ecb2ed2efb83107d37ca9e6e73caaadc4ab4761618775063f1.js:1
(anonymous) @ _application-f4f68c0db9c527ecb2ed2efb83107d37ca9e6e73caaadc4ab4761618775063f1.js:1
(anonymous) @ _application-f4f68c0db9c527ecb2ed2efb83107d37ca9e6e73caaadc4ab4761618775063f1.js:1
5:1 Error al intentar usar el siguiente icono del Manifiesto: https://forum.sumatrapdfreader.org/manifest.webmanifest (Error de descarga o el recurso no es una imagen válida)
Desafortunadamente, S3 miente y parece devolver 403 para archivos que no existen (en lugar de 404), por lo que es más probable que las imágenes ya no estén en S3 que tengan sus permisos alterados.
Para resumir: lo único que hice fue actualizar Discourse a través de la interfaz web y parece que muchas imágenes fueron eliminadas de la copia de seguridad en S3. Página de ejemplo: No preview in Windows Explorer
¿Alguna sugerencia sobre cómo volver a crear o volver a subir esas imágenes?
Cosas que he intentado y no solucionaron el problema:
rake uploads:recover_from_tombstone
rake posts:missing_uploads
devuelve:
2 uploads are missing.
2 of 6867 posts are affected.
Claramente, hay muchas más de 2 imágenes faltantes.
rake uploads:missing
Actualmente parece estar completamente roto:
default has uploads on S3!
validating without inventory is likely to take an enormous amount of time.
We recommend you run SKIP_EXTERNAL=1 rake uploads:missing to skip validating if on a multisite.
rake aborted!
PG::SyntaxError: ERROR: syntax error at end of input
LINE 1: INSERT INTO verified_ids VALUES
^
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.0.2/lib/patches/db/pg.rb:56:in `exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.0.2/lib/patches/db/pg.rb:56:in `exec'
/var/www/discourse/lib/file_store/s3_store.rb:290:in `list_missing'
/var/www/discourse/lib/file_store/s3_store.rb:197:in `list_missing_uploads'
/var/www/discourse/lib/tasks/uploads.rake:396:in `list_missing_uploads'
/var/www/discourse/lib/tasks/uploads.rake:389:in `block (2 levels) in <main>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.3.0/lib/rails_multisite/connection_management.rb:68:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.3.0/lib/rails_multisite/connection_management.rb:78:in `each_connection'
/var/www/discourse/lib/tasks/uploads.rake:374:in `block in <main>'
/var/www/discourse/lib/tasks/uploads.rake:400:in `block in <main>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => uploads:missing_files
(See full trace by running task with --trace)