PullHotlinkedImages ersetzt Bilder nach einer Bearbeitung des Beitrags nicht erneut

Hey,

image
Bezugnehmend auf:

Tatsächlich scheint das Problem beim Herunterladen von Bildern in bearbeiteten Themen mit system nicht vollständig gelöst zu sein. Entschuldige, dass ich es nicht früher bemerkt habe. Zum Beispiel dieses oder dieses.

Als Erinnerung: In unserem Fall handelt es sich um eine automatische Kategorienänderung (über die API).

Mein Kunde hat immer noch Themen, bei denen PullHotlinkedImages nichts bewirkt, egal was man tut:

  • Durch einfaches Save Edit oder sogar
  • Post.update_all(baked_version: nil) + Jobs.enqueue_in(10, :pull_hotlinked_images, post_id: <id>)

Es funktioniert jedoch, wenn man ein neues Thema mit demselben Inhalt erstellt.

@david

1 „Gefällt mir“

Das ist seltsam, es muss einen Unterschied bei der Erstellung des Themas über die API geben.

Wie genau werden die Beiträge erstellt? Können Sie die von Ihnen verwendeten API-Parameter teilen?

2 „Gefällt mir“

Wenn ich von “neuem Thema” spreche, meine ich direkt in Discourse, nicht über die API.

Ursprünglich ist es ein Thema, das von WP-Discourse erstellt wurde; also sollte es diesen Code sein:

Wenn Sie sich beispielsweise die erste Bearbeitung des oben verlinkten Themas ansehen, sehen Sie deutlich, wie das System die Bilder ersetzt. Daher ist WP-Discourse wahrscheinlich nicht das Problem.

Später aktualisierte der ursprüngliche Autor den WordPress-Beitrag, das Discourse-Thema wurde aktualisiert und die ursprünglichen Bilder sind wieder da:

Dann fand eine Kategorienänderung statt, und ab diesem Zeitpunkt macht PullGotlinkedImages nichts mehr:


Wenn Sie den Code für die Kategorienänderung sehen möchten, sieht er ungefähr so aus:

3 „Gefällt mir“

Perfekt, danke für die detaillierte Zusammenfassung! Ich denke, das Problem liegt hier:

Ich habe es geschafft, einen fehlerhaften Testfall dafür zu erstellen. Es scheint, dass wir den URL-Ersatz nur durchführen, wenn das Bild zum ersten Mal heruntergeladen wird. Wenn wir das Bild bereits einmal heruntergeladen haben, wird es nicht erneut ersetzt.

Dies ist ein fehlerhafter Test, der das Problem verdeutlicht:

https://github.com/davidtaylorhq/discourse/blob/27ccf99d162005f82bf4d4e69f860cf78affcfcb/spec/jobs/pull_hotlinked_images_spec.rb#L63-L80

Ich werde ihn auf meine Liste für die Behebung setzen. Ich sollte in den nächsten paar Wochen dazu kommen.

7 „Gefällt mir“

Toll!

Es scheint, du hast recht. Ich habe andere Themen überprüft und kann sehen, dass das System früher die Bilder gut ersetzt hat.

Gibt es dazu Neuigkeiten oder einen Status?

Noch nichts, aber es steht noch auf der Liste!

1 „Gefällt mir“

Dies sollte nachfolgend behoben werden

Ich habe einen Testfall für diesen Fall hinzugefügt, damit es in Zukunft nicht wieder auftritt.

4 „Gefällt mir“

Ich habe gerade einige von system bearbeitete Themen manuell schnell bearbeitet/gespeichert, und es scheint, dass PullHotlinkedImages jetzt funktioniert. Ich werde den Befehl später ausprobieren, aber ich bin mir sicher, dass er ebenfalls einwandfrei funktionieren wird.

Vielen Dank!

1 „Gefällt mir“

Dieses Thema wurde automatisch nach 2 Tagen geschlossen. Neue Antworten sind nicht mehr erlaubt.