Remote Sessions
Abilitando le Remote Sessions, puoi accedere alla stessa sessione da web e mobile tramite Mission Control di GitHub. Una volta abilitate, la sessione si connette a Mission Control e viene emesso un URL condivisibile come link o codice QR. Se vuoi che la sessione stessa venga eseguita nell’ambiente hostato da GitHub anziché in locale o su un tuo server, usa le Cloud Sessions.Prerequisiti
- L’utente deve essere autenticato (token GitHub o utente loggato)
- La
workingDirectorydeve essere un repository GitHub
Opzioni di configurazione rimosse
L’SDK ufficiale 1.0.26 ha rimosso l’opzioneremote del client, l’opzione remoteSession della sessione e il flag di avvio CLI --remote. Per condividere una sessione, abilitala on-demand con $session->rpc()->remote()->enable(). Le RPC esistenti per le sessioni remote continuano a funzionare.
Attivazione per sessione (on-demand)
Per condividere una sessione, attiva l’accesso remoto tramite RPC. È equivalente ai comandi/remote on e /remote off della CLI.
Connessione a una sessione remota esistente (ambito server)
Per connettere il server CLI a una sessione remota esistente, chiama$client->rpc()->sessions()->connect(). Passa il sessionId remoto in ConnectRemoteSessionParams. Il risultato contiene il sessionId lato SDK e i metadati della sessione remota.
Remote Control a livello di runtime (modalità TCP)
La proprietàremote di RemoteControlConfig configura il Remote Control a livello di runtime. Non ha relazione con l’opzione di avvio remote del client, che è stata rimossa.
In modalità TCP, usa $client->rpc()->sessions() per gestire un unico Remote Control per l’intero runtime. A differenza di remote()->enable() per sessione, questi metodi ti permettono di avviare, fermare e trasferire il Remote Control tra sessioni, e di leggerne lo stato attuale.
off, connecting, active o error. Quando lo stato è active, puoi leggere anche frontendUrl e isSteerable.
Generazione codice QR
L’URL remoto ottenuto può essere trasformato in un codice QR da passare al mobile. Puoi usare BaconQrCode, utilizzato anche in Laravel Fortify.Considerazioni
- Se
workingDirectorynon è un repository GitHub,remote()->enable()può generare un errore. - Configura correttamente le credenziali di autenticazione (
github_tokenouse_logged_in_user).
Riferimenti
Per le informazioni più recenti fai riferimento al repository GitHub.