Miguel Palhas
160c00c77f
feat(web): render tv lanes in attention queues
2026-08-23 19:23:19 +01:00
Miguel Palhas
779d4b8504
Merge #139 : episode tag beats a movie id match
...
Closes #139
2026-08-23 19:17:47 +01:00
Miguel Palhas
64e711feec
fix(core): guard movie id lane against episode tags
2026-08-23 19:13:49 +01:00
Miguel Palhas
a378b22306
Merge #134 : satisfied titles leave the attention queue
...
Closes #134
2026-08-23 19:09:15 +01:00
Miguel Palhas
04b2688330
Merge #124 : match RSS results against wanted episodes
...
Closes #124
2026-08-23 19:09:15 +01:00
Miguel Palhas
91414a043f
chore: regenerate sqlx query data
2026-08-23 19:07:29 +01:00
Miguel Palhas
a28b455fff
fix: gate hard-fail attention on unsatisfied titles
2026-08-23 19:07:29 +01:00
Miguel Palhas
9df120b92a
feat(daemon): match RSS results to wanted episodes
...
One feed pass now serves films and episodes alike. A
single-episode release grabs its open episode directly; a season
pack only grabs when season_grab_mode allows packs for that
season (§14, #117 ), and when it wins, the singles stand down.
Blocked series keep matching RSS (§6.3) and nothing here touches
the targeted-search backoff (§6.2).
2026-08-23 19:07:00 +01:00
Miguel Palhas
03e7774869
Merge #136 : resolve IMDb ids to series as well
...
Closes #136
2026-08-23 19:01:42 +01:00
Miguel Palhas
fea1a04c75
feat(api): surface series for IMDb id searches
2026-08-23 18:59:35 +01:00
Miguel Palhas
3956617d41
feat(meta): resolve IMDb ids against series too
2026-08-23 18:59:35 +01:00
Miguel Palhas
d8316ae0c8
feat(api): series files keyed by episode id
2026-08-23 18:41:36 +01:00
Miguel Palhas
127338fd4d
Merge #132 : drain manual episode and season commands
...
Closes #132
2026-08-23 18:27:43 +01:00
Miguel Palhas
695f1882be
Merge #128 : series delete unlinks its files
...
Closes #128
2026-08-23 18:25:56 +01:00
Miguel Palhas
8a77049fdb
feat(daemon): drain all manual command channels
2026-08-23 18:24:50 +01:00
Miguel Palhas
39e6bce2a0
feat(daemon): manual episode/season triggers
2026-08-23 18:24:50 +01:00
Miguel Palhas
b0f56f59aa
fix(api): delete series files and media_files rows
2026-08-23 18:23:41 +01:00
Miguel Palhas
1eac85c427
Merge #131 : derive status from the episode's own season number
...
Closes #131
2026-08-23 18:21:34 +01:00
Miguel Palhas
50b68e24b6
api: derive status from episode season numbers
...
with_status drops its seasons slice for the same reason as
derive_series_status; tv_by_series no longer loads seasons at all.
Offline query data regenerated.
2026-08-23 18:18:26 +01:00
Miguel Palhas
69263da4f3
daemon: populate season_number on refreshed episodes
2026-08-23 18:18:26 +01:00
Miguel Palhas
b51386e004
core: carry season number on Episode
...
derive_series_status identified specials by looking the episode's
season up in a parallel seasons slice, so a caller passing an
incomplete slice silently reverted to pre-#118 behaviour. The season
number now rides on each episode and the slice is gone.
2026-08-23 18:18:26 +01:00
Miguel Palhas
17949c0848
Merge #138 : close title boundary on plural season ranges
...
Closes #138
2026-08-23 18:17:19 +01:00
Miguel Palhas
4f848c27f0
fix(parse): close title on spelled-out season ranges
2026-08-23 18:12:47 +01:00
Miguel Palhas
e4c49b75de
Merge #130 : add a series from unified search
...
Closes #130
2026-08-23 18:05:45 +01:00
Miguel Palhas
00d0ec7f16
Merge #135 : fix season-pack name parsing
...
Closes #135
2026-08-23 18:05:39 +01:00
Miguel Palhas
adfc60154d
Merge #122 : reconcile episodes that vanish upstream
...
Closes #122
2026-08-23 18:05:39 +01:00
Miguel Palhas
8d79c7c378
fix(parse): pack titles and degenerate ranges
...
COMPLETE before the season tag was weak junk, so it stayed in
the title and exact-title matching failed silently (#135 ). It
now closes the boundary wherever it lands.
S01-S01 produced no claim because the dash-range branch required
last > season; a degenerate range is one season's pack, matching
the rule match_episode lifted.
2026-08-23 18:02:39 +01:00
Miguel Palhas
34ccbeeb5a
feat(api): expose vanished flag on episodes
2026-08-23 18:01:41 +01:00
Miguel Palhas
043ebffa1c
feat(web): series and episodes in unified search
...
In-library hits now read as whatever they are: movies open the release
deck as before, series hits render display-only until issue 129's detail
view gives them a link target, and an episode hit reads as its series
plus SxxEyy plus the episode title. TMDB results show TV alongside film,
and the add panel filters roots by kind; a series adds the one §4.1
add-time choice, auto_track, stated plainly: future seasons are tracked
automatically, past seasons are not.
2026-08-23 18:00:54 +01:00
Miguel Palhas
8b9a6d5a16
feat(daemon): reconcile episodes that vanish upstream
2026-08-23 17:59:45 +01:00
Miguel Palhas
3bcc612f9a
feat(db): flag episodes that vanish upstream
2026-08-23 17:59:41 +01:00
Miguel Palhas
384e260d72
Merge #121 : daily series metadata refresh
...
Closes #121
2026-08-23 17:47:46 +01:00
Miguel Palhas
0c58aae707
feat(daemon): daily series metadata refresh lane
2026-08-23 17:45:09 +01:00
Miguel Palhas
808145d73b
feat(db): stamp series metadata refresh time
2026-08-23 17:45:09 +01:00
Miguel Palhas
360a4bf43c
Merge #127 : unified search covers series and episodes
...
Closes #127
2026-08-23 17:41:22 +01:00
Miguel Palhas
58f2f8361a
feat(web): mirror tv results in search client
2026-08-23 17:39:49 +01:00
Miguel Palhas
9f8d58fd58
feat(api): unified search covers series and episodes
2026-08-23 17:35:40 +01:00
Miguel Palhas
237696417b
Merge #123 : episode and season-pack matching in arr-core
...
Closes #123
2026-08-23 17:10:05 +01:00
Miguel Palhas
e6d3ea4964
feat(core): episode and season-pack matching
2026-08-23 17:06:04 +01:00
Miguel Palhas
8b8e1dcec9
Merge #126 : TV titles in the needs-a-decision queue
...
Closes #126
2026-08-23 16:58:08 +01:00
Miguel Palhas
bb75750548
fix(web): reword comment tripping the token gate
2026-08-23 16:56:19 +01:00
Miguel Palhas
24f5295e87
chore(db): refresh offline query data
2026-08-23 16:55:58 +01:00
Miguel Palhas
28e7dd9a20
Merge #119 : seasons.tracked governs episode intent
...
Closes #119
2026-08-23 16:54:47 +01:00
Miguel Palhas
e3d41c24e1
refactor(daemon): extract tv queue roll-up
2026-08-23 16:53:52 +01:00
Miguel Palhas
8c7c785c74
Merge #125 : season search, deck and grab
...
Closes #125
2026-08-23 16:52:45 +01:00
Miguel Palhas
7632140ef2
fix(api): hoist test helper above statements
2026-08-23 16:52:13 +01:00
Miguel Palhas
8ec1506098
refactor: split long functions in tv attention work
2026-08-23 16:51:29 +01:00
Miguel Palhas
def9650489
style: cargo fmt
2026-08-23 16:50:53 +01:00
Miguel Palhas
fa3b5226e7
feat(api): season tracked toggle marks revealed episodes
2026-08-23 16:50:45 +01:00
Miguel Palhas
75bf6fb14e
feat(api): season search, deck and grab endpoints
2026-08-23 16:49:42 +01:00