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:
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)
Install JetBrains Gateway.
Create and connect to a remote workspace.
When JetBrains Client opens, install Material Theme UI in the client.
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)
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.
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:
On start-up, the following error is logged:
Steps to reproduce (if needed)
Environment
Material Theme configuration file: