10c41677bd
test / test (push) Has been cancelled
The assets are baked into the binary, so their FS modification times are the zero value and http.FileServer sent no Last-Modified. With no ETag either, a static response carried no validator at all and the browser was free to guess how long to keep it -- which is how the panel kept showing the previous favicon in the tab well after the new mark was deployed. Hash each asset once at startup and serve that as a strong ETag, with Cache-Control: no-cache so the browser keeps its copy but revalidates. An unchanged asset then costs a bodyless 304 and a changed one is picked up on the next load. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>