@@ -17,8 +17,10 @@ import com.intellij.credentialStore.CredentialAttributes
17
17
import com.intellij.credentialStore.generateServiceName
18
18
import com.intellij.ide.passwordSafe.PasswordSafe
19
19
import com.intellij.openapi.Disposable
20
+ import com.intellij.openapi.application.CachedSingletonsRegistry
20
21
import com.intellij.openapi.components.Service
21
22
import com.intellij.openapi.components.service
23
+ import com.intellij.openapi.diagnostic.thisLogger
22
24
import com.intellij.util.EventDispatcher
23
25
import com.intellij.util.Url
24
26
import com.intellij.util.Urls.encodeParameters
@@ -35,6 +37,7 @@ import java.net.http.HttpResponse
35
37
import java.security.SecureRandom
36
38
import java.util.*
37
39
import java.util.concurrent.CompletableFuture
40
+ import java.util.function.Supplier
38
41
import kotlin.math.absoluteValue
39
42
40
43
@Service
@@ -148,7 +151,8 @@ internal class GitpodAuthService : OAuthServiceBase<Credentials>() {
148
151
}
149
152
150
153
companion object {
151
- val instance: GitpodAuthService = service()
154
+ @Suppress(" UnstableApiUsage" )
155
+ val instance: Supplier <GitpodAuthService > = CachedSingletonsRegistry .lazy { service() }
152
156
153
157
private const val SERVICE_NAME = " gitpod/oauth"
154
158
private const val CLIENT_ID = " jetbrains-gateway-gitpod-plugin"
@@ -176,7 +180,7 @@ internal class GitpodAuthService : OAuthServiceBase<Credentials>() {
176
180
}
177
181
178
182
suspend fun authorize (gitpodHost : String ): String {
179
- val accessToken = instance.authorize(gitpodHost).await().accessToken
183
+ val accessToken = instance.get(). authorize(gitpodHost).await().accessToken
180
184
setAccessToken(gitpodHost, accessToken)
181
185
return accessToken
182
186
}
0 commit comments