zielu / GitToolBox

GitToolBox IntelliJ plugin
GNU General Public License v3.0
604 stars 73 forks source link

[BUG] multiple GitHub password request popups #403

Closed mambax7 closed 2 years ago

mambax7 commented 2 years ago

Describe the bug It seems like the latest release is forcing me to sign to GitHub for each project. I have several projects opened at once, therefore I'm getting tons of these popups: image I've tried all the options, i.e. to provide my personal token, to sign with code, hoping that it will remember for next time, but it's not the case, i.e. when I close and re-open PhpStorm, all the popups are there again, so I just need to deactivate your plugin for the time being.

FYI: in the PhpStorm 2022.2 EAP I'm getting this error:

java.lang.IllegalStateException: RPC handler object "git4idea.http.GitAskPassXmlRpcHandler" not found
    at org.jetbrains.ide.XmlRpcServerImpl.getHandler(XmlRpcServerImpl.java:137)
    at org.jetbrains.ide.XmlRpcServerImpl.process(XmlRpcServerImpl.java:105)
    at org.jetbrains.ide.XmlRpcServerImpl$XmlRpcRequestHandler.process(XmlRpcServerImpl.java:63)
    at org.jetbrains.io.DelegatingHttpRequestHandler$process$1.invoke(DelegatingHttpRequestHandler.kt:21)
    at org.jetbrains.io.DelegatingHttpRequestHandler$process$2.test(DelegatingHttpRequestHandler.kt:35)
    at org.jetbrains.io.DelegatingHttpRequestHandler$process$2.test(DelegatingHttpRequestHandler.kt:16)
    at com.intellij.openapi.extensions.impl.ExtensionProcessingHelper.lambda$findFirstSafe$0(ExtensionProcessingHelper.java:46)
    at com.intellij.openapi.extensions.impl.ExtensionProcessingHelper.computeSafeIfAny(ExtensionProcessingHelper.java:56)
    at com.intellij.openapi.extensions.impl.ExtensionProcessingHelper.findFirstSafe(ExtensionProcessingHelper.java:46)
    at com.intellij.openapi.extensions.ExtensionPointName.findFirstSafe(ExtensionPointName.java:50)
    at org.jetbrains.io.DelegatingHttpRequestHandler.process(DelegatingHttpRequestHandler.kt:34)
    at org.jetbrains.io.DelegatingHttpRequestHandlerBase.messageReceived(DelegatingHttpRequestHandlerBase.kt:15)
    at org.jetbrains.io.DelegatingHttpRequestHandlerBase.messageReceived(DelegatingHttpRequestHandlerBase.kt:11)
    at org.jetbrains.io.SimpleChannelInboundHandlerAdapter.channelRead0(SimpleChannelInboundHandlerAdapter.java:21)
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    at io.netty.handler.codec.http.cors.CorsHandler.channelRead(CorsHandler.java:95)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:327)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:299)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    at org.jetbrains.io.PortUnificationServerHandler.decode(PortUnificationServerHandler.java:129)
    at org.jetbrains.io.PortUnificationServerHandler.messageReceived(PortUnificationServerHandler.java:76)
    at org.jetbrains.io.Decoder.channelRead(Decoder.java:24)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:722)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)

But there is no such error in the PhpStorm 2021.3.3

To Reproduce Have several projects opened at once in PhpStorm.

Expected behavior My existing GitHub login info will be taken from the GitHub entry in PhpStorm and used automatically when needed: image

Plugin version 212.9.0

IDE version PhpStorm 2021.3.3 Build #PS-213.7172.28, built on March 17, 2022 PhpStorm 2022.2 EAP Build #PS-222.2964.63, built on June 9, 2022

Screenshots See above.

zielu commented 2 years ago

Hi, there is no custom login code in the plugin.It only calls IDE provided api. See https://github.com/zielu/GitToolBox/wiki/Manual#faq

mambax7 commented 2 years ago

Do you have any idea why it was never a problem, but it started only when I updated the plugin to the latest version? Previously it worked perfectly. I thought first that maybe something changed in the EAP, but then I looked in the PhpStorm 2021.3.3, and it's the same behavior.

zielu commented 2 years ago

Ok, looks like it needs checking with actual github login.

mambax7 commented 2 years ago

Thanks for looking into it!

zielu commented 2 years ago

Btw did you manage to try running that Git / Fetch action and checking if it works correctly ? I tried and cannot reproduce this.

mambax7 commented 2 years ago

I turned off the automatic fetch, and it doesn't generate all these popup windows. But it would be nice to have the automatic fetching working...

zielu commented 2 years ago

Hi, unless you try with Git / Fetch (and several times to be sure) there is nothing more to do from my side. If it was general failure there would be more people with same problem already. Based on info you shared so far it might be as well an expired token.

To be clear - unless you try fetching with IDE action and check if it shows same behavior or not there is nothing for me to do but conclude this is issue local to you only and not related to plugin at all.