dragonflight/services/web-ui/public/index.html
Zac Gaetano 7587c7d2f4 chore(ui+infra): retire stale recorder modal, clean VC-3 card, fix schema drift
GUI:
- Retire orphaned modal-new-recorder.jsx (old New Recorder dialog).
  Nothing triggered it; the clean inline RecorderConfigModal in
  screens-ingest.jsx is the single recorder editor now. Drop dead
  app.jsx/index.html wiring and the unused onNew prop.
- Recorder card sub-line shows VC-3/DNxHD MXF OP1a 4:2:2 in growing
  mode instead of the misleading hevc_nvenc native native.

Infra:
- Remove vestigial local db service from compose (app uses external
  Postgres via DATABASE_URL). Drops db depends_on refs + orphan
  postgres_data volume. compose config validates clean.
- Regenerate schema.sql from the live migrated DB (8 -> 29 tables).
  Old schema.sql predated 37 migrations (missing growing_codec,
  device_index, node_id, audio_offset_ms) so a fresh init silently
  rolled the UI back to XDCAM. Fresh init now matches current code.
2026-06-05 17:38:25 +00:00

54 lines
2.4 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<script>
// Force HTTPS on the public domain — Secure cookies and the CORS allowlist
// both refuse HTTP, so an http:// landing silently breaks login. Local /
// LAN hostnames keep whatever protocol they came in on.
if (location.protocol === 'http:' && location.hostname === 'dragonflight.live') {
location.replace('https:' + location.href.substring(5));
}
</script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Dragonflight · Wild Dragon Broadcast</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap" />
<link rel="stylesheet" href="styles.css" />
<link rel="stylesheet" href="styles-screens.css" />
<link rel="stylesheet" href="styles-asset.css" />
<link rel="stylesheet" href="styles-rest.css" />
<link rel="stylesheet" href="styles-modal.css" />
<link rel="stylesheet" href="styles-fixes.css" />
<link rel="stylesheet" href="styles-playout.css" />
</head>
<body>
<div id="root"></div>
<script src="https://unpkg.com/react@18.3.1/umd/react.production.min.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.production.min.js" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/hls.js@1.5.15/dist/hls.min.js" crossorigin="anonymous"></script>
<script src="dist/data.js"></script>
<script src="dist/icons.js"></script>
<script src="dist/visuals.js"></script>
<script src="dist/shell.js"></script>
<script src="dist/auth-gate.js"></script>
<script src="dist/screens-auth.js"></script>
<script src="dist/screens-resources.js"></script>
<script src="dist/screens-home.js"></script>
<script src="dist/screens-library.js"></script>
<script src="dist/screens-asset.js"></script>
<script src="dist/screens-projects.js"></script>
<script src="dist/screens-ingest.js"></script>
<script src="dist/screens-jobs.js"></script>
<script src="js/timecode.js"></script>
<script src="js/timeline.js"></script>
<script src="js/bmd-card.js"></script>
<script src="dist/screens-editor.js"></script>
<script src="dist/screens-admin.js"></script>
<script src="dist/screens-playout.js"></script>
<script src="dist/app.js"></script>
</body>
</html>