Avatars werden nicht in S3 hochgeladen

Ich habe vor einigen Monaten auf die Nutzung von S3 für Uploads für ein Forum umgestellt. Insgesamt schien das ein Erfolg zu sein.

  • Uploads von neuen Beiträgen werden perfekt auf S3 hochgeladen
  • Die Migration alter Uploads aus Beiträgen auf S3 funktionierte problemlos mit rake uploads:migrate_to_s3
  • Bestehende Avatare wurden nicht migriert
  • Neue Avatar-Uploads werden nicht auf S3 hochgeladen
  • Neue Hintergrundbilder für Benutzer und Karten werden problemlos auf S3 hochgeladen

Um das Problem zu beheben, habe ich versucht, rake avatars:refresh und avatars:clean auszuführen, nachdem ich diesen Thread verfolgt hatte: Problems with avatar uploads due to S3 changes - #21 by Daniel_Lopes. Ich habe auch versucht, rake uploads:migrate_to_s3 erneut auszuführen. Das hat das Problem jedoch nicht gelöst.

Weiß jemand, was ich übersehen haben könnte? :face_with_monocle:

Eine weitere Beobachtung: Ich habe gerade bemerkt, dass beim Hochladen eines neuen Avatars das Bild erfolgreich auf S3 hochgeladen wird. Ich kann das Element vor dem Speichern inspizieren und sehe, dass die URL eine S3-URL (über CDN) ist und funktioniert einwandfrei. Nach dem Speichern beziehen sich jedoch alle Verweise auf den Avatar auf ein lokales Bild (was ebenfalls funktioniert). :orangutan:

Irgendwelche Ideen hier, @vinothkannans?

@markersocial Deine Avatar-Uploads werden weiterhin ausschließlich aus dem S3-Speicher bereitgestellt. Die lokale URL, die in der Benutzeroberfläche angezeigt wird, ist eine dynamische Proxy-URL, die zuvor Avatare in vielen benutzerdefinierten Größen bereitgestellt hat.

Danke @vinothkannans, ich schätze das! Sehr gut zu wissen.

Ich habe jedoch bemerkt, dass ich beim Inspizieren von Avataren in einem Thread auf meta.discourse.org eine CDN-URL sehe. Wenn ich dasselbe auf dem anderen Forum mache (das ein CDN für S3 konfiguriert hat), erhalte ich eine lokale URL. Ich bin mir nicht sicher, ob das ein Problem ist.

Das liegt daran, dass wir für lokale URLs und Assets ein separates CDN verwenden.