Repository navigation
v1.10.0
Features
- Full offline image cache + pre-sized covers (#80). SleeveNotes now works fully offline for images: after one healthy visit, every cover in the grid, table, and detail view is cached and available with no network — only the full-size lightbox still needs a connection. On each page load the frontend hands the service worker a manifest of every image so the cache fills itself in the background (per-URL, no all-or-nothing). This is backed by two smaller derivatives generated for every cover at download time — 400px for tiles/detail/carousel, 150px for table thumbnails — so offline pages pull far less data. Existing images are backfilled once on startup and can be rebuilt on demand via Settings → Data → Rebuild Thumbnails.
- Lightbox navigation & set-cover (#78). The full-size image lightbox now has prev/next arrows to page through a release's images, plus a set-cover action so you can promote any image to the cover without leaving the lightbox.
- Wishlist detail navigation (#83). The wishlist detail modal gets the same prev/next arrows the collection detail modal already had — step through wishlist items in place.
- Section is remembered across refresh (#79). Reloading the page now keeps you on Collection or Wishlist (stored in sessionStorage). Opening a fresh tab still starts on Collection.
- Close modals with ESC (#92). Pressing ESC dismisses any open modal dialog.
- Site footer (#90). A footer links out to the project's GitHub repo.
Fixes
- Valuation is read-only in the edit form (#86). The Discogs-sourced valuation field can no longer be hand-edited; it's populated on fetch/refresh only.
- Wishlist tiles respond on first tap (#98). Wishlist tiles now show the selection overlay on the first tap, matching collection tiles.
- Compose project name pinned to
sleevenotes(#88). See upgrade note below.
⚠️ Upgrade note — Docker Compose project name (#88)
compose.yml now pins name: sleevenotes. Previously the project name was inferred from the deployment directory's name, which meant a second Compose stack in the same directory running docker compose up --remove-orphans could delete the SleeveNotes container.
Potential impact depends on where you deploy from:
- You deploy from a directory called
sleevenotes/ a repo clone (SleeveNotes/): no action needed — the pinned name already matches the inferred one. - You deploy from a differently-named directory (e.g.
~/docker/vinyl/): on your firstdocker compose upafter upgrading, the project name changes and you may hit:- A one-time container name conflict (the old container still carries the old project label). Resolve with:
No data is lost — the
docker rm -f sleevenotes && docker compose up -dsleevenotes_datavolume is re-attached by its explicit name. - A harmless cosmetic warning on every subsequent
up: "volume sleevenotes_data was created by a different Compose project". The volume and its data are fine. To silence it, either declare the volume asexternal: truein your localcompose.yml, or create a fresh volume under the new project name and copy the data across.
- A one-time container name conflict (the old container still carries the old project label). Resolve with:
Internal
- API regression test suite — 65 tests (#89). First slice of the automated regression suite (#81); covers the API surface. Full functional/UI regression coverage remains to be built, so #81 stays open.
What's Changed
- fix: make valuation field readonly in edit form by @SiDtheTurtle in #86
- feat: API regression test suite (65 tests) by @SiDtheTurtle in #89
- Add prev/next navigation and set-cover to the lightbox (#78) by @SiDtheTurtle in #93
- feat: persist collection/wishlist section across page refresh (#79) by @SiDtheTurtle in #94
- feat: persist collection/wishlist section across page refresh (#79) by @SiDtheTurtle in #95
- Pre-sized cover derivatives + full offline image cache (#80) by @SiDtheTurtle in #96
- feat: prev/next nav on the wishlist detail modal (#83) by @SiDtheTurtle in #97
- fix: wishlist tiles show overlay on first tap like collection tiles by @SiDtheTurtle in #98
- fix: pin Compose project name to sleevenotes (#88) by @SiDtheTurtle in #99
- feat: site footer linking to the GitHub repo (#90) by @SiDtheTurtle in #100
- feat: close modal dialogs on ESC (#92) by @SiDtheTurtle in #101
Full Changelog: v1.9.2...v1.10.0