Die alten defekten Anhänge/Uploads erscheinen im Rohtext des Beitrags als
[{Dateiname}|attachment](/uploads/default/original/2X/6/{sha1-Hash + Erweiterung}). Dies wird als href="/uploads/default/original/2X/6/{sha1-Hash + Erweiterung}" verarbeitet, was Datei-Anhänge bricht, aber nicht Bilder.
Später funktionierende Anhänge erscheinen als [{Dateiname}|attachment](upload://{sha1-zu-base62 + Erweiterung}) und werden als href="/uploads/short-url/{sha1-zu-base62 + Erweiterung} verarbeitet.
Ich habe ein kleines Ruby-Skript geschrieben, das alle Beiträge im bekannten problematischen Zeitraum durchgeht und alle alten Upload-URLs durch die neuere Version ersetzt. Dabei habe ich die Funktion base62_sha1 des Upload-Modells verwendet, um den sha1-Hash in den erwarteten Dateinamen umzuwandeln, den Discourse-Short-URLs erwarten.
Dadurch funktionierten die Anhänge. Anschließend habe ich noch einmal ein Re-bake durchgeführt, um die Korrektur zu bestätigen, und es scheint immer noch zu funktionieren. Es scheint, als läge das Problem ausschließlich in Post.raw und habe nichts mit Upload zu tun.