mdddj / dd_flutter_idea_plugin

flutter dio idea plugin
https://flutterx.itbug.shop
MIT License
42 stars 4 forks source link

shop.itbug.fluttercheckversionx.hints.PluginVersionHints.fillCompletionVariants holds ReadWrite lock and freezes UI thread for 65 seconds #42

Closed ViugiNick closed 4 months ago

ViugiNick commented 6 months ago

shop.itbug.fluttercheckversionx.hints.PluginVersionHints.fillCompletionVariants makes HTTP requests while holding a Read/Write lock and it leads to a 65 seconds freeze of the UI thread.

com.intellij.codeInsight.completion.impl.CompletionServiceImpl.getVariantsFromContributor(CompletionServiceImpl.kt:219) [57100ms]
com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributor(CompletionService.java:81) [57100ms]
shop.itbug.fluttercheckversionx.hints.PluginVersionHints.fillCompletionVariants(PluginVersionHints.kt:18) [57100ms]
kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) [57100ms]
kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38) [57100ms]
kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) [57100ms]
kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59) [57100ms]
kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85) [57100ms]
kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280) [57100ms]
kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) [57100ms]
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) [57100ms]
shop.itbug.fluttercheckversionx.hints.PluginVersionHints$fillCompletionVariants$1$1.invokeSuspend(PluginVersionHints.kt:21) [57100ms]
shop.itbug.fluttercheckversionx.services.PubService.getPackageVersions(PubService.kt:38) [57100ms]
cn.hutool.http.HttpUtil.get(HttpUtil.java:133) [57100ms]
cn.hutool.http.HttpUtil.get(HttpUtil.java:145) [57100ms]
cn.hutool.http.HttpRequest.execute(HttpRequest.java:1027) [57100ms]
cn.hutool.http.HttpRequest.execute(HttpRequest.java:1051) [57100ms]
cn.hutool.http.HttpRequest.doExecute(HttpRequest.java:1188) [57100ms]
cn.hutool.http.HttpRequest.send(HttpRequest.java:1345) [57100ms]
cn.hutool.http.HttpConnection.connect(HttpConnection.java:387) [57100ms]
mdddj commented 6 months ago

Thank you for your feedback. It will be fixed in the next version