mirror of
https://github.com/esphome/esphome.git
synced 2026-07-10 17:05:36 +00:00
5ae259ccba
The ETag sidecar describes a specific snapshot of the cache file. If the cache file is replaced or edited out-of-band (manual edit, restore from backup, another tool overwriting it), the sidecar's recorded ETag no longer matches the bytes on disk -- using it would cause the server to return 304 and we'd serve the wrong content from cache. - _write_etag now os.utime()'s the sidecar to share the cache file's st_mtime_ns immediately after writing it. - _read_etag compares the two mtimes; if they don't match it returns None and removes the sidecar so subsequent calls don't re-check it.