This page has not been edited in over 3 years and says Varnish does not have full ESI support:
https://www.varnish-cache.org/trac/wiki/ESIfeatures
Perhaps you missed it, or perhaps this anecdote took place prior to this page's posting.
In either case, seems it was a misunderstanding - which goes back to my first comment about a reported bug is not always a real bug just because one (or a few) users believe it to be.
I realize that would require more extensive changes to support; my only point is that I wanted to use ESI specifically in relation to forced invalidation.
I reported the bug quite clearly, and the main dev said I was wrong and to this day refuses to acknowledge that forced invalidation does not work sensibly in regard to ESI.
I would like to point out again, that this is water under the bridge. I still support Varnish and respect the developer. I simply wish we could all get along and acknowledge limitations of what we do, rather than denying valid points made about software.
That is the true source of the anger in open source; developers refuse to acknowledge that people use their software in ways they didn't expect, and that you have to listen carefully to appreciate what people want. As a developer, it is unreasonable to brush off and ignore people who are trying to help.
It is usually advised to people who manage open source projects to stay focused on their vision, and not accept random improvements that do not help towards their self-imposed goal.
I reported this behavior properly, and I was told that I don't know what I am talking about and there was no problem. The bug I filed was then closed without the issue being fixed or addressed in any way.
I can and will make a competing reverse proxy; because ESI is important IMO, and disregarding supporting it properly is silly.
I think Varnish is great; I'm happy it exists; I think it is silly to close a reported bug on the codebase without addressing it properly. The proper address to it is to simply say "No we don't really support ESI", just as I have said "No my parser is not really an 'XML' parser, because it doesn't really follow the spec."