re-ovo / discord-ij

A plugin for the IntelliJ IDEA IDE that adds Discord Rich Presence support.
https://plugins.jetbrains.com/plugin/21240-discordij
MIT License
12 stars 3 forks source link

Projects is always null in JetBrains gateway client. #1

Closed marknefedov closed 1 year ago

marknefedov commented 1 year ago

Hi! It seems like plugin can't get project name in the gateway client. I'm using goland and developing on remote server over ssh. image

Cannot create listener

com.intellij.diagnostic.PluginException: Cannot create listener me.rerere.discordij.listener.ProjectListener [Plugin: me.rerere.discord-ij]
    at com.intellij.serviceContainer.ComponentManagerImpl.createListener(ComponentManagerImpl.kt:1070)
    at com.intellij.util.messages.impl.CompositeMessageBus.subscribeLazyListeners$lambda$3(CompositeMessageBus.kt:117)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeNonCancelableSection$3(CoreProgressManager.java:222)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$computeInNonCancelableSection$4(CoreProgressManager.java:230)
    at com.intellij.openapi.progress.Cancellation.computeInNonCancelableSection(Cancellation.java:99)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeInNonCancelableSection(CoreProgressManager.java:230)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeNonCancelableSection(CoreProgressManager.java:221)
    at com.intellij.util.messages.impl.CompositeMessageBus.subscribeLazyListeners(CompositeMessageBus.kt:111)
    at com.intellij.util.messages.impl.CompositeMessageBus.doComputeSubscribers$intellij_platform_core(CompositeMessageBus.kt:92)
    at com.intellij.util.messages.impl.MessageBusImpl.computeSubscribers$intellij_platform_core(MessageBusImpl.kt:210)
    at com.intellij.util.messages.impl.CompositeMessageBus.computeSubscribers$intellij_platform_core(CompositeMessageBus.kt:87)
    at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher$publish$handlers$1.invoke(CompositeMessageBus.kt:261)
    at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher$publish$handlers$1.invoke(CompositeMessageBus.kt:261)
    at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher.publish$lambda$0(CompositeMessageBus.kt:261)
    at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
    at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher.publish$intellij_platform_core(CompositeMessageBus.kt:261)
    at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:442)
    at jdk.proxy1/jdk.proxy1.$Proxy73.projectOpened(Unknown Source)
    at com.intellij.openapi.project.impl.ProjectManagerImplKt$runInitProjectActivities$lambda$1$$inlined$useWithScope2$1.invokeSuspend(trace.kt:111)
    at com.intellij.openapi.project.impl.ProjectManagerImplKt$runInitProjectActivities$lambda$1$$inlined$useWithScope2$1.invoke(trace.kt)
    at com.intellij.openapi.project.impl.ProjectManagerImplKt$runInitProjectActivities$lambda$1$$inlined$useWithScope2$1.invoke(trace.kt)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
    at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:169)
    at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
    at com.intellij.openapi.project.impl.ProjectManagerImplKt$runInitProjectActivities$$inlined$launchAndMeasure$1.invokeSuspend(startUpMeasurer.kt:44)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    at com.intellij.openapi.application.impl.DispatchedRunnable.run(DispatchedRunnable.kt:35)
    at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
    at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21)
    at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
    at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:456)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:79)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:122)
    at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:41)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:788)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:758)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:666)
    at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$7(IdeEventQueue.kt:570)
    at com.intellij.openapi.application.impl.ApplicationImpl.withoutImplicitRead(ApplicationImpl.java:1446)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:570)
    at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343)
    at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:994)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
    at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:994)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
Caused by: com.intellij.diagnostic.PluginException: Cannot load class me.rerere.discordij.listener.ProjectListener (
  error: com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager$PostStartupActivity,
  classLoader=PluginClassLoader(plugin=PluginDescriptor(name=DiscordIJ, id=me.rerere.discord-ij, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\JetBrainsClient231.8109.199\plugins\discord-ij, version=1.0.6-SNAPSHOT, package=null, isBundled=false), packagePrefix=null, instanceId=9, state=active)
)
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.kt:325)
    at com.intellij.ide.plugins.cl.PluginClassLoader.tryLoadingClass(PluginClassLoader.kt:172)
    at com.intellij.serviceContainer.ComponentManagerImplKt.doLoadClass(ComponentManagerImpl.kt:1629)
    at com.intellij.serviceContainer.ComponentManagerImplKt.access$doLoadClass(ComponentManagerImpl.kt:1)
    at com.intellij.serviceContainer.ComponentManagerImpl.createListener(ComponentManagerImpl.kt:1067)
    ... 66 more
Caused by: java.lang.NoClassDefFoundError: com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager$PostStartupActivity
    at java.base/java.lang.ClassLoader.defineClass2(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1103)
    at com.intellij.util.lang.UrlClassLoader.consumeClassData(UrlClassLoader.java:268)
    at com.intellij.util.lang.ZipResourceFile.findClass(ZipResourceFile.java:112)
    at com.intellij.util.lang.JarLoader.findClass(JarLoader.java:58)
    at com.intellij.util.lang.ClassPath.findClassInLoader(ClassPath.java:233)
    at com.intellij.util.lang.ClassPath.findClassWithoutCache(ClassPath.java:222)
    at com.intellij.util.lang.ClassPath.findClass(ClassPath.java:205)
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.kt:320)
    ... 70 more
Caused by: java.lang.ClassNotFoundException: com.intellij.openapi.vcs.changes.shelf.ShelveChangesManager$PostStartupActivity PluginClassLoader(plugin=PluginDescriptor(name=DiscordIJ, id=me.rerere.discord-ij, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\JetBrainsClient231.8109.199\plugins\discord-ij, version=1.0.6-SNAPSHOT, package=null, isBundled=false), packagePrefix=null, instanceId=9, state=active)
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:150)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
    ... 79 more
re-ovo commented 1 year ago

fixed, But it seems that the file type cannot be detected correctly, I think it may need to handle remote development separately