Commit Graph

20 Commits

Author SHA1 Message Date
bac655aca8 Fix API YouTube: id e mine non insieme in list_live_streams
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 08:34:50 +02:00
d08cd36527 Fix YouTube waiting: transcode verso RTMP e sync stato live.
Il relay non usa più copy (stream inactive su YouTube); PublisherSync
nel refresh overlay; activate solo quando lo stream YouTube è active.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 08:32:30 +02:00
2c5f4f82eb YouTube live immediata: relay sempre attivo e attivazione broadcast.
Il relay parte dal job overlay ogni 2s; scheduledStartTime ~90s invece di 5 min;
transition testing/live quando l'ingest RTMP raggiunge YouTube.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 08:19:20 +02:00
2ccbfea75e Corregge avvio RTMP bloccato dopo errore o cambio sessione.
Il motore Android ignorava startStream in CONNECTING/RECONNECTING; la camera
ora resetta prima di pubblicare. YouTube relay parte solo con overlay attivo.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 07:32:15 +02:00
1d67459bbe YouTube come destinazione pubblica, non Match Live TV.
Non propone più il link MLTV per sessioni YouTube; la pagina /live
reindirizza a YouTube; il relay verso YouTube si riavvia al connect.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 07:25:07 +02:00
9fd4d865b3 Corregge keyword youtube_channel in SetupBroadcast.
Il job Sidekiq falliva con ArgumentError unknown keyword :channel,
impedendo la creazione broadcast YouTube dopo la sessione API.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 00:32:15 +02:00
70e704827e Risolve timeout creazione sessione YouTube lato app.
La setup broadcast YouTube (~23s) passa in background job; l'API risponde
subito. Aumentato anche il timeout Dio mobile per createSession YouTube.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 00:18:07 +02:00
fd7a5c2c8e Fix bind_live_broadcast: stream_id come keyword arg.
La gem google-apis-youtube_v3 richiede stream_id: e non un terzo argomento
posizionale, causando 500 in creazione sessione YouTube.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 00:11:38 +02:00
8139d84d88 Fix orario YouTube scheduledStartTime per dirette immediate.
Normalizza la data partita nel futuro richiesto dall'API: se scheduled_at
è passato o assente usa now+5min, con messaggio d'errore più chiaro.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 00:03:19 +02:00
1f273f849d Aggiunge modulo Replay, Garage dev e YouTube a livello società.
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>
2026-06-03 07:53:11 +02:00
422d8848f6 Corregge chiusura diretta YouTube e stop sessione senza broadcast.
transition_live_broadcast richiede status, id e part; evita 500 in chiusura
diretta Match Live TV quando non c'è broadcast YouTube.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 23:06:46 +02:00
1677df7f86 Visibilità pubblico/link-only su tutte le piattaforme di streaming.
Default pubblico; opzione unica privato/non in elenco per Match Live TV,
YouTube piattaforma e canale società. Elenco dirette solo sessioni pubbliche.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 23:00:34 +02:00
1fb5cd5aa2 App: scelta canale YouTube MLTV/società, privacy e condivisione link.
Premium Full può forzare il canale piattaforma; visibilità non in elenco o privato;
share_url unificato per Match Live TV e YouTube.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 22:52:07 +02:00
6ac4db98bb Messaggi chiari per errori YouTube API in creazione diretta.
Include guida su liveStreamingNotEnabled e token non validi.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 22:44:49 +02:00
92c0058085 Corregge OAuth YouTube piattaforma senza access token in memoria.
Il refresh token ENV non veniva scambiato finché expires_at era vuoto,
causando 500 Unauthorized alla creazione sessione YouTube.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 22:43:31 +02:00
9b40deeb61 Unifica admin società/squadre e YouTube Full con fallback MLTV.
Premium Full senza canale società usa il canale piattaforma come Light;
in app restano solo Match Live TV e YouTube Live.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 22:38:28 +02:00
566104aff4 Billing upgrade/downgrade, inviti in app e diretta YouTube da mobile.
Upgrade Stripe con addebito immediato; downgrade programmato a fine periodo.
UX billing più sobria con box info; icone piani. API inviti e OAuth YouTube
per staff trasmissione; deep link join; scelta partita programmata o nuova.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 22:15:27 +02:00
71eaf9cf56 Fix callback OAuth YouTube: pagina HTML con refresh token invece di risposta API vuota.
Il codice OAuth va usato una sola volta; messaggio chiaro se si ricarica il callback.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 19:57:08 +02:00
994c1e3c09 Integrazione YouTube Live: OAuth squadra, canale piattaforma Light e UI.
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>
2026-06-02 19:36:56 +02:00
bba6df52c0 Initial commit: monorepo Match Live TV.
Rails API, app Flutter, infrastruttura Docker/MediaMTX, sito marketing e documentazione di deploy.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 17:45:37 +02:00