@@ -17,8 +17,10 @@ import com.intellij.credentialStore.CredentialAttributes
1717import com.intellij.credentialStore.generateServiceName
1818import com.intellij.ide.passwordSafe.PasswordSafe
1919import com.intellij.openapi.Disposable
20+ import com.intellij.openapi.application.CachedSingletonsRegistry
2021import com.intellij.openapi.components.Service
2122import com.intellij.openapi.components.service
23+ import com.intellij.openapi.diagnostic.thisLogger
2224import com.intellij.util.EventDispatcher
2325import com.intellij.util.Url
2426import com.intellij.util.Urls.encodeParameters
@@ -35,6 +37,7 @@ import java.net.http.HttpResponse
3537import java.security.SecureRandom
3638import java.util.*
3739import java.util.concurrent.CompletableFuture
40+ import java.util.function.Supplier
3841import kotlin.math.absoluteValue
3942
4043@Service
@@ -148,7 +151,8 @@ internal class GitpodAuthService : OAuthServiceBase<Credentials>() {
148151 }
149152
150153 companion object {
151- val instance: GitpodAuthService = service()
154+ @Suppress(" UnstableApiUsage" )
155+ val instance: Supplier <GitpodAuthService > = CachedSingletonsRegistry .lazy { service() }
152156
153157 private const val SERVICE_NAME = " gitpod/oauth"
154158 private const val CLIENT_ID = " jetbrains-gateway-gitpod-plugin"
@@ -176,7 +180,7 @@ internal class GitpodAuthService : OAuthServiceBase<Credentials>() {
176180 }
177181
178182 suspend fun authorize (gitpodHost : String ): String {
179- val accessToken = instance.authorize(gitpodHost).await().accessToken
183+ val accessToken = instance.get(). authorize(gitpodHost).await().accessToken
180184 setAccessToken(gitpodHost, accessToken)
181185 return accessToken
182186 }
0 commit comments