Fix parts cache handling
Metadata
Current evaluation
Merged in commit f35b0992a, replacing ETag cache validation with Last-Modified/If-Modified-Since because gzip responses from parts.snapcraft.io omitted ETags.
Resolution: closed resolved
Reason: PR #635 was merged as commit f35b0992a. It fixed stale parts-cache detection by using the server's Last-Modified timestamp for conditional requests.
Evaluated by: mr-cal-bot
No scores available.
Issue body
requests sends "Accept-Encoding: gzip, deflate" by default which causes
parts.snapcraft.io not to send an ETag, so the logic for detecting when
the parts cache is already up to date didn't work. Use Last-Modified /
If-Modified-Since instead of ETag / If-None-Match.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged in commit f35b0992a, replacing ETag cache validation with Last-Modified/If-Modified-Since because gzip responses from parts.snapcraft.io omitted ETags. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged canonical/snapcraft#635, replacing ETag-based cache validation with Last-Modified/If-Modified-Since handling when gzip responses omit ETags. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #635 in commit f35b0992a, fixing parts-cache freshness checks by using Last-Modified/If-Modified-Since instead of ETag/If-None-Match for gzip-encoded responses. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged a fix for parts cache handling where default gzip encoding prevented server ETag responses. Cache validation was updated to use Last-Modified and If-Modified-Since headers instead. The three-file change was reviewed and integrated. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a fix for parts cache validation. Default gzip encoding blocked ETag responses, breaking cache checks. Replaced ETag logic with Last-Modified and If-Modified-Since headers to correctly detect updates. Approved and merged. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1599856 Use If-Modified-Since instead of If-None-Match when updating the remote parts | snapcraft (launchpad) | closed | Fixed remote-parts cache freshness handling in snapcore/snapcraft#635, committed as f35b0992a, by using Last-Modified/If-Modified-Since. |