ChrisRM / material-theme-jetbrains

JetBrains theme of Material Theme
Other
7.84k stars 452 forks source link

Error in JetBrains Client IDE #1905

Closed rherrick closed 10 months ago

rherrick commented 10 months ago

Summary

I'm testing out JetBrains Client through Gateway and Gitpod and the Material Theme plugin generates an error and doesn't fully implement the selected theme.

I understand this is a relatively new and unstable workflow, so I wasn't exactly expecting everything to work 100%, but I wanted to provide this info just so you're aware it's happening.

Expected behavior

Install the Material Theme plugin, restart the IDE, and the UI should display in the selected theme.

Actual behavior

Parts of the UI are properly themed: the editor window, terminal, debug window, etc., but most of the frame is rendered in the default colors:

Screenshot 2023-09-14 at 11 45 03 AM

On start-up, the following error is logged:

com.intellij.diagnostic.PluginException: Cannot create extension (class=com.mallowigi.idea.focusmode.extensions.XmlFocusedElementFinder) [Plugin: com.chrisrm.idea.MaterialThemeUI]
    at com.intellij.serviceContainer.ComponentManagerImpl.createError(ComponentManagerImpl.kt:1067)
    at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.doCreateInstance(XmlExtensionAdapter.kt:69)
    at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.createInstance(XmlExtensionAdapter.kt:30)
    at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processAdapter(ExtensionPointImpl.java:474)
    at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processAdapters(ExtensionPointImpl.java:422)
    at com.intellij.openapi.extensions.impl.ExtensionPointImpl.getExtensionList(ExtensionPointImpl.java:248)
    at com.intellij.openapi.extensions.ExtensionPointName.getExtensionList(ExtensionPointName.kt:43)
    at com.mallowigi.idea.focusmode.MTCaretListenerTextEditorCustomizer.collectElementFinders(MTCaretListenerTextEditorCustomizer.kt:53)
    at com.mallowigi.idea.focusmode.MTCaretListenerTextEditorCustomizer.customize(MTCaretListenerTextEditorCustomizer.kt:38)
    at com.intellij.openapi.fileEditor.impl.text.TextEditorImpl.<init>(TextEditorImpl.kt:58)
    at com.intellij.openapi.fileEditor.impl.text.TextEditorImpl.<init>(TextEditorImpl.kt:45)
    at com.intellij.openapi.fileEditor.impl.text.PsiAwareTextEditorImpl.<init>(PsiAwareTextEditorImpl.kt:52)
    at com.jetbrains.rdclient.fileEditors.FrontendTextFileEditor.<init>(FrontendTextFileEditor.kt:23)
    at com.jetbrains.rdclient.fileEditors.TextEditorModelHandler.createEditorWithProvider(TextEditorModelHandler.kt:24)
    at com.jetbrains.rdclient.fileEditors.FrontendFileEditorHost.createEditorWithProvider(FrontendFileEditorHost.kt:174)
    at com.jetbrains.rdclient.fileEditors.FrontendFileEditorHost.openComposite(FrontendFileEditorHost.kt:119)
    at com.jetbrains.rdclient.fileEditors.FrontendFileEditorHost.access$openComposite(FrontendFileEditorHost.kt:40)
    at com.jetbrains.rdclient.fileEditors.FrontendFileEditorHost$MyProtocolListener$extensionCreated$2$3$2.invoke(FrontendFileEditorHost.kt:75)
    at com.jetbrains.rdclient.fileEditors.FrontendFileEditorHost$MyProtocolListener$extensionCreated$2$3$2.invoke(FrontendFileEditorHost.kt:74)
    at com.jetbrains.rd.util.reactive.Signal.fire(Signal.kt:32)
    at com.jetbrains.rd.util.reactive.OptProperty.set(Property.kt:41)
    at com.jetbrains.rd.framework.impl.RdPropertyBase$onWireReceived$1.invoke(RdProperty.kt:123)
    at com.jetbrains.rd.framework.impl.RdPropertyBase$onWireReceived$1.invoke(RdProperty.kt:110)
    at com.jetbrains.rd.platform.codeWithMe.protocol.wire.SecureWireWritable$onWireReceived$1$1$dispatch$1.invoke(SecureWireWritable.kt:53)
    at com.jetbrains.rd.platform.codeWithMe.protocol.wire.SecureWireWritable$onWireReceived$1$1$dispatch$1.invoke(SecureWireWritable.kt:51)
    at com.jetbrains.rd.framework.MessageBroker$RdWireableDispatchHelper$doDispatch$2.invoke(MessageBroker.kt:122)
    at com.jetbrains.rd.framework.MessageBroker$RdWireableDispatchHelper$doDispatch$2.invoke(MessageBroker.kt:115)
    at com.jetbrains.rdclient.protocol.RdDispatcher.flushAll(RdDispatcher.kt:103)
    at com.jetbrains.rdclient.protocol.RdDispatcher.flushAllRunnable$lambda$0(RdDispatcher.kt:29)
    at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:208)
    at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21)
    at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:190)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:861)
    at com.intellij.openapi.application.impl.ApplicationImpl$4.run(ApplicationImpl.java:478)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:79)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:121)
    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:792)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
    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:761)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:685)
    at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$10(IdeEventQueue.kt:589)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWithoutImplicitRead(ApplicationImpl.java:1485)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:589)
    at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:67)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:369)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:368)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:368)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:363)
    at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:992)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
    at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:992)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:363)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:861)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:405)
    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 create class com.mallowigi.idea.focusmode.extensions.XmlFocusedElementFinder (classloader=PluginClassLoader(plugin=PluginDescriptor(name=Material Theme UI, id=com.chrisrm.idea.MaterialThemeUI, descriptorPath=plugin.xml, path=~/Library/Application Support/JetBrains/JetBrainsClient232.9559.62/plugins/Material Theme UI, version=8.11.0, package=null, isBundled=false), packagePrefix=null, state=active))
    at com.intellij.serviceContainer.ComponentManagerImpl.doInstantiateClass(ComponentManagerImpl.kt:1003)
    at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:954)
    at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.instantiateClass(XmlExtensionAdapter.kt:78)
    at com.intellij.openapi.extensions.impl.XmlExtensionAdapter$SimpleConstructorInjectionAdapter.instantiateClass(XmlExtensionAdapter.kt:89)
    at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.doCreateInstance(XmlExtensionAdapter.kt:49)
    ... 64 more
Caused by: java.lang.NoClassDefFoundError: com/intellij/lang/xml/XMLLanguage
    at com.mallowigi.idea.focusmode.extensions.XmlFocusedElementFinder.<init>(XmlFocusedElementFinder.kt:28)
    at com.intellij.serviceContainer.ComponentManagerImpl.doInstantiateClass(ComponentManagerImpl.kt:962)
    ... 68 more
Caused by: java.lang.ClassNotFoundException: com.intellij.lang.xml.XMLLanguage PluginClassLoader(plugin=PluginDescriptor(name=Material Theme UI, id=com.chrisrm.idea.MaterialThemeUI, descriptorPath=plugin.xml, path=~/Library/Application Support/JetBrains/JetBrainsClient232.9559.62/plugins/Material Theme UI, version=8.11.0, package=null, isBundled=false), packagePrefix=null, state=active)
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:156)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
    ... 70 more

Steps to reproduce (if needed)

  1. Install JetBrains Gateway.
  2. Create and connect to a remote workspace.
  3. When JetBrains Client opens, install Material Theme UI in the client.
  4. After restart, the error is logged and the display is only partially themed.

Environment

JetBrains Client 2023.2.1
Build #JBC-232.9559.62, built on August 23, 2023
Runtime version: 17.0.8+7-b1000.8 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 13.5.2
Controller in Remote Development (IU), direct control type: Lux
GC: G1 Young Generation, G1 Old Generation
Memory: 4000M
Cores: 10
Metal Rendering is ON
Registry:
    ide.rename.preview.dialog=true
    external.system.substitute.library.dependencies=true
    debugger.new.tool.window.layout=true
    ide.experimental.ui=true
    ide.balloon.shadow.size=0
    editor.minimap.enabled=true
    rdclient.backend.actionHandlers=false

Non-Bundled Plugins:
    com.intellij.plugins.eclipsekeymap (232.8660.88)
    com.mallowigi (93.1.0)
    com.chrisrm.idea.MaterialThemeUI (8.11.0)
    com.intellij.plugins.visualstudiokeymap (232.8660.88)
    com.intellij.plugins.netbeanskeymap (232.8660.88)
    manjaro.mpb (1.8)

Material Theme configuration file:

<application>
  <component name="MaterialThemeConfig">
    <option name="allowDataCollection" value="true" />
    <option name="isActiveBoldTab" value="true" />
    <option name="isHighlightColorEnabled" value="true" />
    <option name="isContrastMode" value="true" />
    <option name="isHighContrast" value="true" />
    <option name="isWizardShown" value="true" />
    <option name="pristineConfig" value="false" />
    <option name="treeFontSizeEnabled" value="true" />
    <option name="tabFontSizeEnabled" value="true" />
    <option name="highlightThickness" value="5" />
    <option name="accentColor" value="74a0f1" />
    <option name="highlightColor" value="a700ea" />
    <option name="selectedTheme" value="MOONLIGHT" />
    <option name="userId" value="226a3da8:186b832b647:-8000" />
    <option name="version" value="8.11.0" />
  </component>
</application>
rherrick commented 10 months ago

FWIW, this is 99% certainly an issue with JetBrains Client and its support (or lack thereof) for plugins, so I crossposted it on their issue tracker as well.

rherrick commented 10 months ago
  1. I'm on the wrong repo to report issues with MTUI plugin
  2. There are existing issues there for addressing this and related problems.