Commit Graph

  • 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