-
watchcraft v0.2.0
StableSome checks failedRelease / release (release) Failing after 2m48sreleased this
2026-05-21 05:53:58 +00:00 | 1 commits to main since this releaseWhat's new
TV shows now appear in the feed
Two bugs conspired to make TV shows invisible. The rate queue used a single
LIMIT 30query sorted by vote average — high-rated movies consumed all 30
slots. TV shows now get their own top-30 pool, so both types are always
represented.Redesigned feed layout
The Movies / TV Shows tabs have moved to the top of the page. Each tab now
owns a complete experience: a For You strip of in-library recommendations
followed by the Discover feed. Previously For You was a single mixed strip
above a tabbed Discover section.Rating fixes
- "Haven't seen it" (★×0) no longer blocks recommendations. A skip vote
was being treated as a preference signal and evicting items from the scored
pool. It no longer does. - Watched-but-unrated items return to the rate queue after playback. Items
played in Jellyfin are now cleared of their skip flag on history sync, so
they surface for rating. - Watched items are no longer hidden from the rate queue entirely. Excluding
all watch history meant watched TV shows could never be rated, making TV
recommendations structurally impossible.
Structured logging
All application layers (feed, rec engine, Jellyfin sync, Seerr, cron jobs,
routes) now emit structured JSON logs via pino, withmoduleand
request-scoped fields. Log level is controlled by theLOG_LEVELenv var.Leaner Docker image
The runtime image no longer depends on
tsx. TypeScript is compiled to
plain JS in a multi-stage build; the final image runsnode dist/src/app.js
directly, cutting image size and removing a dev dependency from the attack
surface.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- "Haven't seen it" (★×0) no longer blocks recommendations. A skip vote
-
watchcraft v0.1.2
Stablereleased this
2026-05-21 03:44:30 +00:00 | 13 commits to main since this releasewatchcraft v0.1.2
- Proxy and none auth modes now grant admin to the first user, matching
the behaviour of local mode's setup wizard. - Auth failures now report which header was expected, and log received
headers at debug level to aid misconfiguration diagnosis.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Proxy and none auth modes now grant admin to the first user, matching
-
watchcraft v0.1.1
Stablereleased this
2026-05-21 03:24:11 +00:00 | 17 commits to main since this releasewatchcraft v0.1.1
Fixes production image startup failure caused by
pino-prettybeing
listed as a dev dependency and excluded from the Docker build.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
watchcraft v0.1.0
Stablereleased this
2026-05-21 02:54:52 +00:00 | 20 commits to main since this releasewatchcraft v0.1.0
Initial release. Self-hosted media recommendation app for Jellyfin libraries.
What's included:
- Star-rating UI for your Jellyfin library
- Discovery feed powered by TMDB recommendations
- Optional Seerr/Jellyseerr request buttons
- Optional Ollama one-sentence explanations
- Multi-user support with shared audiences
- Three auth modes: local accounts, SSO proxy header, none
- SQLite (default), PostgreSQL, and MariaDB support
See
docker-compose.ymlfor deployment. Requires a Jellyfin instance and a free TMDB API key.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads