Anton Afanasyeu
e49f13dfbd
Lab seeds: heartbeat GET compat, iodine RA sessions, UI hints.
...
Sync composed-backend sources for legacy device self-test 405 fix and iodine remote access.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-12 19:44:37 +02:00
Anton Afanasyeu
465efa8d98
feat(deploy): lab-seeds sync, msmtp nginx-readable secret, hub downloads
...
Signed-off-by: Anton Afanasyeu <a.afanasieff@gmail.com >
2026-07-12 13:53:38 +02:00
Anton Afanasyeu
624c9d3d7e
fix(2fa): stop redirecting mobile approve GET to login page
...
QR scan must open one-tap approve directly; token in URL is sufficient.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-11 21:40:01 +02:00
Anton Afanasyeu
ca28a7b97d
fix(cluster0): QR 2FA one-tap approve; default public origin apps.f0xx.org
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-11 17:33:43 +02:00
Anton Afanasyeu
b8bd0e673c
Enable lab media_pipelines in composed config and wire ac-ms-media-transcode.
...
Overlay media pipeline PHP/JS/SQL on compose, nginx HLS location, enable
feature in lab config.php, and ensure media storage dirs on BE nodes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-11 15:27:01 +02:00
Anton Afanasyeu
54174e7497
fix(cluster0): wire 2FA redirects, heartbeat session touch, TOTP reset script
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-11 14:48:27 +02:00
Anton Afanasyeu
0911d97fa9
fix(lab-seed): sync analytics.js consent gate for GA4
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-06 17:19:55 +02:00
Anton Afanasyeu
cf2e6ecb4e
fix(cluster0): 2FA nginx routes and extend pending-2FA on poll
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-05 19:12:53 +02:00
Anton Afanasyeu
98f4ecc2c5
deploy: favicon, nuevo-player, ac-ms-broadcast, nginx notify/monitor/broadcast
...
- favicon.ico (32px) + apple-touch-icon.ico (180px) added to composed backend seed
- layout.php: add <link rel="icon"> and <link rel="apple-touch-icon"> in <head>
- nuevo-player (Video.js + Nuevo licensed plugin) into assets/vendor/nuevo-player/
- THIRD_PARTY_LICENSES.md: add Nuevo Player (commercial) + TipTap (MIT) entries
- apps-port80.conf: full rewrite with all live fixes merged in:
* map $http_upgrade $connection_upgrade (WebSocket upgrade)
* 2FA location regex extended: api/two-factor
* grafana-auth-check internal endpoint + @monitor_login_redirect
* Grafana proxy (cast04:3000) + Alertmanager proxy (cast04:9093)
* broadcast admin path /app/androidcast_project/broadcast/ (auth_request gated)
* notify.f0xx.org server block: public /m/{slug} landing + API
* favicon.ico at server root
- deploy-ac-broadcast.sh: new app-phase script (DB schema, user, worker, rsync)
- populate_lab_setup.sh: add deploy-ac-broadcast.sh to run_phase_app
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-28 22:55:44 +02:00
Anton Afanasyeu
3c5233c903
feat(2fa): add cross-device approval routes to composed backend router
...
- New routes: GET/POST /two-factor/approve, GET /api/two-factor/poll
- Nginx regex extended: (login|...|api/two-factor)(/|$)
- lab-seeds views/JS synced from ac-be-auth
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-27 22:49:59 +02:00
Anton Afanasyeu
c554dc761d
cluster0: lab seeds, Gitea mirrors, compose mail, verify tooling
...
Freeze lab-seeds backend for COMPOSE_SKIP_MONOLITH; fix Gitea mirror scripts
for 1.25 API; add secrets.lab.env template, verify-mail-lab, LAB_PUBLIC_ORIGIN,
and credentials pointers for mirror token recovery.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-23 17:07:46 +02:00