Commit Graph

29 Commits

Author SHA1 Message Date
e50ca64e80 Resolve audit findings + split db.rs into db/ module
- P1: Fix cancel race in pipeline, fix VideoToolbox quality mapping
- P2: SSRF protection, batch cancel N+1, archived filter fixes,
  metadata persistence, reverse proxy hardening, reprobe logging
- TD: Remove AlchemistEvent legacy bridge, fix silent .ok() on DB
  writes, optimize sort-by-size query, split db.rs (3400 LOC) into
  8 focused submodules under src/db/
- UX: Add queue position display for queued jobs
- Docs: Update API docs, engine modes, library doctor, config ref
- Plans: Add plans.md for remaining open items (UX-2/3, FG-4, RG-2)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 16:02:11 -04:00
5ca33835f1 chore: release v0.3.1-rc.3 2026-04-12 10:25:12 -04:00
f47e90c658 fix bug with set up causing unreachable set up page 2026-04-08 11:39:36 -04:00
4000640f85 chore: release v0.3.1-rc.1 2026-04-07 22:13:43 -04:00
774d185bd0 Add structured decision and failure explanations 2026-04-04 13:35:57 -04:00
cd9db604ec refactor: apply consistent code formatting across notification, server, database, and pipeline modules 2026-04-04 08:08:42 -04:00
ca18be7272 feat: add job stall detection, database connection limits, configurable local notifications, and secure proxy header handling with entrypoint support. 2026-04-04 00:30:41 -04:00
d9160f414c Fix VideoToolbox fallback and encode error reporting 2026-04-01 21:00:48 -04:00
ffb5562f95 Implemented the setup wizard welcome step as requested. Added `web/src/c 2026-03-30 21:00:11 -04:00
69902b8517 Fix audit findings and CI test failures
Backend fixes:
- auth.rs: Replace .unwrap() with pattern matching and .expect()
- middleware.rs: Replace .unwrap() with .expect() for static headers
- pipeline.rs: Add error logging for analysis/planning failures
- pipeline.rs: Log profile fetch errors instead of swallowing silently
- wizard.rs: Set setup_required=false after setup completes (fixes CI)
- tests.rs: Use tx_capacity for jobs channel to test lag behavior (fixes CI)

Frontend fixes:
- JobManager.tsx: Add exponential backoff for SSE reconnect (1s-30s + jitter)
- SettingsPanel.tsx: Fix React hydration by moving URL parsing to useEffect
- api.ts: Increase timeout from 15s to 30s for hardware detection

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-30 11:08:23 -04:00
57e4a22be2 Audit drain, analysis, and settings regressions 2026-03-29 20:24:08 -04:00
3f28728b3e Fix engine analysis, drain flow, and settings UI regressions 2026-03-29 19:56:21 -04:00
3c7bd73bed Improve skip explanations and restore sidecar rollback 2026-03-29 09:37:31 -04:00
14da21ed89 Fix various security, concurrency, and UI issues 2026-03-29 08:34:39 -04:00
46aeb4694a Stamp nightly builds with commit-based runtime version 2026-03-28 21:09:10 -04:00
f31dd23230 feat: comprehensive codebase improvements from audit
Architecture:
- Split server.rs (4,727 LOC) into 11 focused modules
- Add typed EventChannels (jobs/config/system) with appropriate capacities
- Add database query timeouts (5s on critical queries)
- Add graceful shutdown with signal handling

API:
- Add API versioning (/api/v1/) with backwards-compatible aliases
- Add X-Request-Id header for request tracing
- Create OpenAPI spec (docs/openapi.yaml)

Security:
- Add security headers middleware (CSP, X-Frame-Options, etc.)
- Add HSTS header (config-gated via https_only setting)
- Add config file permission check on Unix
- Fix path traversal vulnerability in file browser
- Add symlink detection in file browser

Frontend:
- Handle SSE lagged events with toast notification
- Clean up banned CSS patterns in components
- Add warning toast variant

Testing & Docs:
- Add FFmpeg integration tests with fixtures
- Expand documentation site (9 new pages)
- Pin MSRV to 1.85 in Cargo.toml

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-27 07:52:28 -04:00
fe5972c6c1 Port to Rust 2024 2026-03-23 16:28:35 -04:00
8d3ea74768 Implement VAAPI-first Intel, remuxing, health reports, and sidecars 2026-03-22 13:56:46 -04:00
466a3ea459 Improve hardware detection and job diagnostics 2026-03-22 13:28:55 -04:00
6b83ea1a4b Add stream rules and refresh backend and docs 2026-03-22 12:17:05 -04:00
33c0e5d882 Add library health checks and expand dashboard management 2026-03-21 20:31:35 -04:00
5842297fdc Improve runtime defaults and preserve job history 2026-03-21 19:03:09 -04:00
a2a3d0e9af Prepare v0.3.0-rc.1 UX and CI improvements 2026-03-19 14:00:28 -04:00
095b648757 Release v0.2.9: runtime reliability and admin UX refresh
- ship runtime reliability, watcher/scanner hardening, and hardware hot reload

- refresh admin/settings UX and add Playwright reliability coverage

- standardize frontend workflow on Bun and update deploy/docs
2026-03-05 22:22:06 -05:00
b2960cd608 improved code in general 2026-03-05 17:34:06 -05:00
brooklyn
5c9c69f04c Tighten job concurrency + persist encoding progress updates 2026-01-14 17:17:27 -05:00
brooklyn
b3c030851d Improve FFmpeg encoder probing on macOS; minor fixes for Windows/Linux
Refine UI across the app
Optimize mobile and narrow-width layouts
2026-01-13 14:20:00 -05:00
Brooklyn
ad58c355e2 chore: release v0.2.4-stable 2026-01-09 20:18:25 -05:00
Brooklyn
b8d9606499 Refactor: Decouple Analyzer/Planner/Executor and Fix Templates
Major architectural overhaul to split the monolithic processing logic into distinct components:

- Analyzer: Standardized MediaMetadata extraction using Ffprobe.

- Planner: New decision engine (BasicPlanner) to handle transcoding logic.

- Executor: Defined Executor trait and implemented FfmpegExecutor.

Fixes:

- Resolved Askama template syntax errors in analytics.html and jobs_table.html.

- Fixed compilation errors related to missing modules and trait bounds.

- Added sqlx migrations execution on startup.

Chore:

- Updated license to GPLv3 as requested.

- Removed legacy lchemist.db handling in favor of migrations.

- Cleaned up unused imports and legacy comments.
2026-01-08 19:07:45 -05:00