-
0c595a787e
library: batch audio-codec lookup — per-row subquery was O(page×streams)
main
Felix Förtsch
2026-04-15 19:42:23 +02:00
-
7d30e6c1a6
library: rename Scan nav/page to Library, show audio codecs per row
Felix Förtsch
2026-04-15 19:10:00 +02:00
-
a2bdecd298
rework scan page, add ingest-source browsing, bump version to 2026.04.15.8
Felix Förtsch
2026-04-15 18:31:00 +02:00
-
c6698db51a
improve running-job responsiveness, bump version to 2026.04.15.7
Felix Förtsch
2026-04-15 16:58:53 +02:00
-
604fdc5c6c
settings: clicking the eye again actually hides the secret
Felix Förtsch
2026-04-15 14:51:57 +02:00
-
c22642630d
pipeline: live sleep countdown; settings: full-width fields, eye inside input
Felix Förtsch
2026-04-15 14:29:35 +02:00
-
ab65909e6e
pipeline: stop wiping Review scroll state on every SSE tick
Felix Förtsch
2026-04-15 12:26:04 +02:00
-
07c98f36f0
review: lazy-load groups with infinite scroll, nest seasons
Felix Förtsch
2026-04-15 12:13:28 +02:00
-
4e96382097
test: buildReviewGroups — completeness, season buckets, sort, filters
Felix Förtsch
2026-04-15 12:10:47 +02:00
-
3f910873eb
review: add /groups endpoint with server-side grouping + pagination
Felix Förtsch
2026-04-15 12:09:27 +02:00
-
3f848c0d31
plan: review column lazy-load + season grouping
Felix Förtsch
2026-04-15 12:06:57 +02:00
-
967d2f56ad
spec: review column lazy-load + season grouping
Felix Förtsch
2026-04-15 12:04:24 +02:00
-
45f4175929
v2026.04.15.2 — queue pump, strict parseId, settings secret masking
Felix Förtsch
2026-04-15 08:15:45 +02:00
-
e040c9a234
settings: mask API keys in GET /api/settings, add eye-icon reveal
Felix Förtsch
2026-04-15 08:15:08 +02:00
-
b0d06a1d8c
execute: drain newly-approved jobs mid-run, use strict shared parseId
Felix Förtsch
2026-04-15 08:12:59 +02:00
-
e49a04c576
v2026.04.15.1 — drop verify/checkmarks, merge jobs view into item details
Felix Förtsch
2026-04-15 07:07:06 +02:00
-
346cd681f9
details: surface job status, command, log, and run/cancel inline
Felix Förtsch
2026-04-15 07:06:20 +02:00
-
17b1d5974a
pipeline: remove plan_update SSE listener (feature gone)
Felix Förtsch
2026-04-15 07:04:44 +02:00
-
12e4fbf14e
pipeline: batch controls move to queued column header
Felix Förtsch
2026-04-15 07:04:06 +02:00
-
d6e8d264c5
done column: drop checkmark glyph and verify-unverified button
Felix Förtsch
2026-04-15 07:03:19 +02:00
-
f6488b6bbe
delete /execute page, route, and Jobs nav link
Felix Förtsch
2026-04-15 07:02:32 +02:00
-
2eacda9127
client types: drop verified, add job on DetailData
Felix Förtsch
2026-04-15 07:01:36 +02:00
-
688443e732
enrich GET /api/review/:id with the latest job row
Felix Förtsch
2026-04-15 07:00:47 +02:00
-
0d6781973b
rip out jellyfin handoff verification path and verify-unverified endpoint
Felix Förtsch
2026-04-15 06:58:55 +02:00
-
cbf0025a81
drop review_plans.verified column and all its references
Felix Förtsch
2026-04-15 06:55:43 +02:00
-
81b2990dca
plan: drop verify/checkmarks, merge jobs view into item details
Felix Förtsch
2026-04-15 06:49:34 +02:00
-
9d7b76339b
spec: drop verify/checkmarks, merge jobs view into item details
Felix Förtsch
2026-04-15 06:43:52 +02:00
-
0e53640b94
done column: 'verify N' header button to backfill ✓ → ✓✓
Felix Förtsch
2026-04-14 20:59:28 +02:00
-
51d56a4082
push verified=1 to the UI via a plan_update SSE event
Felix Förtsch
2026-04-14 20:51:47 +02:00
-
3be22a5742
done column: hover 'back to review' to re-queue a done/errored plan
Felix Förtsch
2026-04-14 18:50:54 +02:00
-
d2983d5f38
skip non-extractable subs (dvdsub/dvbsub/unknown), summarise ffmpeg errors
Felix Förtsch
2026-04-14 18:42:05 +02:00
-
afd95f06df
✓✓ is now jellyfin-corroborated, not a self-confirming ffprobe
Felix Förtsch
2026-04-14 18:29:00 +02:00
-
90fd87be61
pipeline cards: click the title to open the audio details view
Felix Förtsch
2026-04-14 18:24:00 +02:00
-
47781e04f9
review column: 'approve above' on hover, wrap long audio titles
Felix Förtsch
2026-04-14 18:11:57 +02:00
-
1de5b8a89e
address audit findings: subtitle rescan decisions, scan limit, parseId, setup gate
Felix Förtsch
2026-04-14 17:41:36 +02:00
-
d05e037bbc
webhook: PascalCase payload + ItemAdded only, switch ✓✓ signal to ffprobe
Felix Förtsch
2026-04-14 17:27:22 +02:00
-
9cdc054c4b
audio titles: rewrite to canonical 'ENG - CODEC · CHANNELS', two-line pipeline card
Felix Förtsch
2026-04-14 16:02:32 +02:00
-
027ea498c3
done column: double-checkmark when jellyfin webhook corroborates the plan
Felix Förtsch
2026-04-14 15:50:57 +02:00
-
4baf209134
pipeline card: always show track title so same-language audios are distinguishable
Felix Förtsch
2026-04-14 15:50:51 +02:00
-
ff74cc3a04
queue column: reuse review card read-only, back-to-review instead of approve
Felix Förtsch
2026-04-14 12:48:27 +02:00
-
4057b692ba
audio: single EAC3 transcode target, prefer direct-play over lossless default
Felix Förtsch
2026-04-14 10:23:49 +02:00
-
aca627930f
pipeline card: checkboxes over actual audio streams, not a language dropdown
Felix Förtsch
2026-04-14 10:13:37 +02:00
-
6698af020d
analyzer: keep only one audio track per language, drop commentary/AD
Felix Förtsch
2026-04-14 10:07:02 +02:00
-
e3686f2b76
mqtt section: spell out that webhooks also auto-ingest new jellyfin items
Felix Förtsch
2026-04-14 10:02:49 +02:00
-
a42429d33c
mqtt: split end-to-end test into its own labelled block with instructions
Felix Förtsch
2026-04-14 10:01:47 +02:00
-
425ee751ce
mqtt test: use playback start as reliable trigger, drop auto-prefix
Felix Förtsch
2026-04-14 09:55:32 +02:00
-
7b138f4346
mqtt webhook: nest under jellyfin card, strict enable gating, end-to-end test
Felix Förtsch
2026-04-14 09:35:21 +02:00
-
9bb46ae968
mqtt setup panel: gate on enable toggle, reorder, move next to jellyfin
Felix Förtsch
2026-04-14 09:26:43 +02:00
-
76d97901cd
mqtt setup panel: clipboard fallback for http lan, fill webhook url
Felix Förtsch
2026-04-14 09:13:43 +02:00
-
62ec7e0255
mqtt setup panel: match jellyfin webhook plugin's actual fields
Felix Förtsch
2026-04-14 09:07:32 +02:00
-
a27e4f4025
close the jellyfin ping-pong via mqtt webhook subscriber
Felix Förtsch
2026-04-14 08:26:42 +02:00
-
2e8d790326
spec: jellyfin webhook ping-pong via mqtt
Felix Förtsch
2026-04-14 08:14:18 +02:00
-
9b03a33e24
add auto-review button that approves every high-confidence pending item
Felix Förtsch
2026-04-14 07:40:38 +02:00
-
4f1433437b
dedupe pending jobs to stop rapid-fire approvals from spawning ghost ffmpeg runs
Felix Förtsch
2026-04-14 07:36:15 +02:00
-
a06ab34b98
make done plans terminal, add ffprobe preflight to skip already-processed files
Felix Förtsch
2026-04-13 21:43:10 +02:00
-
c5ea37aab9
address audit findings: schedule validation, settings json guard, pipeline types, a11y labels
Felix Förtsch
2026-04-13 15:48:55 +02:00
-
c0bcbaec1b
time input: replace hand-rolled fields with react-aria-components TimeField
Felix Förtsch
2026-04-13 15:37:03 +02:00
-
a1122d7666
kill AM/PM from the schedule picker, enforce iso 8601 24h everywhere
Felix Förtsch
2026-04-13 15:29:53 +02:00
-
6d8a8fa6d6
drop the subtitle-languages setting, it never influenced extraction
Felix Förtsch
2026-04-13 15:26:48 +02:00
-
a3fde7c441
drop schema migrations now that the factory-reset button handles the upgrade
Felix Förtsch
2026-04-13 15:16:50 +02:00
-
f4859317fa
settings: add factory reset button that wipes every table incl. config
Felix Förtsch
2026-04-13 15:16:07 +02:00
-
c06172f412
migrate existing sqlite dbs to the new columns, don't force a nuke on deploy
Felix Förtsch
2026-04-13 15:09:45 +02:00
-
b1b15924ec
fix ci: calver suffix must be .N not +N so docker tags stay valid
Felix Förtsch
2026-04-13 14:56:18 +02:00
-
23dca8bf0b
split scheduling into scan + process windows, move controls to settings page
Felix Förtsch
2026-04-13 14:50:25 +02:00
-
6fcaeca82c
write canonical iso3 language metadata, tighten is_noop, store full jellyfin data
Felix Förtsch
2026-04-13 13:56:19 +02:00
-
cc418e5874
fix: jellyfin save now matches the new { ok, saved, testError } response shape
Felix Förtsch
2026-04-13 12:33:26 +02:00
-
94a460be9d
rename setup → settings throughout; persist arr creds even on test failure
Felix Förtsch
2026-04-13 12:26:30 +02:00
-
e8f33c6224
consolidate dashboard into scan page; / now renders Scan
Felix Förtsch
2026-04-13 12:21:03 +02:00
-
962b5efc6f
settings: drop the section-header env-var lock badges
Felix Förtsch
2026-04-13 12:14:00 +02:00
-
b8525be015
scan: validate arr URLs upfront, cache library once per scan
Felix Förtsch
2026-04-13 12:06:17 +02:00
-
1aafcb4972
apply codex code review: fix useEffect refetch loops, dead routes, subtitle job_type leftovers
Felix Förtsch
2026-04-13 12:01:57 +02:00
-
cafb3852a1
radarr/sonarr: stop silent failures, add metadata lookup fallback, diagnostic logs
Felix Förtsch
2026-04-13 11:46:26 +02:00
-
50d3e50280
fix '8 Mile is Turkish': jellyfin guesses never earn high confidence
Felix Förtsch
2026-04-13 11:39:59 +02:00
-
e3b241bef3
drop audio list tab, move per-item actions onto pipeline cards
Felix Förtsch
2026-04-13 11:20:57 +02:00
-
d12dd80209
fix: buildCommand now extracts subtitles to sidecars before stripping them
Felix Förtsch
2026-04-13 11:12:10 +02:00
-
5fa39aee7c
processing card: meaningful progress display
Felix Förtsch
2026-04-13 10:29:49 +02:00
-
37e30e9ade
processing column: per-card stop button alongside the column-header one
Felix Förtsch
2026-04-13 10:26:20 +02:00
-
2ada728e50
fix approve-up-to: client sends explicit visible plan id list
Felix Förtsch
2026-04-13 10:16:58 +02:00
-
4a378eb833
pipeline: equal-width columns + per-column clear/stop button
Felix Förtsch
2026-04-13 10:08:42 +02:00
-
ec28e43484
make pipeline responsive at scale: cap review query, debounce sse reload, indexable done count
Felix Förtsch
2026-04-13 10:00:08 +02:00
-
9ee0dd445f
remove standalone subtitle extract, unify done semantics, fix nav active matching
Felix Förtsch
2026-04-13 09:41:46 +02:00
-
cc19d99292
surface all app routes in nav
Felix Förtsch
2026-04-13 08:25:09 +02:00
-
bb4016d05b
gitignore scheduled_tasks.lock (scheduled wakeup state)
Felix Förtsch
2026-04-13 08:18:08 +02:00
-
e4c771d39e
fix scan page tdz crash: break flush/stopFlushing useCallback cycle
Felix Förtsch
2026-04-13 08:17:57 +02:00
-
3c1c8dd8f0
drop docker/* gitea actions to avoid 2+ min git-clone overhead per run
Felix Förtsch
2026-04-13 08:05:50 +02:00
-
b04c8acc39
speed up docker build: bun everywhere, buildx layer cache, tighter dockerignore
Felix Förtsch
2026-04-13 08:00:19 +02:00
-
9184c3991c
gitignore tsbuildinfo (project references write this)
Felix Förtsch
2026-04-13 07:51:33 +02:00
-
af410cb616
fix server typecheck: use tsconfig project references, await bun file in spa fallback
Felix Förtsch
2026-04-13 07:51:10 +02:00
-
874f04b7a5
wire scheduler into queue, add retry, dev-reset cleanup, biome 2.4 migrate
Felix Förtsch
2026-04-13 07:41:19 +02:00
-
f11861658e
add bun:test coverage for analyzer + ffmpeg + validate, emit ffmpeg progress sse
Felix Förtsch
2026-04-13 07:35:24 +02:00
-
93ed0ac33c
fix analyzer + api boundary + perf + scheduler hardening
Felix Förtsch
2026-04-13 07:31:48 +02:00
-
cdcb1ff706
drop multi-node ssh execution, unify job runner to local + fix job completion atomicity
Felix Förtsch
2026-04-13 07:25:19 +02:00
-
1762f070a9
pipeline UI polish: transcode reasons, scroll fix, series card overflow, rounded corners
Felix Förtsch
2026-03-28 10:35:51 +01:00
-
9c5a793a47
pipeline UI polish: jellyfin deep-links on titles, hover-to-show approve buttons, series approve-up-to
Felix Förtsch
2026-03-28 01:14:19 +01:00
-
7cefd9bf04
wire scan completion to pipeline page
Felix Förtsch
2026-03-27 01:53:29 +01:00
-
3881f3a4c2
bump version to 2026.03.27 for unified pipeline release
Felix Förtsch
2026-03-27 01:53:07 +01:00
-
8bdfa79215
add pipeline Kanban board: route, layout, review/queue/processing/done columns, schedule controls
Felix Förtsch
2026-03-27 01:51:47 +01:00
-
fd72a6d212
add pipeline API: approve-up-to, series language, pipeline summary
Felix Förtsch
2026-03-27 01:49:14 +01:00
-
9cffdaac47
fix reanalyze: pass container to analyzeItem, store new pipeline fields
Felix Förtsch
2026-03-27 01:47:40 +01:00
-
9a19350f7e
add job scheduler: sleep between jobs, schedule window, FFmpeg progress parsing
Felix Förtsch
2026-03-27 01:46:41 +01:00