dragonflight/services/web-ui/public
Zac Gaetano 7e3e6b2a28 fix(auth): force HTTPS on dragonflight.live so login cookies stick
User reported infinite login loop on dragonflight.live. Root cause: openresty
fronts both http:// and https:// without redirecting, and a user landing on
http:// gets the Set-Cookie response silently dropped — cookies are Secure-only
when TRUST_PROXY=true, and the CORS allowlist refuses the http:// origin.
Result: login appears to succeed, next request has no session cookie, AuthGate
bounces back to login.

Two defensive layers (the openresty box is not in our reach):
- web-ui index.html: tiny inline redirect; if location is http://dragonflight.live,
  rewrite to https:// before anything else runs. Bounded to that exact hostname
  so local / LAN access on http://172.18.91.x stays as-is.
- mam-api: emit Strict-Transport-Security on HTTPS responses when AUTH_ENABLED=true.
  After one successful HTTPS visit, browsers auto-upgrade future http:// requests
  on their own — closes the loophole even if someone bypasses the index.html JS.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 22:00:35 -04:00
..
css fix: remove Google Fonts, fix editor link to :47435, fix page titles 2026-05-18 22:56:51 -04:00
downloads release(premiere-plugin): publish v1.2.0 ZXP 2026-05-27 10:12:22 -04:00
fonts web-ui: wave-1 finish — self-host fonts + multi-stage Dockerfile 2026-05-21 16:32:55 +00:00
img feat(brand): add Wild Dragon logo + favicon 2026-05-18 14:11:29 +00:00
js rip out entire auth/login flow 2026-05-27 03:39:58 +00:00
app.jsx feat(web-ui): AuthGate orchestration + replace 401 bounce with in-SPA re-render 2026-05-27 15:08:14 -04:00
auth-gate.jsx feat(web-ui): AuthGate orchestration + replace 401 bounce with in-SPA re-render 2026-05-27 15:08:14 -04:00
data.jsx fix(auth): final-review integration fixes — Users page alias + PATCH, CSRF on uploads + heartbeat, drop .bak 2026-05-27 15:42:42 -04:00
favicon.ico feat(brand): add Wild Dragon logo + favicon 2026-05-18 14:11:29 +00:00
icons.jsx feat(home,users): real metrics, working Users row actions + Groups CRUD 2026-05-23 03:30:10 +00:00
index.html fix(auth): force HTTPS on dragonflight.live so login cookies stick 2026-05-27 22:00:35 -04:00
modal-new-recorder.jsx chore: 1.2 ship-prep sweep — close 38 issues 2026-05-27 02:06:14 +00:00
screens-admin.jsx fix(auth): final-review integration fixes — Users page alias + PATCH, CSRF on uploads + heartbeat, drop .bak 2026-05-27 15:42:42 -04:00
screens-asset.jsx feat(audio-tab): full audio track inspector with meters, mute/solo, faders 2026-05-27 04:53:52 +00:00
screens-auth.jsx feat(web-ui): LoginScreen + SetupScreen (layout B from brainstorm) 2026-05-27 15:17:33 -04:00
screens-editor.jsx chore: 1.2 ship-prep sweep — close 38 issues 2026-05-27 02:06:14 +00:00
screens-home.jsx dashboard: rebuild as control-room status board (on air / up next / attention / work) 2026-05-26 23:10:23 -04:00
screens-ingest.jsx fix(auth): final-review integration fixes — Users page alias + PATCH, CSRF on uploads + heartbeat, drop .bak 2026-05-27 15:42:42 -04:00
screens-jobs.jsx chore: 1.2 ship-prep sweep — close 38 issues 2026-05-27 02:06:14 +00:00
screens-library.jsx chore: 1.2 ship-prep sweep — close 38 issues 2026-05-27 02:06:14 +00:00
screens-projects.jsx chore: 1.2 ship-prep sweep — close 38 issues 2026-05-27 02:06:14 +00:00
shell.jsx feat(web-ui): AuthGate orchestration + replace 401 bounce with in-SPA re-render 2026-05-27 15:08:14 -04:00
styles-asset.css feat(audio-tab): full audio track inspector with meters, mute/solo, faders 2026-05-27 04:53:52 +00:00
styles-fixes.css fix: remove gradient text from launcher wordmark and token counter (design ban) 2026-05-26 23:02:06 -04:00
styles-modal.css feat(web-ui): Z-AMPP screen + component CSS: styles-modal.css 2026-05-22 08:03:57 -04:00
styles-rest.css dashboard: add missing dash-* CSS classes; cluster: add stat-row/stat-card CSS 2026-05-27 04:09:15 +00:00
styles-screens.css dashboard: add missing dash-* CSS classes; cluster: add stat-row/stat-card CSS 2026-05-27 04:09:15 +00:00
styles.css chore: 1.2 ship-prep sweep — close 38 issues 2026-05-27 02:06:14 +00:00
tweaks-panel.jsx Add Z-AMPP UI: visuals + tweaks-panel: tweaks-panel.jsx 2026-05-22 08:13:37 -04:00
visuals.jsx chore: 1.2 ship-prep sweep — close 38 issues 2026-05-27 02:06:14 +00:00