Skip to content

Commit ebc8ce5

Browse files
authored
Merge pull request cli#53 from github/jg/perf-improvements
Liveshare client upgrade to v0.6.0
2 parents 77d0bc1 + 9544f8a commit ebc8ce5

File tree

4 files changed

+24
-19
lines changed

4 files changed

+24
-19
lines changed

api/api.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,10 @@ const (
133133
)
134134

135135
type CodespaceEnvironmentConnection struct {
136-
SessionID string `json:"sessionId"`
137-
SessionToken string `json:"sessionToken"`
136+
SessionID string `json:"sessionId"`
137+
SessionToken string `json:"sessionToken"`
138+
RelayEndpoint string `json:"relayEndpoint"`
139+
RelaySAS string `json:"relaySas"`
138140
}
139141

140142
func (a *API) ListCodespaces(ctx context.Context, user *User) (Codespaces, error) {

cmd/ghcs/ports.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,8 @@ func Ports() error {
107107

108108
}
109109

110-
func getPorts(ctx context.Context, liveShareClient *liveshare.Client) (liveshare.Ports, error) {
111-
server, err := liveShareClient.NewServer()
110+
func getPorts(ctx context.Context, lsclient *liveshare.Client) (liveshare.Ports, error) {
111+
server, err := liveshare.NewServer(lsclient)
112112
if err != nil {
113113
return nil, fmt.Errorf("error creating server: %v", err)
114114
}
@@ -214,12 +214,12 @@ func updatePortVisibility(codespaceName, sourcePort string, public bool) error {
214214
return fmt.Errorf("error getting codespace: %v", err)
215215
}
216216

217-
liveShareClient, err := codespaces.ConnectToLiveshare(ctx, apiClient, token, codespace)
217+
lsclient, err := codespaces.ConnectToLiveshare(ctx, apiClient, token, codespace)
218218
if err != nil {
219219
return fmt.Errorf("error connecting to liveshare: %v", err)
220220
}
221221

222-
server, err := liveShareClient.NewServer()
222+
server, err := liveshare.NewServer(lsclient)
223223
if err != nil {
224224
return fmt.Errorf("error creating server: %v", err)
225225
}
@@ -276,12 +276,12 @@ func forwardPort(codespaceName, sourcePort, destPort string) error {
276276
return fmt.Errorf("error getting codespace: %v", err)
277277
}
278278

279-
liveShareClient, err := codespaces.ConnectToLiveshare(ctx, apiClient, token, codespace)
279+
lsclient, err := codespaces.ConnectToLiveshare(ctx, apiClient, token, codespace)
280280
if err != nil {
281281
return fmt.Errorf("error connecting to liveshare: %v", err)
282282
}
283283

284-
server, err := liveShareClient.NewServer()
284+
server, err := liveshare.NewServer(lsclient)
285285
if err != nil {
286286
return fmt.Errorf("error creating server: %v", err)
287287
}
@@ -301,7 +301,7 @@ func forwardPort(codespaceName, sourcePort, destPort string) error {
301301
}
302302

303303
fmt.Println("Forwarding port: " + sourcePort + " -> " + destPort)
304-
portForwarder := liveshare.NewLocalPortForwarder(liveShareClient, server, dstPortInt)
304+
portForwarder := liveshare.NewPortForwarder(lsclient, server, dstPortInt)
305305
if err := portForwarder.Start(ctx); err != nil {
306306
return fmt.Errorf("error forwarding port: %v", err)
307307
}

cmd/ghcs/ssh.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,12 @@ func SSH(sshProfile, codespaceName string, sshServerPort int) error {
8282
}
8383
}
8484

85-
liveShareClient, err := codespaces.ConnectToLiveshare(ctx, apiClient, token, codespace)
85+
lsclient, err := codespaces.ConnectToLiveshare(ctx, apiClient, token, codespace)
8686
if err != nil {
8787
return fmt.Errorf("error connecting to liveshare: %v", err)
8888
}
8989

90-
terminal, err := liveShareClient.NewTerminal()
90+
terminal, err := liveshare.NewTerminal(lsclient)
9191
if err != nil {
9292
return fmt.Errorf("error creating liveshare terminal: %v", err)
9393
}
@@ -106,7 +106,7 @@ func SSH(sshProfile, codespaceName string, sshServerPort int) error {
106106
fmt.Printf("\n")
107107
}
108108

109-
server, err := liveShareClient.NewServer()
109+
server, err := liveshare.NewServer(lsclient)
110110
if err != nil {
111111
return fmt.Errorf("error creating server: %v", err)
112112
}
@@ -121,7 +121,7 @@ func SSH(sshProfile, codespaceName string, sshServerPort int) error {
121121
return fmt.Errorf("error sharing sshd port: %v", err)
122122
}
123123

124-
portForwarder := liveshare.NewLocalPortForwarder(liveShareClient, server, port)
124+
portForwarder := liveshare.NewPortForwarder(lsclient, server, port)
125125
go func() {
126126
if err := portForwarder.Start(ctx); err != nil {
127127
panic(fmt.Errorf("error forwarding port: %v", err))

internal/codespaces/codespaces.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,18 +93,21 @@ func ConnectToLiveshare(ctx context.Context, apiClient *api.API, token string, c
9393

9494
fmt.Println("Connecting to your codespace...")
9595

96-
liveShare, err := liveshare.New(
97-
liveshare.WithWorkspaceID(codespace.Environment.Connection.SessionID),
98-
liveshare.WithToken(codespace.Environment.Connection.SessionToken),
96+
lsclient, err := liveshare.NewClient(
97+
liveshare.WithConnection(liveshare.Connection{
98+
SessionID: codespace.Environment.Connection.SessionID,
99+
SessionToken: codespace.Environment.Connection.SessionToken,
100+
RelaySAS: codespace.Environment.Connection.RelaySAS,
101+
RelayEndpoint: codespace.Environment.Connection.RelayEndpoint,
102+
}),
99103
)
100104
if err != nil {
101105
return nil, fmt.Errorf("error creating live share: %v", err)
102106
}
103107

104-
liveShareClient := liveShare.NewClient()
105-
if err := liveShareClient.Join(ctx); err != nil {
108+
if err := lsclient.Join(ctx); err != nil {
106109
return nil, fmt.Errorf("error joining liveshare client: %v", err)
107110
}
108111

109-
return liveShareClient, nil
112+
return lsclient, nil
110113
}

0 commit comments

Comments
 (0)