UX: Settings inputs not wrapped in form — no Enter key or native validation
UX: No sidebar collapse/expand toggle button
Tracker: 2026-05-26 audit session — 27 bugs logged (#100-#127)
[High] All projects rail item never clears openProject filter
[Low] Project context menu missing contextmenu/scroll dismiss handlers
[Low] Project grid cards have no right-click context menu
[Low] Recorder polling spams 401s on unauthenticated tabs
Filmstrip dispaly only works for clips that are ingested
BUG: Asset copy duplicates proxy+thumbnail S3 refs — no S3 copy done
BUG: S3 proxy client export breaks when s3Client is rebuilt
BUG:
POST /assets with status=live asset already existing: captures registered as processing overwrite the live asset
BUG:
POST /assets body param sourceType, needsProxy documented but unused
BUG:
POST /assets/:id/mark-empty requires status=live — but capture shutdown may pass wrong assetId
BUG:
GET /upload route missing — upload.js has no list endpoint, frontend may 404
BUG: BullMQ orphan jobs remain when asset row is deleted — no GC for dangling jobs
BUG: Upload
POST /part uses upload.single('file') but nginx strips Content-Type for multipart — multer may misparse
BUG: Batch-trim DB
jobs row is orphaned — no status lifecycle, job_type enum is stale
BUG:
POST /assets/batch-trim creates jobs table row with wrong job_type — no matching pg_enum value
BUG:
job_type and job_status enums don't match — jobs.js DB table uses job_type ENUM with missing values