ec96fced40
These endpoints had no Cache-Control, so the browser re-downloaded every thumbnail on each grid mount (the client fetches them with an auth header, which also bypasses default image caching). Returning to the grid after viewing a file re-fetched the whole visible page of thumbnails. Add Cache-Control: private, max-age=3600. Content is immutable per file id from the client's perspective (there is no replace-content UI); a future replace flow should cache-bust via a versioned URL. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>