GitHub's Camo Aggressive Caching Prevent Diagrams from being Updated in Markdown

+1 vote
asked Feb 13, 2018 in Closed feature request by Marcio
Hey PlantUML Team,

I use your proxy server to show UML diagrams in GitHub markdown files and they work just great. GitHub caches the generated images using a service of their own named "Camo" though: https://help.github.com/articles/about-anonymized-image-urls/

That's a pain, given that the generated images don't get updated when I change my UML files.

I wonder if you guys could set the header "Cache-Control" to "no-cache" as a permanent solution to this issue?

(more details on the GitHub help page in the link)

Thanks, dudes.

Marcio.

1 Answer

0 votes
answered Feb 13, 2018 by plantuml (295,000 points)
Are you sure that the header "Cache-Control" is the source of this issue ?

Changing your UML file means changing the generated URL (for example from http://www.plantuml.com/plantuml/png/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000 to http://www.plantuml.com/plantuml/png/SoWkIImgAStDuNBAJrBGjLDmpCbCJbMmKiX8pSd9LqZEICnBJqtXSaZDIm4g0W00 )

If the UML source is different, then the generated URL is different. So "Cache-Control" should not be an issue here. Except if we miss something...
commented Jul 21, 2020 by VGoncharuk
Having the same issue with ignoring the "cache=no" parameter. Please, fix it ASAP ( if possible )
commented Jul 22, 2020 by plantuml (295,000 points)
This should be fixed now.

Tell us if it's not working for you !
commented Jan 13, 2021 by Charles
I'm using .../proxy?cache=no&src=... in a GitHub Markdown file and it's still not updating properly.

I'm using !include in the files referred to in the Markdown file, and I would like to be able to change an included PlantUML file and see the change in the Markdown file.
commented Jul 16, 2021 by Fuhrmanator (1,700 points)
@Charles - if you're trying this on a private repo, it won't work because there's a token generated every time.
commented Aug 14, 2021 by kirchsth (4,960 points)
Hi @plantuml,

I think that the plantuml server cache control is the problem (details see dynamic-content-changed-include-calculated-cached-for-days)

Best regards
Helmut

...