11package com.coder.gateway.views.steps
22
33import com.coder.gateway.CoderGatewayBundle
4- import com.coder.gateway.CoderSupportedVersions
54import com.coder.gateway.icons.CoderIcons
65import com.coder.gateway.models.CoderWorkspacesWizardModel
76import com.coder.gateway.models.WorkspaceAgentModel
@@ -14,6 +13,8 @@ import com.coder.gateway.sdk.Arch
1413import com.coder.gateway.sdk.CoderCLIManager
1514import com.coder.gateway.sdk.CoderRestClientService
1615import com.coder.gateway.sdk.CoderSemVer
16+ import com.coder.gateway.sdk.IncompatibleVersionException
17+ import com.coder.gateway.sdk.InvalidVersionException
1718import com.coder.gateway.sdk.OS
1819import com.coder.gateway.sdk.TemplateIconDownloader
1920import com.coder.gateway.sdk.ex.AuthenticationResponseException
@@ -521,23 +522,21 @@ class CoderWorkspacesStepView(val setNextButtonEnabled: (Boolean) -> Unit) : Cod
521522 logger.info(" Authenticating to ${localWizardModel.coderURL} ..." )
522523 coderClient.initClientSession(localWizardModel.coderURL.toURL(), token)
523524
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)
527531 notificationBanner.apply {
528532 component.isVisible = true
529533 showWarning(CoderGatewayBundle .message(" gateway.connector.view.coder.workspaces.invalid.coder.version" , coderClient.buildVersion))
530534 }
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))
541540 }
542541 }
543542
0 commit comments