Zac Gaetano zgaetano · He/Him
  • Joined on 2026-03-31
zgaetano commented on issue WildDragonLLC/dragonflight#70 2026-05-26 19:41:14 -04:00
BUG: POST /assets/batch-trim creates jobs table row with wrong job_type — no matching pg_enum value

Fix Plan — #70 batch-trim creates jobs row with wrong job_type

Root cause: batch-trim creates a jobs row with type 'trim' and status 'queued'. The in-database jobs row for trim jobs has…

zgaetano commented on issue WildDragonLLC/dragonflight#66 2026-05-26 19:40:22 -04:00
BUG: POST /assets/:id/mark-empty requires status=live — but capture shutdown may pass wrong assetId

Fix Plan — #66 mark-empty requires status=live but capture may crash first

Root cause: Two scenarios: (1) capture container crashes before calling mark-empty, asset stays status=live…

zgaetano commented on issue WildDragonLLC/dragonflight#68 2026-05-26 19:40:22 -04:00
BUG: GET /upload route missing — upload.js has no list endpoint, frontend may 404

Fix Plan — #68 GET /upload route missing

Root cause: upload.js defines POST routes but no GET / route. Frontend calling GET /api/v1/upload gets 404.

Fix — add list endpoint:

zgaetano commented on issue WildDragonLLC/dragonflight#63 2026-05-26 19:40:22 -04:00
BUG: POST /assets with status=live asset already existing: captures registered as processing overwrite the live asset

Fix Plan — #63 POST /assets race: processing overwrites live asset

Root cause: Two simultaneous captures for same projectId + clipName can both find the same live row and both UPDATE it.…

zgaetano commented on issue WildDragonLLC/dragonflight#64 2026-05-26 19:40:22 -04:00
BUG: POST /assets body param sourceType, needsProxy documented but unused

Fix Plan — #64 sourceType, needsProxy params documented but unused

Root cause: POST /assets destructures only projectId, binId, clipName, hiresKey, proxyKey, duration, capturedAt. Any…

zgaetano commented on issue WildDragonLLC/dragonflight#61 2026-05-26 19:40:22 -04:00
BUG: S3 proxy client export breaks when s3Client is rebuilt

Fix Plan — #61 S3 proxy client export breaks on rebuild

Root cause: s3/client.js exports s3Client as a Proxy (correct) BUT S3_BUCKET is a plain let export. Code that does `import {…

zgaetano commented on issue WildDragonLLC/dragonflight#60 2026-05-26 19:37:34 -04:00
BUG: Asset copy duplicates proxy+thumbnail S3 refs — no S3 copy done

Fix Plan — #60 Asset copy duplicates S3 refs

Root cause: POST /:id/copy in assets.js copies proxy_s3_key and thumbnail_s3_key from source to new asset row, but does NOT copy actual S3…

zgaetano commented on issue WildDragonLLC/dragonflight#56 2026-05-26 19:37:12 -04:00
NLE Editor: React SPA Polish - Phases 1-3

Fix Plan — #56 NLE Editor React SPA Polish Phases 1-3

Status: Implementation complete.

Phase 1: Core NLE editor React SPA rewrite — sets up timeline component, clip manipulation,…

zgaetano commented on issue WildDragonLLC/dragonflight#55 2026-05-26 19:37:12 -04:00
[Low] Recorder polling spams 401s on unauthenticated tabs

Fix Plan — #55 Recorder polling spams 401s on unauthenticated tabs

Root cause: Frontend polls GET /api/v1/recorders every ~10s even when tab is unauthenticated. 47 log entries of 401s…

zgaetano commented on issue WildDragonLLC/dragonflight#126 2026-05-26 19:36:13 -04:00
Accessibility: icon-only buttons missing aria-label across asset and library screens

Fix Plan — #126 Icon-only buttons missing aria-label

Root cause: Icon-only <button className="icon-btn"> elements have no aria-label or title. Screen readers announce "button" with…

zgaetano commented on issue WildDragonLLC/dragonflight#124 2026-05-26 19:36:13 -04:00
Frontend: typo setPgMclips should be setPgmClips for consistency

Fix Plan — #124 Typo setPgMclips should be setPgmClips

Root cause: screens-editor.jsx:621 — reader is pgmClips, setter is setPgMclips. Capitalization mismatch.

**Fix —…

zgaetano commented on issue WildDragonLLC/dragonflight#125 2026-05-26 19:36:13 -04:00
Frontend: hardcoded Premiere panel version 1.0.1 in editor download links

Root cause: screens-editor.jsx:400-405 hardcodes /downloads/dragonflight-premiere-panel-1.0.1.zxp. v1.1.0 ZXP…

zgaetano commented on issue WildDragonLLC/dragonflight#123 2026-05-26 19:36:13 -04:00
Frontend: 13 stray console.error / console.warn calls in production JSX

Fix Plan — #123 Stray console.error/warn in production JSX

Root cause: 13 console.error/console.warn calls left in production JSX. Leak internal details to browser console.

**Locatio…

zgaetano commented on issue WildDragonLLC/dragonflight#111 2026-05-26 19:35:23 -04:00
Frontend: setTimeout/setInterval leaks across multiple screens — setState on unmounted components

Fix Plan — #111 setTimeout/setInterval leaks across screens

Root cause: Multiple screens fire setTimeout/setInterval outside useEffect or without cleanup. On unmount → setState

zgaetano commented on issue WildDragonLLC/dragonflight#113 2026-05-26 19:35:23 -04:00
Frontend: sidebar shows hardcoded "3" badge on Jobs forever

Fix Plan — #113 Sidebar shows hardcoded "3" badge on Jobs

Root cause: shell.jsx:19 — badge text is literal "3" sentinel value. Never changes.

Fix — poll for real counts:

zgaetano commented on issue WildDragonLLC/dragonflight#115 2026-05-26 19:35:23 -04:00
Frontend: hardcoded /api/v1 paths bypass ZAMPP_API.fetch in upload module

Fix Plan — #115 Hardcoded /api/v1 paths in upload module

Root cause: screens-ingest.jsx:36,56_xhrPost uses literal /api/v1/upload/simple and /api/v1/upload/part. If API…

zgaetano commented on issue WildDragonLLC/dragonflight#122 2026-05-26 19:35:23 -04:00
Frontend: production deploy ships React dev builds + in-browser Babel — slow first paint, console warnings leak

Fix Plan — #122 Production ships React dev builds + in-browser Babel

Root cause: index.html loads react.development.js, react-dom.development.js, @babel/standalone. JSX compiled…

zgaetano commented on issue WildDragonLLC/dragonflight#112 2026-05-26 19:35:23 -04:00
Frontend: hard page reload on project delete wipes in-flight state

Fix Plan — #112 Hard page reload on project delete wipes state

Root cause: screens-library.jsx:590 — delete handler calls window.location.reload() after successful DELETE. Wipes…

zgaetano commented on issue WildDragonLLC/dragonflight#110 2026-05-26 19:34:06 -04:00
index.html missing bmd-card.js — fixed in 1535bba but documenting the gap

Fix Plan — #110 index.html missing bmd-card.js

Status: Fixed in commit 1535bba. Documenting for completeness.

Root cause: screens-admin.jsx referenced window.BMDCards but…

zgaetano commented on issue WildDragonLLC/dragonflight#119 2026-05-26 19:34:06 -04:00
Backend: assets list endpoint has no LIMIT cap — ?limit=999999999 OOMs the API

Fix Plan — #119 Assets list endpoint has no LIMIT cap

Root cause: assets.js:92-93 passes req.query.limit directly into SQL LIMIT without max cap. ?limit=999999999 → PG…