Dopo auth Rails redirect a URL presigned su /media/ (edge → Garage); aumenta
RAILS_MAX_THREADS, corregge ingest log ops via stdin e keystore Play Console.
Co-authored-by: Cursor <cursoragent@cursor.com>
NPM punta a nginx locale su :3000 che resta attivo durante il restart Rails; nuovo script release_production.sh esegue migrate, build e deploy in ordine.
Co-authored-by: Cursor <cursoragent@cursor.com>
Monta /app/log sul disco video, sposta i cron log sullo stesso path, esclude log/ dal sync rsync e aggiunge pulizia volumi Docker obsoleti.
Co-authored-by: Cursor <cursoragent@cursor.com>
Monta /app/storage sul disco video dedicato invece che su un volume Docker al path sbagliato, così i logo società/squadra sopravvivono ai rebuild.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce incidenti con dedup, job Sidekiq ogni 3 min, scan log cron, /up/deep,
dashboard /admin/ops e push ntfy; include Sentry opzionale e fix test suite.
Co-authored-by: Cursor <cursoragent@cursor.com>
Evita il riempimento disco da segmenti MediaMTX post-sessione con cron orario;
documenta come board, overlay e regolamenti sportivi si relazionano nel sistema.
Co-authored-by: Cursor <cursoragent@cursor.com>
Player contenuto come la diretta, fix streaming thumbnail da S3, volume persistente ActiveStorage in produzione.
Co-authored-by: Cursor <cursoragent@cursor.com>
Il tabellone stile SportCam e il watermark Match Live TV sono bruciati in GPU via RootEncoder; sul backend spariscono OverlayRelay, job Sidekiq e volume stream_overlays.
Co-authored-by: Cursor <cursoragent@cursor.com>
Pipeline YouTube con relay, overlay e publisher sync lato backend; fix GL pauseGlDuringRotation su Android per evitare crash in rotazione durante lo streaming Flutter.
Co-authored-by: Cursor <cursoragent@cursor.com>
Tabellone, badge e brand sono ricodificati nel flusso _air via OverlayRelay;
sync punteggio HTTP, volume condiviso rails/sidekiq, qualità 720p migliorata
e badge CONNECTING in ripresa da pausa.
Co-authored-by: Cursor <cursoragent@cursor.com>
Il banner consente solo necessari o tutti i cookie; GA4 si carica solo dopo
consenso. Aggiornati privacy, footer, sitemap e variabile GOOGLE_ANALYTICS_MEASUREMENT_ID.
Co-authored-by: Cursor <cursoragent@cursor.com>
Pipeline registrazione/upload con storage S3, archivio web e app, proxy replay
per il browser, OAuth YouTube sulla pagina club (Premium Full) e footer legale.
Co-authored-by: Cursor <cursoragent@cursor.com>
Metti in pausa ferma RTMP lato app mantenendo la camera aperta, MediaMTX
manda offline.mp4 agli spettatori e Chiudi termina definitivamente.
Co-authored-by: Cursor <cursoragent@cursor.com>
Collegamento da Dettagli squadra e admin per il refresh token Match Live TV; API e app mobile allineate ai piani Light/Full.
Co-authored-by: Cursor <cursoragent@cursor.com>
Rimuove link al portale Stripe in area cliente, aggiunge flusso admin per PDF
fattura e email, blocca checkout senza dati di fatturazione, allinea prezzi
a €4,90/€39,90 e €9,90/€69,90, locale italiano e documentazione deploy.
Co-authored-by: Cursor <cursoragent@cursor.com>
Aggiunge fatturazione club, pagina regia condivisibile senza account, roster squadre e rimuove la modalità controller dall'app (v1.1.0).
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce clubs con abbonamento, branding Active Storage e flusso registrazione società; corregge healthcheck MediaMTX (immagine distroless) e allinea dominio produzione matchlivetv.it.
Co-authored-by: Cursor <cursoragent@cursor.com>
Logo e favicon nel header, partite programmate su web e mobile, reset password,
pagine FAQ/sitemap, privacy/termini GDPR e icona Android «Match Live Tv».
Co-authored-by: Cursor <cursoragent@cursor.com>