Vai al contenuto principale

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 workingDirectory deve essere un repository GitHub

Opzioni di configurazione rimosse

L’SDK ufficiale 1.0.26 ha rimosso l’opzione remote 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.
Lo stato è uno tra off, connecting, active o error. Quando lo stato è active, puoi leggere anche frontendUrl e isSteerable.
Per comunicare al runtime che la controllabilità remota di una sessione è cambiata, usa l’RPC con ambito di sessione.

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 workingDirectory non è un repository GitHub, remote()->enable() può generare un errore.
  • Configura correttamente le credenziali di autenticazione (github_token o use_logged_in_user).

Riferimenti

Per le informazioni più recenti fai riferimento al repository GitHub.
Ultima modifica il 26 ottobre 2026