- 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>
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>
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>
- 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)
macOS ships bash 3.2 (GPL2); mapfile was added in bash 4.0. Use
while IFS= read -r loops with process substitution instead, which
work in bash 3.2+.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
These are generated output (like web/dist and web/.astro which were
already ignored) and should not be in version control.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- server.rs: log a warn at startup when web/dist is not found (non-embed-web builds only)
- .gitignore: add docs/node_modules; remove 21,593 tracked files from git index
- ci.yml: add e2e-reliability job so the Playwright reliability suite runs in CI
- audit.md: rewrite to cover current features (v0.3.0): per-library profiles, stream
rules, VMAF gating, retry backoff, Library Doctor, storage savings stats, engine
runtime modes, remux planning, notifications
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When using --no-default-features, the server reads static assets from
web/dist/ relative to its working directory. Previously the server was
started from web-e2e/, so it looked in web-e2e/web/dist/ (missing).
Changing to cd .. before cargo run makes web/dist/ resolve correctly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>