fix analyzer + api boundary + perf + scheduler hardening
- analyzer: rewrite checkAudioOrderChanged to compare actual output order, unify assignTargetOrder with a shared sortKeptStreams util in ffmpeg builder
- review: recompute is_noop via full audio removed/reordered/transcode/subs check on toggle, preserve custom_title across rescan by matching (type,lang,stream_index,title), batch pipeline transcode-reasons query to avoid N+1
- validate: add lib/validate.ts with parseId + isOneOf helpers; replace bare Number(c.req.param('id')) with 400 on invalid ids across review/subtitles
- scan: atomic CAS on scan_running config to prevent concurrent scans
- subtitles: path-traversal guard — only unlink sidecars within the media item's directory; log-and-orphan DB entries pointing outside
- schedule: include end minute in window (<= vs <)
- db: add indexes on review_plans(status,is_noop), stream_decisions(plan_id), media_items(series_jellyfin_id,series_name,type), media_streams(item_id,type), subtitle_files(item_id), jobs(status,item_id)
This commit is contained in:
13
.project.toml
Normal file
13
.project.toml
Normal file
@@ -0,0 +1,13 @@
|
||||
[project]
|
||||
name = "Netfelix Audio Fix"
|
||||
description = "Web-App mit Bun-Backend und Vite-Frontend für Audio-Verarbeitung/Korrektur."
|
||||
status = "aktiv"
|
||||
priority = "mittel"
|
||||
location = "~/Developer/netfelix-audio-fix"
|
||||
|
||||
[dates]
|
||||
created = "2026-02-26"
|
||||
last_activity = "2026-03-28"
|
||||
|
||||
[notes]
|
||||
next_steps = "Aktive Entwicklung fortsetzen"
|
||||
Reference in New Issue
Block a user