mirror of
https://github.com/coder/coder.git
synced 2026-09-21 20:51:01 +08:00
fix(cli): prevent asynchronous print of version mismatch in config-ssh (#13845)
This commit is contained in:
+11
-2
@@ -236,6 +236,8 @@ func (r *RootCmd) configSSH() *serpent.Command {
|
||||
r.InitClient(client),
|
||||
),
|
||||
Handler: func(inv *serpent.Invocation) error {
|
||||
ctx := inv.Context()
|
||||
|
||||
if sshConfigOpts.waitEnum != "auto" && skipProxyCommand {
|
||||
// The wait option is applied to the ProxyCommand. If the user
|
||||
// specifies skip-proxy-command, then wait cannot be applied.
|
||||
@@ -244,7 +246,14 @@ func (r *RootCmd) configSSH() *serpent.Command {
|
||||
sshConfigOpts.header = r.header
|
||||
sshConfigOpts.headerCommand = r.headerCommand
|
||||
|
||||
recvWorkspaceConfigs := sshPrepareWorkspaceConfigs(inv.Context(), client)
|
||||
// Talk to the API early to prevent the version mismatch
|
||||
// warning from being printed in the middle of a prompt.
|
||||
// This is needed because the asynchronous requests issued
|
||||
// by sshPrepareWorkspaceConfigs may otherwise trigger the
|
||||
// warning at any time.
|
||||
_, _ = client.BuildInfo(ctx)
|
||||
|
||||
recvWorkspaceConfigs := sshPrepareWorkspaceConfigs(ctx, client)
|
||||
|
||||
out := inv.Stdout
|
||||
if dryRun {
|
||||
@@ -366,7 +375,7 @@ func (r *RootCmd) configSSH() *serpent.Command {
|
||||
return xerrors.Errorf("fetch workspace configs failed: %w", err)
|
||||
}
|
||||
|
||||
coderdConfig, err := client.SSHConfiguration(inv.Context())
|
||||
coderdConfig, err := client.SSHConfiguration(ctx)
|
||||
if err != nil {
|
||||
// If the error is 404, this deployment does not support
|
||||
// this endpoint yet. Do not error, just assume defaults.
|
||||
|
||||
Reference in New Issue
Block a user