@@ -5,10 +5,7 @@ import com.coder.gateway.icons.CoderIcons
55import com.coder.gateway.models.CoderWorkspacesWizardModel
66import com.coder.gateway.models.TokenSource
77import com.coder.gateway.models.WorkspaceAgentModel
8- import com.coder.gateway.models.WorkspaceAgentStatus
9- import com.coder.gateway.models.WorkspaceAgentStatus.FAILED
10- import com.coder.gateway.models.WorkspaceAgentStatus.RUNNING
11- import com.coder.gateway.models.WorkspaceAgentStatus.STOPPED
8+ import com.coder.gateway.models.WorkspaceAndAgentStatus
129import com.coder.gateway.models.WorkspaceVersionStatus
1310import com.coder.gateway.sdk.Arch
1411import com.coder.gateway.sdk.CoderCLIManager
@@ -24,6 +21,7 @@ import com.coder.gateway.sdk.ex.TemplateResponseException
2421import com.coder.gateway.sdk.ex.WorkspaceResponseException
2522import com.coder.gateway.sdk.toURL
2623import com.coder.gateway.sdk.v2.models.Workspace
24+ import com.coder.gateway.sdk.v2.models.WorkspaceStatus
2725import com.coder.gateway.sdk.withPath
2826import com.coder.gateway.services.CoderSettingsState
2927import com.intellij.ide.ActivityTracker
@@ -134,8 +132,12 @@ class CoderWorkspacesStepView(val setNextButtonEnabled: (Boolean) -> Unit) : Cod
134132 setEmptyState(" Disconnected" )
135133 setSelectionMode(ListSelectionModel .SINGLE_SELECTION )
136134 selectionModel.addListSelectionListener {
137- setNextButtonEnabled(selectedObject != null && selectedObject?.agentStatus == RUNNING && selectedObject?.agentOS == OS .LINUX )
138- if (selectedObject?.agentStatus == RUNNING && selectedObject?.agentOS != OS .LINUX ) {
135+ val ready = listOf (
136+ WorkspaceAndAgentStatus .READY , WorkspaceAndAgentStatus .START_ERROR ,
137+ WorkspaceAndAgentStatus .START_TIMEOUT , WorkspaceAndAgentStatus .AGENT_STARTING_READY
138+ ).contains(selectedObject?.agentStatus)
139+ setNextButtonEnabled(ready && selectedObject?.agentOS == OS .LINUX )
140+ if (ready && selectedObject?.agentOS != OS .LINUX ) {
139141 notificationBanner.apply {
140142 component.isVisible = true
141143 showInfo(CoderGatewayBundle .message(" gateway.connector.view.coder.workspaces.unsupported.os.info" ))
@@ -384,8 +386,8 @@ class CoderWorkspacesStepView(val setNextButtonEnabled: (Boolean) -> Unit) : Cod
384386 private fun updateWorkspaceActions () {
385387 goToDashboardAction.isEnabled = coderClient.isReady
386388 createWorkspaceAction.isEnabled = coderClient.isReady
387- when (tableOfWorkspaces.selectedObject?.agentStatus ) {
388- RUNNING -> {
389+ when (tableOfWorkspaces.selectedObject?.workspaceStatus ) {
390+ WorkspaceStatus . RUNNING -> {
389391 startWorkspaceAction.isEnabled = false
390392 stopWorkspaceAction.isEnabled = true
391393 when (tableOfWorkspaces.selectedObject?.status) {
@@ -395,7 +397,7 @@ class CoderWorkspacesStepView(val setNextButtonEnabled: (Boolean) -> Unit) : Cod
395397
396398 }
397399
398- STOPPED , FAILED -> {
400+ WorkspaceStatus . STOPPED , WorkspaceStatus . FAILED -> {
399401 startWorkspaceAction.isEnabled = true
400402 stopWorkspaceAction.isEnabled = false
401403 when (tableOfWorkspaces.selectedObject?.status) {
@@ -698,7 +700,8 @@ class CoderWorkspacesStepView(val setNextButtonEnabled: (Boolean) -> Unit) : Cod
698700 this .templateIcon,
699701 null ,
700702 WorkspaceVersionStatus .from(this ),
701- WorkspaceAgentStatus .from(this ),
703+ this .latestBuild.status,
704+ WorkspaceAndAgentStatus .from(this , agent),
702705 this .latestBuild.transition,
703706 OS .from(agent.operatingSystem),
704707 Arch .from(agent.architecture),
@@ -723,7 +726,8 @@ class CoderWorkspacesStepView(val setNextButtonEnabled: (Boolean) -> Unit) : Cod
723726 this .templateIcon,
724727 null ,
725728 WorkspaceVersionStatus .from(this ),
726- WorkspaceAgentStatus .from(this ),
729+ this .latestBuild.status,
730+ WorkspaceAndAgentStatus .from(this ),
727731 this .latestBuild.transition,
728732 null ,
729733 null ,
@@ -918,7 +922,7 @@ class CoderWorkspacesStepView(val setNextButtonEnabled: (Boolean) -> Unit) : Cod
918922 super .getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column)
919923 if (value is String ) {
920924 text = value
921- foreground = WorkspaceAgentStatus .from(value).statusColor()
925+ foreground = WorkspaceAndAgentStatus .from(value).statusColor()
922926 }
923927 font = this @CoderWorkspacesStepView.tableOfWorkspaces.tableHeader.font
924928 border = JBUI .Borders .empty(0 , 8 )
0 commit comments