Commit Graph

66 Commits

Author SHA1 Message Date
Miguel Palhas 5db3a8d7a4 chore: add Dockerfile for Dokploy deploy
ci / web (push) Successful in 44s
e2e / e2e (push) Successful in 1m27s
ci / rust (push) Successful in 2m58s
2026-08-23 07:33:19 +01:00
naps62-yolo 02d99ae558 feat: match RSS results by IMDb id (#99)
ci / web (push) Successful in 28s
e2e / e2e (push) Successful in 53s
ci / rust (push) Successful in 2m15s
2026-08-23 02:44:42 +01:00
Miguel Palhas 3082568171 fix(db): renumber colliding 0011 migration to 0012
ci / web (push) Successful in 45s
e2e / e2e (push) Successful in 1m2s
ci / rust (push) Successful in 2m59s
PRs #97 and #98 each added a migration numbered 0011; merged together
sqlx hits UNIQUE on _sqlx_migrations.version.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-23 02:33:23 +01:00
naps62-yolo bc2da22ea5 fix: reopen the gap for a grab whose torrent vanished (#98)
ci / web (push) Successful in 55s
ci / rust (push) Failing after 3m50s
e2e / e2e (push) Failing after 1m32s
2026-08-23 02:31:50 +01:00
naps62-yolo 55ae44fa7b fix(db): scale TV size bands to episode size (#97)
ci / web (push) Successful in 57s
e2e / e2e (push) Successful in 2m31s
ci / rust (push) Successful in 5m9s
2026-08-23 02:31:44 +01:00
naps62-yolo ad0eb0d9d3 feat: ntfy notifications for imported, needs-decision, broken (#96)
ci / web (push) Successful in 1m0s
e2e / e2e (push) Successful in 3m41s
ci / rust (push) Successful in 5m42s
2026-08-23 02:04:36 +01:00
naps62-yolo 9f812fac11 feat: season-pack vs per-episode grab selection (#94)
ci / web (push) Successful in 24s
e2e / e2e (push) Successful in 54s
ci / rust (push) Successful in 2m11s
2026-08-23 01:40:53 +01:00
naps62-yolo 35391f02fc feat: Jellyfin library refresh on import (#93)
ci / web (push) Successful in 28s
e2e / e2e (push) Successful in 55s
ci / rust (push) Successful in 2m12s
2026-08-23 01:14:46 +01:00
naps62-yolo 225be33b55 feat: RSS sync worker (#91)
ci / web (push) Successful in 26s
e2e / e2e (push) Successful in 53s
ci / rust (push) Successful in 2m13s
2026-08-23 01:04:15 +01:00
naps62-yolo e01505bd53 Targeted-search backoff and release-date gating (#90)
ci / web (push) Successful in 25s
e2e / e2e (push) Successful in 46s
ci / rust (push) Successful in 2m9s
2026-08-23 00:42:13 +01:00
naps62-yolo 0585811a0c Per-tracker seeding rules and torrent reaper (#88)
ci / web (push) Successful in 43s
e2e / e2e (push) Successful in 54s
ci / rust (push) Failing after 2m0s
2026-08-23 00:03:30 +01:00
naps62-yolo 22024d4be2 Attention queues: no-PT-source and needs-decision (#89)
ci / web (push) Successful in 24s
ci / rust (push) Successful in 1m3s
e2e / e2e (push) Successful in 53s
2026-08-22 23:57:42 +01:00
naps62-yolo 01af397a40 Hard/soft fail handling and release blacklist (#87)
ci / web (push) Successful in 26s
ci / rust (push) Successful in 1m6s
e2e / e2e (push) Successful in 52s
2026-08-22 23:42:36 +01:00
naps62-yolo 38bd4102bb Sonarr v3 shim for Jellyseerr (#84)
ci / web (push) Successful in 55s
ci / rust (push) Successful in 1m36s
e2e / e2e (push) Successful in 1m24s
2026-08-22 23:33:09 +01:00
naps62-yolo f38fb1277b Library views with derived status (#83)
ci / web (push) Successful in 33s
ci / rust (push) Successful in 1m29s
e2e / e2e (push) Successful in 1m12s
2026-08-22 23:33:05 +01:00
Miguel Palhas 0343783a57 fix(daemon): use canonical movie states in import
ci / web (push) Successful in 57s
ci / rust (push) Successful in 1m45s
e2e / e2e (push) Successful in 1m48s
PRs #82 and #85 were each green pre-merge; #85 renamed movie states
(grabbed->downloading, imported->available) and #82's import path
still wrote the old names, so main failed the movies CHECK constraint.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-22 23:23:56 +01:00
naps62-yolo ffb8485939 Import pipeline: probe, hardlink, rename, layout (#82)
ci / rust (push) Failing after 1m43s
ci / web (push) Successful in 58s
e2e / e2e (push) Successful in 1m25s
2026-08-22 23:21:30 +01:00
naps62-yolo 62aba6315c feat(db): align movie state with canonical MediaState (#85)
ci / web (push) Successful in 29s
e2e / e2e (push) Successful in 47s
ci / rust (push) Successful in 2m59s
2026-08-22 23:21:09 +01:00
naps62-yolo d3cea8693b feat(api): series, season and episode endpoints (#81)
ci / web (push) Successful in 26s
e2e / e2e (push) Successful in 47s
ci / rust (push) Successful in 2m39s
2026-08-22 23:02:34 +01:00
naps62-yolo e650a762f9 Manual search buckets and attribute chips (#79)
ci / rust (push) Successful in 1m54s
ci / web (push) Successful in 27s
e2e / e2e (push) Successful in 1m21s
2026-08-22 22:42:50 +01:00
naps62-yolo f26f278a75 feat(core): derive series status (#80)
ci / rust (push) Successful in 1m49s
ci / web (push) Successful in 31s
e2e / e2e (push) Successful in 2m1s
2026-08-22 22:38:36 +01:00
naps62-yolo f253e2755b feat(daemon): grab pipeline for wanted movies (#77)
ci / web (push) Successful in 53s
ci / rust (push) Successful in 1m47s
e2e / e2e (push) Successful in 2m1s
2026-08-22 22:38:31 +01:00
naps62-yolo 8d44225b57 feat(indexer): tvsearch with season and episode tags (#78)
ci / web (push) Successful in 50s
ci / rust (push) Successful in 1m18s
e2e / e2e (push) Successful in 1m46s
2026-08-22 22:34:04 +01:00
naps62-yolo fc2a8de58d Propagate auto-track intent to new seasons (#76)
ci / web (push) Successful in 33s
ci / rust (push) Successful in 1m1s
e2e / e2e (push) Successful in 1m41s
2026-08-22 22:26:23 +01:00
naps62-yolo b5413eef46 Use policy scoring weights in release search (#74)
ci / rust (push) Failing after 56s
ci / web (push) Successful in 37s
e2e / e2e (push) Successful in 1m51s
2026-08-22 22:12:17 +01:00
naps62-yolo bf526b9198 Unified search box (#30) (#75)
ci / rust (push) Failing after 1m26s
ci / web (push) Successful in 29s
e2e / e2e (push) Successful in 1m55s
2026-08-22 22:08:32 +01:00
naps62-yolo ac6ed8b798 feat(db): add series, season and episode model (#71)
ci / rust (push) Successful in 1m36s
ci / web (push) Successful in 34s
e2e / e2e (push) Successful in 1m41s
2026-08-22 22:04:27 +01:00
naps62-yolo e5f4e44925 Add reconcile loop scheduler (#69)
ci / rust (push) Successful in 1m42s
ci / web (push) Successful in 32s
e2e / e2e (push) Successful in 1m42s
2026-08-22 22:00:12 +01:00
naps62-yolo 403593cda1 test(probe): add HDR fixture coverage (#72)
ci / rust (push) Successful in 1m23s
ci / web (push) Successful in 29s
e2e / e2e (push) Successful in 1m33s
2026-08-22 21:50:13 +01:00
naps62-yolo 0b7565189e feat(api): owner tags and filtered movie views (#70)
ci / web (push) Successful in 52s
ci / rust (push) Successful in 1m21s
e2e / e2e (push) Successful in 1m41s
2026-08-22 21:43:03 +01:00
naps62-yolo 8444b6ebe5 test(parse): release name fixture corpus (#55)
ci / rust (push) Successful in 2m6s
ci / web (push) Successful in 36s
e2e / e2e (push) Successful in 1m45s
2026-08-22 21:37:42 +01:00
Miguel Palhas 5a1cf999b6 fix(api): adapt search to arr-core scoring API
ci / web (push) Successful in 31s
ci / rust (push) Successful in 2m36s
e2e / e2e (push) Successful in 2m41s
PRs #63 and #65 were each green pre-merge but changed and consumed
the same arr-core surface; merging both broke main. Size bands are
now gibibytes with a points penalty, evaluate takes size_bytes, and
Policy carries score_weights (column wiring tracked in #68).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-22 21:31:45 +01:00
naps62-yolo e9c055675b test(e2e): cross-process harness over the §12 seams (#66)
ci / rust (push) Failing after 1m36s
ci / web (push) Successful in 26s
e2e / e2e (push) Failing after 59s
2026-08-22 21:26:16 +01:00
naps62-yolo c7b57b13e6 Design system tokens (#67)
ci / web (push) Successful in 58s
ci / rust (push) Failing after 1m3s
e2e / e2e (push) Successful in 1m33s
2026-08-22 21:26:10 +01:00
naps62-yolo de2a13060c Search API with classified releases (#65)
ci / rust (push) Failing after 1m1s
ci / web (push) Successful in 49s
e2e / e2e (push) Successful in 1m15s
2026-08-22 21:22:12 +01:00
naps62-yolo 29d6831c83 feat(core): score by distance from target size (#63)
ci / web (push) Successful in 48s
ci / rust (push) Successful in 1m13s
e2e / e2e (push) Successful in 1m15s
2026-08-22 21:15:26 +01:00
naps62-yolo 514628f089 feat(web): SPA skeleton embedded in the binary (#60)
ci / web (push) Successful in 33s
ci / rust (push) Successful in 57s
e2e / e2e (push) Successful in 1m7s
2026-08-22 21:07:40 +01:00
naps62-yolo 94c334ffe9 Radarr v3 shim for Jellyseerr (#62)
ci / web (push) Successful in 12s
ci / rust (push) Successful in 1m44s
e2e / e2e (push) Successful in 1m21s
2026-08-22 21:00:35 +01:00
naps62-yolo a0c2717549 Add per-indexer Torznab search client (#58)
ci / web (push) Successful in 9s
ci / rust (push) Successful in 1m37s
e2e / e2e (push) Successful in 1m32s
2026-08-22 20:56:31 +01:00
naps62-yolo 1cb7f1b2fa feat(probe): ffprobe wrapper (#59)
ci / rust (push) Successful in 1m20s
ci / web (push) Successful in 7s
e2e / e2e (push) Successful in 1m28s
2026-08-22 20:52:09 +01:00
naps62-yolo c7cb3652e5 Enforce Dolby Vision profile policy (#61)
ci / rust (push) Successful in 58s
ci / web (push) Successful in 8s
e2e / e2e (push) Successful in 1m23s
2026-08-22 20:52:06 +01:00
naps62-yolo 99ac79373d feat(api): add movie CRUD API (#56)
ci / web (push) Successful in 8s
e2e / e2e (push) Successful in 1m21s
ci / rust (push) Successful in 3m53s
2026-08-22 20:40:31 +01:00
naps62-yolo 302b7cfe72 Language rule: original language, dubs and pt-BR detection (#57)
ci / web (push) Successful in 8s
ci / rust (push) Successful in 1m5s
e2e / e2e (push) Successful in 1m51s
2026-08-22 20:33:02 +01:00
naps62-yolo 6a8051c70f Transmission RPC client (#52)
ci / web (push) Successful in 7s
ci / rust (push) Successful in 1m22s
e2e / e2e (push) Successful in 2m21s
2026-08-22 20:22:23 +01:00
naps62-yolo e02a9aa813 feat(indexer): enumerate Prowlarr caps (#51)
ci / rust (push) Successful in 1m3s
ci / web (push) Successful in 8s
e2e / e2e (push) Successful in 48s
2026-08-22 20:18:37 +01:00
naps62-yolo 45cd30ae69 Policy filter and verdict pipeline (#54)
ci / web (push) Successful in 5s
ci / rust (push) Failing after 12s
e2e / e2e (push) Successful in 1m5s
2026-08-22 20:18:28 +01:00
naps62-yolo 58827da647 feat(api): axum skeleton with health and OpenAPI (#53)
ci / web (push) Successful in 6s
ci / rust (push) Successful in 45s
e2e / e2e (push) Successful in 1m31s
2026-08-22 20:09:52 +01:00
naps62-yolo 03ca4a26e8 feat(meta): TMDB search and movie lookup (#49)
ci / rust (push) Successful in 1m26s
ci / web (push) Successful in 12s
e2e / e2e (push) Successful in 1m0s
2026-08-22 19:52:57 +01:00
naps62-yolo 3e57cf5bf8 Release name parser (#50)
ci / web (push) Successful in 19s
ci / rust (push) Successful in 56s
e2e / e2e (push) Successful in 1m21s
2026-08-22 19:49:05 +01:00
naps62-yolo 1529e9fdca Bootstrap configuration loading (#46)
ci / web (push) Successful in 14s
ci / rust (push) Successful in 39s
e2e / e2e (push) Successful in 1m15s
2026-08-22 19:44:50 +01:00