Commit graph

2 commits

Author SHA1 Message Date
Broque Thomas
b475dc5a20 fix(lint): silence ruff B007 + S110
- core/torrent_clients/transmission.py: rename unused loop var
  `attempt` to `_attempt` in the session-id renegotiation loop
  (B007 — loop var not used in body).
- core/image_cache.py: log the cleanup exception instead of
  swallowing it silently (S110 — bare try/except/pass). debug
  level since a failed tmp unlink is non-fatal; the outer
  ``raise`` still propagates the original error.

Full ruff sweep clean.
2026-05-20 16:18:55 -07:00
Broque Thomas
136d665c8a feat(webui): cache artwork images on disk
Add a disk-backed image cache with hashed browser URLs, SQLite metadata, size/type validation, stale fallback, and per-image fetch locking. Route normalized artwork through /api/image-cache while keeping /api/image-proxy as a compatibility shim, and align browser max-age with the image cache TTL. Add focused tests for cache behavior and image URL normalization.
2026-05-20 10:43:47 -07:00