1
1
package com.coder.gateway.views.steps
2
2
3
3
import com.coder.gateway.CoderGatewayBundle
4
- import com.coder.gateway.CoderSupportedVersions
5
4
import com.coder.gateway.icons.CoderIcons
6
5
import com.coder.gateway.models.CoderWorkspacesWizardModel
7
6
import com.coder.gateway.models.WorkspaceAgentModel
@@ -14,6 +13,8 @@ import com.coder.gateway.sdk.Arch
14
13
import com.coder.gateway.sdk.CoderCLIManager
15
14
import com.coder.gateway.sdk.CoderRestClientService
16
15
import com.coder.gateway.sdk.CoderSemVer
16
+ import com.coder.gateway.sdk.IncompatibleVersionException
17
+ import com.coder.gateway.sdk.InvalidVersionException
17
18
import com.coder.gateway.sdk.OS
18
19
import com.coder.gateway.sdk.TemplateIconDownloader
19
20
import com.coder.gateway.sdk.ex.AuthenticationResponseException
@@ -521,23 +522,21 @@ class CoderWorkspacesStepView(val setNextButtonEnabled: (Boolean) -> Unit) : Cod
521
522
logger.info(" Authenticating to ${localWizardModel.coderURL} ..." )
522
523
coderClient.initClientSession(localWizardModel.coderURL.toURL(), token)
523
524
524
- logger.info(" Checking Coder version..." )
525
- if (! CoderSemVer .isValidVersion(coderClient.buildVersion)) {
526
- logger.warn(" Got invalid version ${coderClient.buildVersion} " )
525
+ try {
526
+ logger.info(" Checking compatibility with Coder version ${coderClient.buildVersion} ..." )
527
+ CoderSemVer .checkVersionCompatibility(coderClient.buildVersion)
528
+ logger.info(" ${coderClient.buildVersion} is compatible" )
529
+ } catch (e: InvalidVersionException ) {
530
+ logger.warn(e)
527
531
notificationBanner.apply {
528
532
component.isVisible = true
529
533
showWarning(CoderGatewayBundle .message(" gateway.connector.view.coder.workspaces.invalid.coder.version" , coderClient.buildVersion))
530
534
}
531
- } else {
532
- val coderVersion = CoderSemVer .parse(coderClient.buildVersion)
533
- if (! coderVersion.isInClosedRange(CoderSupportedVersions .minCompatibleCoderVersion, CoderSupportedVersions .maxCompatibleCoderVersion)) {
534
- logger.warn(" Running with incompatible version ${coderClient.buildVersion} " )
535
- notificationBanner.apply {
536
- component.isVisible = true
537
- showWarning(CoderGatewayBundle .message(" gateway.connector.view.coder.workspaces.unsupported.coder.version" , coderClient.buildVersion))
538
- }
539
- } else {
540
- logger.info(" Got version ${coderClient.buildVersion} ..." )
535
+ } catch (e: IncompatibleVersionException ) {
536
+ logger.warn(e)
537
+ notificationBanner.apply {
538
+ component.isVisible = true
539
+ showWarning(CoderGatewayBundle .message(" gateway.connector.view.coder.workspaces.unsupported.coder.version" , coderClient.buildVersion))
541
540
}
542
541
}
543
542
0 commit comments