@@ -5,10 +5,7 @@ import com.coder.gateway.icons.CoderIcons
5
5
import com.coder.gateway.models.CoderWorkspacesWizardModel
6
6
import com.coder.gateway.models.TokenSource
7
7
import 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
12
9
import com.coder.gateway.models.WorkspaceVersionStatus
13
10
import com.coder.gateway.sdk.Arch
14
11
import com.coder.gateway.sdk.CoderCLIManager
@@ -24,6 +21,7 @@ import com.coder.gateway.sdk.ex.TemplateResponseException
24
21
import com.coder.gateway.sdk.ex.WorkspaceResponseException
25
22
import com.coder.gateway.sdk.toURL
26
23
import com.coder.gateway.sdk.v2.models.Workspace
24
+ import com.coder.gateway.sdk.v2.models.WorkspaceStatus
27
25
import com.coder.gateway.sdk.withPath
28
26
import com.coder.gateway.services.CoderSettingsState
29
27
import com.intellij.ide.ActivityTracker
@@ -134,8 +132,12 @@ class CoderWorkspacesStepView(val setNextButtonEnabled: (Boolean) -> Unit) : Cod
134
132
setEmptyState(" Disconnected" )
135
133
setSelectionMode(ListSelectionModel .SINGLE_SELECTION )
136
134
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 ) {
139
141
notificationBanner.apply {
140
142
component.isVisible = true
141
143
showInfo(CoderGatewayBundle .message(" gateway.connector.view.coder.workspaces.unsupported.os.info" ))
@@ -384,8 +386,8 @@ class CoderWorkspacesStepView(val setNextButtonEnabled: (Boolean) -> Unit) : Cod
384
386
private fun updateWorkspaceActions () {
385
387
goToDashboardAction.isEnabled = coderClient.isReady
386
388
createWorkspaceAction.isEnabled = coderClient.isReady
387
- when (tableOfWorkspaces.selectedObject?.agentStatus ) {
388
- RUNNING -> {
389
+ when (tableOfWorkspaces.selectedObject?.workspaceStatus ) {
390
+ WorkspaceStatus . RUNNING -> {
389
391
startWorkspaceAction.isEnabled = false
390
392
stopWorkspaceAction.isEnabled = true
391
393
when (tableOfWorkspaces.selectedObject?.status) {
@@ -395,7 +397,7 @@ class CoderWorkspacesStepView(val setNextButtonEnabled: (Boolean) -> Unit) : Cod
395
397
396
398
}
397
399
398
- STOPPED , FAILED -> {
400
+ WorkspaceStatus . STOPPED , WorkspaceStatus . FAILED -> {
399
401
startWorkspaceAction.isEnabled = true
400
402
stopWorkspaceAction.isEnabled = false
401
403
when (tableOfWorkspaces.selectedObject?.status) {
@@ -698,7 +700,8 @@ class CoderWorkspacesStepView(val setNextButtonEnabled: (Boolean) -> Unit) : Cod
698
700
this .templateIcon,
699
701
null ,
700
702
WorkspaceVersionStatus .from(this ),
701
- WorkspaceAgentStatus .from(this ),
703
+ this .latestBuild.status,
704
+ WorkspaceAndAgentStatus .from(this , agent),
702
705
this .latestBuild.transition,
703
706
OS .from(agent.operatingSystem),
704
707
Arch .from(agent.architecture),
@@ -723,7 +726,8 @@ class CoderWorkspacesStepView(val setNextButtonEnabled: (Boolean) -> Unit) : Cod
723
726
this .templateIcon,
724
727
null ,
725
728
WorkspaceVersionStatus .from(this ),
726
- WorkspaceAgentStatus .from(this ),
729
+ this .latestBuild.status,
730
+ WorkspaceAndAgentStatus .from(this ),
727
731
this .latestBuild.transition,
728
732
null ,
729
733
null ,
@@ -918,7 +922,7 @@ class CoderWorkspacesStepView(val setNextButtonEnabled: (Boolean) -> Unit) : Cod
918
922
super .getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column)
919
923
if (value is String ) {
920
924
text = value
921
- foreground = WorkspaceAgentStatus .from(value).statusColor()
925
+ foreground = WorkspaceAndAgentStatus .from(value).statusColor()
922
926
}
923
927
font = this @CoderWorkspacesStepView.tableOfWorkspaces.tableHeader.font
924
928
border = JBUI .Borders .empty(0 , 8 )
0 commit comments