70 Commits

Author SHA1 Message Date
b0646e2629 chore: release v0.3.1-rc.5 2026-04-16 11:37:48 -04:00
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
ed71d771ea Stability changes have been updated. 2026-04-05 13:11:18 -04:00
774d185bd0 Add structured decision and failure explanations 2026-04-04 13:35:57 -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
e57c2b8a1f Fix shutdown exit and restore watch folder API sync 2026-04-02 23:27:47 -04:00
57b980e7d0 fix major security bugs. 2026-04-01 22:45:51 -04:00
d9160f414c Fix VideoToolbox fallback and encode error reporting 2026-04-01 21:00:48 -04:00
120392e11b updated UI to remove odd flashing 2026-03-31 23:01:09 -04:00
1ece505bad Fix browse panel height and replace custom bar charts with recharts
LibraryStep: replace viewport-relative h-[min(28rem,calc(100dvh-20rem))]
with a fixed h-[420px] so the file browser panel renders correctly inside
nested overflow-y-auto scroll containers in the setup wizard.

SavingsOverview: replace percentage-height CSS bar divs with proper
recharts AreaChart (savings over time) and BarChart (savings by codec),
using CSS variable tokens for all colors. Removes the now-unused
formatCompactStorage helper.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 16:57:04 -04:00
f689453261 Fix React errors, add retry countdowns, stats depth, mobile layout, ARM64 nightly CI
- Fix React #418/#423: remove activeIndex effect from SettingsPanel, defer
  applyRootTheme via requestAnimationFrame in AppearanceSettings
- Add retry countdown on failed job rows with 30s refresh tick
- Add attempt_count to Job interface; add job_count to CodecSavings (Rust + frontend)
- Stats page: Total Library Reduction headline, job counts per codec, recharts BarChart
  for jobs-per-day histogram
- Mobile layout: hamburger overlay sidebar with backdrop, hide Updated/priority
  columns on small screens in jobs table
- CI: check-web now runs e2e tests; docker workflow adds nightly schedule
  building linux/amd64,linux/arm64 and tagging :nightly

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 10:43:56 -04:00
4fbfbacdf0 Keep the engine running and improve job status details 2026-03-30 22:23:27 -04:00
ffb5562f95 Implemented the setup wizard welcome step as requested. Added `web/src/c 2026-03-30 21:00:11 -04:00
cfe85f0820 Remove Gemini workflows and command definitions 2026-03-30 14:30:34 -04:00
13f744bd30 Apply 5 missed fixes
- LibraryStep.tsx: Add optional chaining for browse.entries
- Dashboard.tsx: Replace status-success with helios-solar color
- ResourceMonitor.tsx: Replace status-success with helios-solar color
- processor.rs: Add auto-pause on empty queue with SSE notification
- wizard.rs: Wait for scan completion before analyzing pending jobs

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-30 13:32:16 -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
d17c8dbe23 Fix engine controls and job detail rendering 2026-03-30 08:48:58 -04:00
98055c586f Implement engine auto-analysis and settings UI refinements 2026-03-29 20:32:32 -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
e33c1e3c4d Add library intelligence duplicate detection 2026-03-28 22:55:30 -04:00
327585777b fix: remove redundant state clear and purge remaining banned CSS tokens
Remove the duplicate setSaveError("") call in HardwareSettings that was
already cleared before the try block. Replace all remaining text-[10px]
and text-[11px] arbitrary Tailwind tokens with text-xs across 9 components.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 10:48:51 -04:00
12c4161a3e Fix banned CSS token patterns in frontend components 2026-03-28 10:17:00 -04:00
413f1e28e4 Expand Playwright reliability coverage and harden hardware saves 2026-03-28 09:40:54 -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
33e0cae5b6 Overhaul CI, nightly, and Docker release workflows 2026-03-25 11:35:36 -04:00
0cd401e03c Add UI regression coverage for telemetry and hardware settings 2026-03-25 11:10:44 -04:00
d5df90db0f Refactor setup UX and async execution observer plumbing 2026-03-25 08:14:24 -04:00
835493f850 ui: rework setup wizard, job manager, system settings, and header actions
- Part 1-2: setup.astro app-shell layout + new SetupSidebar.astro
- Part 3: SetupFrame full-page layout, 2px progress bar, toast errors
- Part 4: LibraryStep single-column redesign with chips and browse
- Parts 5-7: Fix banned patterns in SetupControls, ScanStep, ProcessingStep
- Part 8: JobManager polish (inline summary, badge/header/radius fixes)
- Part 9: SystemSettings engine mode section with API integration
- Part 10: HeaderActions dead code removal (engine mode state/handlers)
2026-03-24 18:33:14 -04:00
9278387250 UI: Comprehensive UX rework — flatten header, remove page titles, compact dashboard, grouped log viewer 2026-03-24 16:58:05 -04:00
4f6d2d29d6 chore: checkpoint before release v0.2.10-rc.7 2026-03-22 20:09:50 -04:00
6e19aaa9ae chore: checkpoint before release v0.2.10-rc.4 2026-03-22 15:34:02 -04:00
76345e7016 Add engine mode controls and draining state 2026-03-22 14:18:46 -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
0720c8c4c1 Fix setup submission and polish dashboard UI 2026-03-22 10:53:59 -04:00
175295ebc8 Fix db clippy warning and remove setup preview placeholder 2026-03-22 10:40:06 -04:00
d12a05d6de update UI 2026-03-21 22:50:02 -04:00
33c0e5d882 Add library health checks and expand dashboard management 2026-03-21 20:31:35 -04:00
8fb6cd44e0 Add archived job views and split setup wizard steps 2026-03-21 19:29:38 -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
copilot-swe-agent[bot]
01a53df27d Fix JS/TS lint issues in web frontend
- Remove unused imports (ES6UnusedImports): AboutDialog, Dashboard, SetupWizard,
  jobs.astro, login.astro, settings.astro, stats.astro
- Prefix unused variables with underscore (JSUnusedLocalSymbols): _previousTheme,
  _lastJob, _loading, _detailLoading, _page, _success/_setSuccess
- Remove unused cn/clsx/twMerge from SystemStatus.tsx
- Add await to async calls (ES6MissingAwait) in JobManager, NotificationSettings,
  ScheduleSettings, SetupWizard, WatchFolders
- Add void keyword for ignored promises (JSIgnoredPromiseFromCall) in useEffect
  callbacks across Dashboard, FileSettings, HardwareSettings, JobManager, LogViewer,
  NotificationSettings, ResourceMonitor, ScheduleSettings, SetupWizard, StatsCharts,
  SystemSettings, SystemStatus, TranscodeSettings, WatchFolders
- CSS: Remove redundant background-color overridden by background shorthand;
  remove unused .btn selector
- HTML: Associate labels with form inputs via for/id attributes in login.astro

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-05 22:49:02 +00:00
b2960cd608 improved code in general 2026-03-05 17:34:06 -05:00