Remote Sessions
Remote Sessions を有効にすると、GitHub の Mission Control 経由でウェブやモバイルから同じセッションにアクセスできます。 有効化するとセッションが Mission Control に接続され、リンクや QR コードとして共有できる URL が発行されます。 ローカルや自前サーバーではなく GitHub ホスト環境でセッション自体を実行したい場合は Cloud Sessions を使います。前提条件
- ユーザーが認証済みであること(GitHub トークンまたはログイン済みユーザー)
workingDirectoryが GitHub リポジトリであること
削除された設定
公式 SDK 1.0.26 でクライアント設定のremote、セッション設定の remoteSession、CLI 起動引数の --remote は削除されました。セッションを共有するには $session->rpc()->remote()->enable() でオンデマンドに有効化します。既存のリモートセッション RPC は引き続き利用できます。
セッションごとに有効化(オンデマンド)
セッションを共有したい場合は RPC で切り替えます。 CLI の/remote on および /remote off コマンドと同等の操作です。
既存のリモートセッションにサーバースコープで接続
CLI サーバーから既存のリモートセッションに接続する場合は、$client->rpc()->sessions()->connect() を使います。ConnectRemoteSessionParams に接続先のリモート sessionId を渡すと、SDK 側の sessionId とリモートセッションのメタデータを含む結果が返ります。
ランタイム全体の Remote Control(TCP モード)
RemoteControlConfig の remote プロパティはランタイム全体の Remote Control 用の設定です。削除されたクライアント起動設定の remote とは関係ありません。
TCP モードでは $client->rpc()->sessions() からランタイム全体で 1 つの Remote Control を管理できます。セッション単位の remote()->enable() とは異なり、操作対象セッションの開始・停止・移譲や、現在の状態の取得ができます。
off、connecting、active、error のいずれかです。active では frontendUrl や isSteerable も参照できます。
QR コード生成
取得したリモート URL は QR コードにしてモバイルへ渡せます。 Laravel Fortify でも使われている BaconQrCode が利用できます。注意点
workingDirectoryが GitHub リポジトリでない場合、remote()->enable()はエラーになる場合があります。- 認証情報(
github_tokenまたはuse_logged_in_user)を適切に設定してください。
参考
最新情報は GitHub リポジトリ を参照してください。