Giter Club home page Giter Club logo

gitlab-template-lint-plugin's Introduction

  • 👋 Hi, I’m Jakob Maležič (@Blarc).
  • 👀 I’m interested in creating any kind of applications.
  • 🌱 I’m currently learning about DevOps.
  • 📫 You can reach me via LinkedIn.
  • 🦊 You can also find me on GitLab.

gitlab-template-lint-plugin's People

Contributors

actions-user avatar blarc avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

isliudong

gitlab-template-lint-plugin's Issues

Reindex Issue

Hello.
Each time when I close and open the project the reindexation is triggered.

PhpStorm 2023.1.2
Build #PS-231.9011.38, built on May 17, 2023
Runtime version: 17.0.6+10-b829.9 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Linux 5.15.0-73-generic
GC: G1 Young Generation, G1 Old Generation
Memory: 5120M
Cores: 12
Registry:
    editor.focus.mode.color.light=5b595c
    ide.editor.tab.selection.animation=true
    debugger.watches.in.variables=false
    debugger.new.tool.window.layout=true
    editor.caret.width=1
    run.processes.with.pty=true
    vcs.new.widget=true
    ide.new.editor.tabs.vertical.borders=true
    ide.experimental.ui=true
    ide.balloon.shadow.size=0
    editor.focus.mode.color.dark=5b595c

Non-Bundled Plugins:
    de.femtopedia.diffplugin (2.1.10)
    intellij-awk (0.4.0)
    org.toml.lang (231.8109.91)
    com.nasller.CodeGlancePro (1.6.4)
    com.ultrahob.zerolength.plugin (0.95)
    org.elasticsearch4idea (2023.1.6-231)
    com.intellij.properties (231.8770.3)
    String Manipulation (9.7.1)
    ir.msdehghan.plugins.ansible (0.92)
    indent-rainbow.indent-rainbow (2.1.0)
    com.intellij.grazie.pro (0.3.224)
    com.kalessil.phpStorm.phpInspectionsEA (5.0.0.0)
    ru.adelf.idea.dotenv (2023.1)
    de.espend.idea.php.annotation (9.3.1)
    com.virtuslab.git-machete (4.0.0)
    izhangzhihao.rainbow.brackets (2023.2.8)
    pro.bashsupport (3.2.3.231)
    lv.midiana.misc.phpstorm-plugins.deep-keys (2022.08.03.001)
    fr.adrienbrault.idea.symfony2plugin (2022.1.250)
    com.chrisrm.idea.MaterialThemeUI (8.6.4)
    com.intellij.lang.jsgraphql (4.0.1)
    com.magento.idea.magento2plugin (5.1.1)
    org.sonarlint.idea (8.3.0.71062)
    com.mallowigi (90.0.0)
    zielu.gittoolbox (500.0.9+213)
    mobi.hsz.idea.gitignore (4.5.0)
    com.github.blarc.gitlab-template-lint-plugin (1.13.0)

Current Desktop: ubuntu:GNOME

Access is allowed from event dispatch thread only

I regularly get the following exception from the GitLab Template Lint plugin in the IDE Internal Errors:

Access is allowed from event dispatch thread only

com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: EventQueue.isDispatchThread()=false
Current thread: Thread[ApplicationImpl pooled thread 380,4,main] 168861003
SystemEventQueueThread: Thread[AWT-EventQueue-0,6,main] 332416601
	at com.intellij.openapi.application.impl.ApplicationImpl.throwThreadAccessException(ApplicationImpl.java:1110)
	at com.intellij.openapi.application.impl.ApplicationImpl.assertIsDispatchThread(ApplicationImpl.java:1093)
	at com.intellij.dvcs.DvcsUtil.guessCurrentRepositoryQuick(DvcsUtil.java:278)
	at com.github.blarc.gitlab.template.lint.plugin.GitlabLintRunner.run(GitlabLintRunner.kt:30)
	at com.github.blarc.gitlab.template.lint.plugin.inspections.GitlabLintInspector$buildVisitor$1$visitFile$$inlined$runBackgroundableTask$default$1.run(progress.kt:42)
	at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:442)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:114)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$5(CoreProgressManager.java:493)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:252)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:252)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:833)

`Cannot invoke (class=VcsMappingChangedListener, method=mappingChanged, topic=VcsRepositoryMappingListener)`

After observing the bug (it happens often), I think most of the time it happens if I open a folder as a project in IntelliJ which was cloned before with git clone.

java.lang.RuntimeException: Cannot invoke (class=VcsMappingChangedListener, method=mappingChanged, topic=VcsRepositoryMappingListener)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:657)
	at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:415)
	at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:394)
	at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:454)
	at jdk.proxy2/jdk.proxy2.$Proxy148.mappingChanged(Unknown Source)
	at com.intellij.dvcs.repo.VcsRepositoryManager.checkAndUpdateRepositoriesCollection(VcsRepositoryManager.java:361)
	at com.intellij.dvcs.repo.VcsRepositoryManager.initManager(VcsRepositoryManager.java:130)
	at com.intellij.dvcs.repo.VcsRepositoryManager$MyStartupActivity.runActivity(VcsRepositoryManager.java:85)
	at com.intellij.openapi.vcs.impl.VcsInitialization.lambda$runActivities$3(VcsInitialization.java:167)
	at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:249)
	at com.intellij.openapi.vcs.impl.VcsInitialization.runActivities(VcsInitialization.java:167)
	at com.intellij.openapi.vcs.impl.VcsInitialization.runInitStep(VcsInitialization.java:149)
	at com.intellij.openapi.vcs.impl.VcsInitialization.execute(VcsInitialization.java:120)
	at com.intellij.openapi.vcs.impl.VcsInitialization$1.run(VcsInitialization.java:72)
	at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:429)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:114)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$6(CoreProgressManager.java:480)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:252)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
	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.executeProcessUnderProgress(CoreProgressManager.java:603)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:252)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.NullPointerException: Cannot invoke "com.github.blarc.gitlab.template.lint.plugin.settings.remote.Remote.getGitlabUrl()" because "it" is null
	at com.github.blarc.gitlab.template.lint.plugin.listeners.VcsMappingChangedListener.mappingChanged(VcsMappingChangedListener.kt:32)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:677)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:640)
	... 34 more

Random Issue, not sure what its about.

I am getting this exception being raised

java.nio.file.InvalidPathException: Illegal char <?> at index 32: /What's New in Material Theme UI?
at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:177)
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:232)
at com.github.blarc.gitlab.template.lint.plugin.GitlabLintUtils.matchesGlobs(GitlabLintUtils.kt:43)
at com.github.blarc.gitlab.template.lint.plugin.GitlabLintUtils.matchesInclusionGlobs(GitlabLintUtils.kt:31)
at com.github.blarc.gitlab.template.lint.plugin.GitlabLintUtils.isGitlabYaml(GitlabLintUtils.kt:17)
at com.github.blarc.gitlab.template.lint.plugin.language.GitlabYamlFileTypeOverrider.getOverriddenFileType(GitlabYamlFileTypeOverrider.kt:10)
at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.lambda$getFileTypeByFile$16(FileTypeManagerImpl.java:745)
at com.intellij.openapi.extensions.impl.ExtensionProcessingHelper.computeSafeIfAny(ExtensionProcessingHelper.kt:57)
at com.intellij.openapi.extensions.ExtensionPointName.computeSafeIfAny(ExtensionPointName.kt:57)
at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.getFileTypeByFile(FileTypeManagerImpl.java:745)
at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.getFileTypeByFile(FileTypeManagerImpl.java:692)
at com.intellij.openapi.vfs.VirtualFile.getFileType(VirtualFile.java:356)
at com.intellij.openapi.fileEditor.impl.text.TextEditorProvider.isTextFile(TextEditorProvider.java:237)
at com.intellij.openapi.fileEditor.impl.text.TextEditorProvider.accept(TextEditorProvider.java:65)
at com.intellij.openapi.fileEditor.impl.FileEditorProviderManagerImpl.checkProvider(FileEditorProviderManagerImpl.kt:77)
at com.intellij.openapi.fileEditor.impl.FileEditorProviderManagerImpl.getProviderList$lambda$2$lambda$1(FileEditorProviderManagerImpl.kt:94)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:891)
at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:69)
at com.intellij.openapi.fileEditor.impl.FileEditorProviderManagerImpl.getProviderList(FileEditorProviderManagerImpl.kt:93)
at com.intellij.openapi.fileEditor.ex.FileEditorManagerEx.canOpenFile(FileEditorManagerEx.kt:99)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl4$intellij_platform_ide_impl(FileEditorManagerImpl.kt:958)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl2$lambda$22(FileEditorManagerImpl.kt:900)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:219)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:174)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:164)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:150)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl2(FileEditorManagerImpl.kt:899)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFile(FileEditorManagerImpl.kt:798)
at com.intellij.openapi.fileEditor.ex.FileEditorManagerEx.openFile(FileEditorManagerEx.kt:131)
at com.intellij.openapi.fileEditor.impl.HTMLEditorProvider$Companion.openEditor(HTMLEditorProvider.kt:50)
at com.intellij.openapi.fileEditor.impl.HTMLEditorProvider$Companion.openEditor(HTMLEditorProvider.kt:43)
at com.mallowigi.idea.notifications.MTWhatsNewAction$Companion.openWhatsNewFile(MTWhatsNewAction.kt:111)
at com.mallowigi.idea.MTUpdatesComponent.projectOpened$lambda$0(MTUpdatesComponent.kt:72)
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:667)
at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$7(IdeEventQueue.kt:571)
at com.intellij.openapi.application.impl.ApplicationImpl.withoutImplicitRead(ApplicationImpl.java:1446)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:571)
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:995)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:995)
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)

com.intellij.util.IncorrectOperationException: Sorry but parent: com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.RootModelBridgeImpl@20e28e9b (class com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.RootModelBridgeImpl) has already been disposed

com.intellij.util.IncorrectOperationException: Sorry but parent: com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.RootModelBridgeImpl@20e28e9b (class com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.RootModelBridgeImpl) has already been disposed (see the cause for stacktrace) so the child: com.intellij.openapi.projectRoots.impl.PerlModuleExtension@2d0e3394 (class com.intellij.openapi.projectRoots.impl.PerlModuleExtension) will never be disposed
at com.intellij.openapi.util.ObjectTree.register(ObjectTree.java:43)
at com.intellij.openapi.util.Disposer.register(Disposer.java:164)
at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.RootModelBridgeImpl$Companion.loadExtension(RootModelBridgeImpl.kt:155)
at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.RootModelBridgeImpl$Companion.loadExtensions$intellij_platform_projectModel_impl(RootModelBridgeImpl.kt:135)
at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.RootModelBridgeImpl$extensions$2.invoke(RootModelBridgeImpl.kt:38)
at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.RootModelBridgeImpl$extensions$2.invoke(RootModelBridgeImpl.kt:37)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.RootModelBridgeImpl.getExtensions(RootModelBridgeImpl.kt:37)
at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.RootModelBridgeImpl.getModuleExtension(RootModelBridgeImpl.kt:88)
at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.ModuleRootComponentBridge.getModuleExtension(ModuleRootComponentBridge.kt:138)
at com.intellij.openapi.roots.impl.ExcludeCompilerOutputPolicy.getExcludeRootsForModule(ExcludeCompilerOutputPolicy.java:36)
at com.intellij.workspaceModel.core.fileIndex.impl.NonIncrementalContributors.computeCustomExcludedRoots(NonIncrementalContributors.kt:125)
at com.intellij.workspaceModel.core.fileIndex.impl.NonIncrementalContributors.updateIfNeeded(NonIncrementalContributors.kt:48)
at com.intellij.workspaceModel.core.fileIndex.impl.WorkspaceFileIndexDataImpl.ensureIsUpToDate(WorkspaceFileIndexDataImpl.kt:128)
at com.intellij.workspaceModel.core.fileIndex.impl.WorkspaceFileIndexDataImpl.getFileInfo(WorkspaceFileIndexDataImpl.kt:70)
at com.intellij.workspaceModel.core.fileIndex.impl.WorkspaceFileIndexImpl.getFileInfo(WorkspaceFileIndexImpl.kt:220)
at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.isUnderIgnored(ProjectFileIndexImpl.java:99)
at com.intellij.openapi.roots.impl.ProjectFileIndexFacade.isUnderIgnored(ProjectFileIndexFacade.java:66)
at com.intellij.psi.impl.file.impl.FileManagerImpl.isExcludedOrIgnored(FileManagerImpl.java:425)
at com.intellij.psi.impl.file.impl.FileManagerImpl.findDirectoryImpl(FileManagerImpl.java:411)
at com.intellij.psi.impl.file.impl.FileManagerImpl.findDirectory(FileManagerImpl.java:403)
at com.intellij.psi.impl.PsiManagerImpl.findDirectory(PsiManagerImpl.java:169)
at com.intellij.psi.AbstractFileViewProvider.shouldCreatePsi(AbstractFileViewProvider.java:86)
at com.intellij.psi.SingleRootFileViewProvider.createFile(SingleRootFileViewProvider.java:149)
at com.intellij.psi.SingleRootFileViewProvider.getPsiInner(SingleRootFileViewProvider.java:105)
at com.intellij.psi.AbstractFileViewProvider.getPsi(AbstractFileViewProvider.java:190)
at com.intellij.psi.impl.file.impl.FileManagerImpl.findFile(FileManagerImpl.java:363)
at com.intellij.psi.impl.PsiManagerImpl.findFile(PsiManagerImpl.java:156)
at com.github.blarc.gitlab.template.lint.plugin.providers.GitlabLintEditorProvider.accept(GitlabLintEditorProvider.kt:20)
at com.intellij.openapi.fileEditor.impl.FileEditorProviderManagerImpl.checkProvider(FileEditorProviderManagerImpl.kt:77)
at com.intellij.openapi.fileEditor.impl.FileEditorProviderManagerImpl.access$checkProvider(FileEditorProviderManagerImpl.kt:24)
at com.intellij.openapi.fileEditor.impl.FileEditorProviderManagerImpl$getProvidersAsync$2$1.invoke(FileEditorProviderManagerImpl.kt:102)
at com.intellij.openapi.fileEditor.impl.FileEditorProviderManagerImpl$getProvidersAsync$2$1.invoke(FileEditorProviderManagerImpl.kt:101)
at com.intellij.openapi.application.rw.InternalReadAction.insideReadAction(InternalReadAction.kt:108)
at com.intellij.openapi.application.rw.InternalReadAction.access$insideReadAction(InternalReadAction.kt:15)
at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$1.invoke(InternalReadAction.kt:92)
at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$1.invoke(InternalReadAction.kt:91)
at com.intellij.openapi.progress.CancellationKt.withCurrentJob$lambda$0(cancellation.kt:17)
at com.intellij.openapi.progress.Cancellation.withCurrentJob(Cancellation.java:60)
at com.intellij.openapi.progress.CancellationKt.withCurrentJob(cancellation.kt:17)
at com.intellij.openapi.progress.CancellationKt.executeWithJobAndCompleteIt(cancellation.kt:126)
at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal$lambda$1$lambda$0(cancellableReadAction.kt:49)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1100)
at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal$lambda$1(cancellableReadAction.kt:47)
at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:63)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:129)
at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal(cancellableReadAction.kt:45)
at com.intellij.openapi.application.rw.InternalReadAction.tryReadCancellable(InternalReadAction.kt:91)
at com.intellij.openapi.application.rw.InternalReadAction.access$tryReadCancellable(InternalReadAction.kt:15)
at com.intellij.openapi.application.rw.InternalReadAction$tryReadAction$2.invoke(InternalReadAction.kt:77)
at com.intellij.openapi.application.rw.InternalReadAction$tryReadAction$2.invoke(InternalReadAction.kt:72)
at com.intellij.openapi.progress.CancellationKt.withCurrentJob$lambda$0(cancellation.kt:17)
at com.intellij.openapi.progress.Cancellation.withCurrentJob(Cancellation.java:60)
at com.intellij.openapi.progress.CancellationKt.withCurrentJob(cancellation.kt:17)
at com.intellij.openapi.progress.CoroutinesKt.blockingContext(coroutines.kt:193)
at com.intellij.openapi.application.rw.InternalReadAction.tryReadAction(InternalReadAction.kt:72)
at com.intellij.openapi.application.rw.InternalReadAction.readLoop(InternalReadAction.kt:64)
at com.intellij.openapi.application.rw.InternalReadAction.access$readLoop(InternalReadAction.kt:15)
at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$4.invokeSuspend(InternalReadAction.kt:43)
at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$4.invoke(InternalReadAction.kt)
at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$4.invoke(InternalReadAction.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.application.rw.InternalReadAction.runReadAction(InternalReadAction.kt:39)
at com.intellij.openapi.application.rw.PlatformReadActionSupport.executeReadAction(PlatformReadActionSupport.kt:29)
at com.intellij.openapi.application.ReadActionSupport.executeReadAction$default(ReadActionSupport.kt:15)
at com.intellij.openapi.application.CoroutinesKt.constrainedReadAction(coroutines.kt:55)
at com.intellij.openapi.application.CoroutinesKt.readAction(coroutines.kt:22)
at com.intellij.openapi.fileEditor.impl.FileEditorProviderManagerImpl.getProvidersAsync(FileEditorProviderManagerImpl.kt:101)
at com.intellij.openapi.fileEditor.impl.UiBuilder$processFiles$2$newProviders$1.invokeSuspend(EditorsSplitters.kt:965)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

Multiple templates and local includes

Since the plugin calls the Gitlab lint API, all files have to be pushed to Gitlab in order to correctly lint them. Research if there is another way of handling includes and local, not yet commited files.

Make configuration easier

Try to make configuration more straightforward. Any ideas and suggestions are welcome.

From the review:
"Configuring this is a nightmare. Things named differently than in GitLab, wrong error prompts, no examples on what the author means by "GitLab URL". Didn't manage to even start this plugin."

Pipeline filtered out by workflow rules

To prevent duplicate pipelines (in case of Branch-Pipelines vs. MergeRequestPipelines) workflow:rules are used (https://docs.gitlab.com/ee/ci/yaml/workflow.html#switch-between-branch-pipelines-and-merge-request-pipelines):

workflow:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
    - if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS'
      when: never
    - if: '$CI_COMMIT_BRANCH'

Then the gitlab lint api seems to return "Pipeline filtered out by workflow rules" whenever an open merge request exists.

If a rule - if: '$CI_PIPELINE_SOURCE == "push"' is added before the one rule with when: never, this error does not occur.
But that is exactly what should be prevented, because then duplicate pipelines will run, one for push and one for merge_request_event.

It is unclear, why the plugin's API calls are associated with CI_PIPELINE_SOURCE push ...

Gitlab Access Token by project?

Currently, we support setting Gitlab's Personal Access Token for each Gitlab URL. This improves user experience, because user only needs to set the token once for each Gitlab URL (or Gitlab instance).

Should we support adding Gitlab Access Token by project?

  • This would allow better security by creating project access tokens instead of personal access tokens which can be used to access all projects.
  • It would be more cumbersome for user, because he would need to set the project access token for each new project repository.

One solution would also be to set a token for any url and then find longest matching url for each repository. This would allow user to set a Group Access Token and also Project Access Token only for specific repositories.

Add a table with projects in plugin settings

Add a configurable table of project urls and their ids in settings. This way, we can cache the project ids and the user can check if project id and url are correctly set up.

Gitlab url and token can not be saved

After adding a new Gitlab API url and token to the table, clicking buttons Apply and/or Ok does nothing.

The table also doesn't show dots for the new token.

Gitlab url and token for all projects

Hello! Thank you for the plugin!
I have a gitlab at gitlab.myurl.com and I would like to make a common configuration for all projects. But the configuration is only used for the current project. How to make a global configuration?
Screenshot 2023-04-27 at 11 02 48 AM

java.lang.Throwable: Read access is allowed from inside read-action (or EDT) only (see com.intellij.openapi.application.Application.runReadAction())

java.lang.Throwable: Read access is allowed from inside read-action (or EDT) only (see com.intellij.openapi.application.Application.runReadAction())
Current thread: Thread[ApplicationImpl pooled thread 89,4,main] 1936836381 (EventQueue.isDispatchThread()=false)
SystemEventQueueThread: Thread[AWT-EventQueue-0,6,main] 1333007738
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:202)
at com.intellij.openapi.application.impl.ApplicationImpl.assertReadAccessAllowed(ApplicationImpl.java:1002)
at com.intellij.psi.impl.file.impl.FileManagerImpl.evaluateValidity(FileManagerImpl.java:596)
at com.intellij.psi.impl.file.impl.FileManagerImpl.evaluateValidity(FileManagerImpl.java:592)
at com.intellij.psi.impl.source.PsiFileImpl.isValid(PsiFileImpl.java:163)
at com.intellij.psi.impl.source.PsiFileImpl.getText(PsiFileImpl.java:305)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.middleware.LintContext.lintContent(LintContext.kt:90)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.middleware.LintContext.invoke(LintContext.kt:32)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline.next(Pipeline.kt:47)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline.access$next(Pipeline.kt:13)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline$next$1.invoke(Pipeline.kt:48)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline$next$1.invoke(Pipeline.kt:47)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.middleware.ResolveRemoteId.invoke(ResolveRemoteId.kt:24)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline.next(Pipeline.kt:47)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline.access$next(Pipeline.kt:13)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline$next$1.invoke(Pipeline.kt:48)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline$next$1.invoke(Pipeline.kt:47)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.middleware.RecordHit.invoke(RecordHit.kt:15)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline.next(Pipeline.kt:47)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline.access$next(Pipeline.kt:13)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline$next$1.invoke(Pipeline.kt:48)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline$next$1.invoke(Pipeline.kt:47)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.middleware.ShowSupportNotification.invoke(ShowSupportNotification.kt:17)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline.next(Pipeline.kt:47)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline.access$next(Pipeline.kt:13)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline$next$1.invoke(Pipeline.kt:48)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline$next$1.invoke(Pipeline.kt:47)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.middleware.ResolveGitlabToken.invoke(ResolveGitlabToken.kt:22)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline.next(Pipeline.kt:47)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline.access$next(Pipeline.kt:13)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline$next$1.invoke(Pipeline.kt:48)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline$next$1.invoke(Pipeline.kt:47)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.middleware.ResolveContext.invoke(ResolveContext.kt:53)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline.next(Pipeline.kt:47)
at com.github.blarc.gitlab.template.lint.plugin.pipeline.Pipeline.accept(Pipeline.kt:38)
at com.github.blarc.gitlab.template.lint.plugin.GitlabLintRunnerKt$lint$$inlined$runBackgroundableTask$default$1.run(progress.kt:42)
at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:429)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:114)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$6(CoreProgressManager.java:480)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:252)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
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.executeProcessUnderProgress(CoreProgressManager.java:603)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:252)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
at java.base/java.lang.Thread.run(Thread.java:833)

!reference highlight

highlight shows an warning in schema validation

.build:
  stage: build and upload
  image: foo/bar
  script:
    - echo Hello

01. Unit-tests:
  stage: unit-tests
  image: !reference [.build, image]
  script: 
    - ./gradlew test

изображение
изображение

Add optional fallback branch

When linting gitlab yaml files, we send a ref the files are linted against. If the branch does not exist on the remote, the linting fails with error Reference does not exist..

Add setting to set a branch that is used when the current branch does not exist on the remote - a fallback branch.

Error ignoring

  • Add ignored errors list
  • Add a button to error notification, that adds the error to the ignored errors list
  • Enable editing the ignored error list in settings

WorkspaceFileIndex is not initialized yet

I use:
PhpStorm 2023.1.1 Build #PS-231.8770.68
Runtime version: 17.0.6+10-b829.9 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
on macOS 13.1
and the IDE shows an internal error with the following stacktrace:

java.lang.Throwable: WorkspaceFileIndex is not initialized yet, empty data is returned. Activities which use the project configuration must be postponed until the project is fully loaded.

at com.intellij.openapi.diagnostic.Logger.error(Logger.java:202)
at com.intellij.workspaceModel.core.fileIndex.impl.WorkspaceFileIndexImpl.getMainIndexData(WorkspaceFileIndexImpl.kt:261)
at com.intellij.workspaceModel.core.fileIndex.impl.WorkspaceFileIndexImpl.getOrCreateIndexData(WorkspaceFileIndexImpl.kt:253)
at com.intellij.workspaceModel.core.fileIndex.impl.WorkspaceFileIndexImpl.getFileInfo(WorkspaceFileIndexImpl.kt:220)
at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.isUnderIgnored(ProjectFileIndexImpl.java:99)
at com.intellij.openapi.roots.impl.ProjectFileIndexFacade.isUnderIgnored(ProjectFileIndexFacade.java:66)
at com.intellij.psi.impl.file.impl.FileManagerImpl.isExcludedOrIgnored(FileManagerImpl.java:425)
at com.intellij.psi.impl.file.impl.FileManagerImpl.findDirectoryImpl(FileManagerImpl.java:411)
at com.intellij.psi.impl.file.impl.FileManagerImpl.findDirectory(FileManagerImpl.java:403)
at com.intellij.psi.impl.PsiManagerImpl.findDirectory(PsiManagerImpl.java:169)
at com.intellij.psi.AbstractFileViewProvider.shouldCreatePsi(AbstractFileViewProvider.java:86)
at com.intellij.psi.MultiplePsiFilesPerDocumentFileViewProvider.getPsiInner(MultiplePsiFilesPerDocumentFileViewProvider.java:82)
at com.intellij.psi.AbstractFileViewProvider.getPsi(AbstractFileViewProvider.java:190)
at com.intellij.psi.impl.file.impl.FileManagerImpl.findFile(FileManagerImpl.java:363)
at com.intellij.psi.impl.PsiDocumentManagerBase.getPsiFile(PsiDocumentManagerBase.java:148)
at com.intellij.psi.impl.PsiDocumentManagerBase.getPsiFile(PsiDocumentManagerBase.java:97)
at com.intellij.psi.impl.PsiDocumentManagerImpl.getPsiFile(PsiDocumentManagerImpl.java:64)
at com.github.blarc.gitlab.template.lint.plugin.listeners.SaveActionListener.beforeDocumentSaving(SaveActionListener.kt:14)
at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:680)
at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:640)
at com.intellij.util.messages.impl.MessageBusImplKt.executeOrAddToQueue(MessageBusImpl.kt:482)
at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher.publish$intellij_platform_core(CompositeMessageBus.kt:294)
at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:442)
at jdk.proxy1/jdk.proxy1.$Proxy28.beforeDocumentSaving(Unknown Source)
at jdk.internal.reflect.GeneratedMethodAccessor931.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.multiCast(FileDocumentManagerImpl.java:172)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.lambda$new$0(FileDocumentManagerImpl.java:127)
at jdk.proxy1/jdk.proxy1.$Proxy28.beforeDocumentSaving(Unknown Source)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.lambda$doSaveDocumentInWriteAction$4(FileDocumentManagerImpl.java:413)
at com.intellij.pom.core.impl.PomModelImpl.guardPsiModificationsIn(PomModelImpl.java:326)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.doSaveDocumentInWriteAction(FileDocumentManagerImpl.java:412)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.lambda$doSaveDocument$2(FileDocumentManagerImpl.java:373)
at com.intellij.openapi.application.WriteAction.lambda$run$1(WriteAction.java:87)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithClass(ApplicationImpl.java:946)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:972)
at com.intellij.openapi.application.WriteAction.run(WriteAction.java:86)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.doSaveDocument(FileDocumentManagerImpl.java:373)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveDocuments(FileDocumentManagerImpl.java:291)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveAllDocuments(FileDocumentManagerImpl.java:266)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveAllDocuments(FileDocumentManagerImpl.java:259)
at com.intellij.openapi.externalSystem.autoimport.ProjectSettingsTracker$submitSettingsFilesRefresh$2.invoke(ProjectSettingsTracker.kt:165)
at com.intellij.openapi.externalSystem.autoimport.ProjectSettingsTracker$submitSettingsFilesRefresh$2.invoke(ProjectSettingsTracker.kt:163)
at com.intellij.openapi.externalSystem.autoimport.settings.EdtAsyncSupplier.supply$lambda$0(EdtAsyncSupplier.kt:16)
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)

The notifications section is not openable

Hello.
When the plugin is enabled this section is not loaded: File | Settings | Appearance & Behavior | Notifications
image
Could be related to:


java.lang.NullPointerException: Cannot invoke "String.compareTo(String)" because the return value of "Object.toString()" is null
	at com.intellij.notification.impl.ui.NotificationsConfigurablePanel$NotificationsTreeTableModel.lambda$new$0(NotificationsConfigurablePanel.java:330)
	at java.base/java.util.TimSort.binarySort(TimSort.java:296)
	at java.base/java.util.TimSort.sort(TimSort.java:239)
	at java.base/java.util.Arrays.sort(Arrays.java:1307)
	at java.base/java.util.ArrayList.sort(ArrayList.java:1721)
	at com.intellij.notification.impl.ui.NotificationsConfigurablePanel$NotificationsTreeTableModel.<init>(NotificationsConfigurablePanel.java:325)
	at com.intellij.notification.impl.ui.NotificationsConfigurableUi.createNotificationsList(NotificationsConfigurableUi.kt:78)
	at com.intellij.notification.impl.ui.NotificationsConfigurableUi.<init>(NotificationsConfigurableUi.kt:26)
	at com.intellij.notification.impl.NotificationsConfigurable.createUi(NotificationsConfigurable.java:49)
	at com.intellij.notification.impl.NotificationsConfigurable.createUi(NotificationsConfigurable.java:29)
	at com.intellij.openapi.options.ConfigurableBase.createComponent(ConfigurableBase.java:57)
	at com.intellij.openapi.options.ex.ConfigurableWrapper.createComponent(ConfigurableWrapper.java:169)
	at com.intellij.openapi.options.ex.ConfigurableCardPanel.lambda$createConfigurableComponent$4(ConfigurableCardPanel.java:116)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:941)
	at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:68)
	at com.intellij.openapi.options.ex.ConfigurableCardPanel.createConfigurableComponent(ConfigurableCardPanel.java:112)
	at com.intellij.openapi.options.ex.ConfigurableCardPanel.create(ConfigurableCardPanel.java:60)
	at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:57)
	at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:54)
	at com.intellij.ui.CardLayoutPanel.createValue(CardLayoutPanel.java:75)
	at com.intellij.ui.CardLayoutPanel.select(CardLayoutPanel.java:103)
	at com.intellij.ui.CardLayoutPanel.lambda$selectLater$0(CardLayoutPanel.java:135)
	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:881)
	at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:513)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:75)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:118)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:42)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:779)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724)
	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:749)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:918)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:766)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:450)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:791)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:449)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
	at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:624)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:447)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:493)
	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.pumpEventsForFilter(EventDispatchThread.java:121)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
	at java.desktop/java.awt.Dialog.show(Dialog.java:1080)
	at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:712)
	at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:453)
	at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1672)
	at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1630)
	at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:141)
	at com.github.blarc.gitlab.template.lint.plugin.GitlabLintBundle.openPluginSettings(GitlabLintBundle.kt:30)
	at com.github.blarc.gitlab.template.lint.plugin.notifications.NotificationAction$Companion$settings$1.invoke(Notification.kt:85)
	at com.github.blarc.gitlab.template.lint.plugin.notifications.NotificationAction$Companion$settings$1.invoke(Notification.kt:83)
	at com.github.blarc.gitlab.template.lint.plugin.notifications.NotifierKt.sendNotification$lambda-1$lambda-0(Notifier.kt:32)
	at com.intellij.openapi.project.DumbAwareAction$SimpleDumbAwareAction.actionPerformed(DumbAwareAction.java:82)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.java:315)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performActionDumbAwareWithCallbacks$4(ActionUtil.java:294)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:337)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks(ActionUtil.java:294)
	at com.intellij.openapi.fileEditor.impl.IdeUiServiceImpl.performActionDumbAwareWithCallbacks(IdeUiServiceImpl.java:109)
	at com.intellij.notification.Notification.fire(Notification.java:288)
	at com.intellij.notification.impl.NotificationsManagerImpl.lambda$createAction$11(NotificationsManagerImpl.java:841)
	at com.intellij.ui.components.labels.LinkLabel.doClick(LinkLabel.java:174)
	at com.intellij.ui.components.labels.LinkLabel.doClick(LinkLabel.java:388)
	at com.intellij.ui.components.labels.LinkLabel$MyMouseHandler.mouseReleased(LinkLabel.java:361)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6648)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3392)
	at java.desktop/java.awt.Component.processEvent(Component.java:6413)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5022)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2802)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:781)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:754)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:752)
	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:751)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:918)
	at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:840)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:763)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:450)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:791)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:449)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
	at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:624)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:447)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:493)
	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)

The system info:

PhpStorm 2022.2.3
Build #PS-222.4345.15, built on October 5, 2022
Subscription is active until June 8, 2023.
Runtime version: 17.0.4.1+7-b469.62 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Linux 5.15.0-52-generic
GC: G1 Young Generation, G1 Old Generation
Memory: 5120M
Cores: 12
Registry:
    editor.focus.mode.color.light=5b595c
    ide.editor.tab.selection.animation=true
    debugger.watches.in.variables=false
    debugger.new.tool.window.layout=true
    editor.caret.width=1
    run.processes.with.pty=true
    vcs.new.widget=true
    ide.new.editor.tabs.vertical.borders=true
    ide.experimental.ui=true
    ide.balloon.shadow.size=0
    editor.focus.mode.color.dark=5b595c

Non-Bundled Plugins:
    ski.chrzanow.foldableprojectview (1.1.3)
    pronskiy.elephpant (0.1.1)
    org.elasticsearch4idea (2022.3.0-222)
    name.kropp.intellij.makefile (222.4345.14)
    intellij-awk (0.3.5)
    indent-rainbow.indent-rainbow (2.0.2)
    de.femtopedia.diffplugin (2.1.8)
    com.ultrahob.zerolength.plugin (0.95)
    com.intellij.properties (222.4345.14)
    com.hjf.redis.manager.redis-manager (1.4.1)
    com.alayouni.ansiHighlight (22.2.3)
    String Manipulation (9.6.1)
    GrepConsole (12.15.211.6693.1)
    zielu.gittoolbox (212.9.9)
    uk.co.ben-gibson.remote.repository.mapper (4.2.4)
    mobi.hsz.idea.gitignore (4.4.2)
    com.mallowigi (73.0.0)
    de.espend.idea.php.phpunit (6.2)
    de.espend.idea.php.annotation (8.2.3)
    com.kalessil.phpStorm.phpInspectionsEA (4.0.7.1)
    com.magento.idea.magento2plugin (4.4.0)
    lv.midiana.misc.phpstorm-plugins.deep-keys (2022.08.03.001)
    izhangzhihao.rainbow.brackets (2022.3.3.1-ij)
    com.chrisrm.idea.MaterialThemeUI (7.14.2)
    ir.msdehghan.plugins.ansible (0.92)
    fr.adrienbrault.idea.symfony2plugin (2022.1.235)
    com.github.blarc.gitlab-template-lint-plugin (1.1.1)
    org.jetbrains.plugins.node-remote-interpreter (222.4345.14)
    ru.adelf.idea.dotenv (2022.2)
    pro.bashsupport (3.0.1.222)

Current Desktop: ubuntu:GNOME

Please take a look.

Add action for yaml files

Add an action on right click in yaml files for manually running linting of that yaml file and showing merged preview.

This can sometimes be useful, if the yaml is not included in the Path Globs but you would like to lint or see merged preview for it anyway.

Remote starting with git@

When the repository uses a remote starting with git@, the plugin breaks as it expects a http or https.

Remotes project ID resets to empty each time when the PHPStorm is closed

Hello.
Each time when the PHPStorm is closed the File | Settings | Tools | Gitlab Template Lint | Remotes | Gitlab project ID is reset to empty.

PhpStorm 2024.1.1
Build #PS-241.15989.102, built on April 23, 2024
Runtime version: 17.0.10+1-b1207.14 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Linux 6.5.0-28-generic
GC: G1 Young Generation, G1 Old Generation
Memory: 5120M
Cores: 12
Registry:
  ide.main.menu.expand.horizontal=false
  ide.balloon.shadow.size=0
  debugger.watches.in.variables=false
  run.processes.with.pty=TRUE
  ide.new.editor.tabs.vertical.borders=true
  ide.experimental.ui=true
  ide.editor.tab.selection.animation=true
  terminal.new.ui=true
Non-Bundled Plugins:
  net.sjrx.intellij.plugins.systemdunitfiles (223.240127.136)
  de.femtopedia.diffplugin (2.1.13)
  com.nasller.CodeGlancePro (1.8.5)
  org.toml.lang (241.14494.150)
  com.jetbrains.space (241.15989.9)
  com.ultrahob.zerolength.plugin (0.95)
  org.elasticsearch4idea (2024.1.2-241)
  org.turbanov.run.configuration.as.action (3.0)
  com.intellij.properties (241.14494.150)
  String Manipulation (9.13.0)
  ir.msdehghan.plugins.ansible (0.92)
  de.achimonline.ansible_lint (1.6.2)
  indent-rainbow.indent-rainbow (2.2.0)
  com.intellij.grazie.pro (0.3.304)
  com.virtuslab.git-machete (4.2.1)
  com.intellij.bigdatatools.core (241.15989.150)
  com.intellij.bigdatatools.binary.files (241.14494.158)
  com.intellij.bigdatatools.rfs (241.15989.150)
  com.intellij.lang.jsgraphql (241.14494.150)
  com.magento.idea.magento2plugin (5.1.1)
  izhangzhihao.rainbow.brackets (2024.2.3-241)
  pro.bashsupport (4.0.3.241)
  com.chrisrm.idea.MaterialThemeUI (9.2.1)
  lv.midiana.misc.phpstorm-plugins.deep-keys (2022.08.03.001)
  ru.adelf.idea.dotenv (2024.1)
  de.espend.idea.php.annotation (10.0.0)
  fr.adrienbrault.idea.symfony2plugin (2024.1.272)
  com.kalessil.phpStorm.phpInspectionsUltimate-mp (2024.1.1)
  org.sonarlint.idea (10.5.0.78339)
  mobi.hsz.idea.gitignore (4.5.3)
  com.github.blarc.gitlab-template-lint-plugin (1.13.2)
Current Desktop: ubuntu:GNOME

Unauthorized exception in 0.0.12

After updating the plugin to 0.0.12 linting fails with the following error:

java.util.concurrent.ExecutionException: java.lang.RuntimeException: {"message":"401 Unauthorized"}

"Unable to serialize com.github.blarc.gitlab.template.lint.plugin.settings.AppSettingsState state"

I'm seeing the following issue when the plugin is enabled...

Unable to serialize com.github.blarc.gitlab.template.lint.plugin.settings.AppSettingsState state

com.intellij.util.xmlb.XmlSerializationException: Can't serialize instance of class com.github.blarc.gitlab.template.lint.plugin.settings.AppSettings
	at com.intellij.configurationStore.JdomSerializerImpl.serialize(xmlSerializer.kt:59)
	at com.intellij.configurationStore.XmlSerializer.serialize(xmlSerializer.kt:23)
	at com.intellij.configurationStore.XmlSerializer.serialize$default(xmlSerializer.kt:22)
	at com.intellij.configurationStore.SaveSessionBaseKt.serializeState(SaveSessionBase.kt:46)
	at com.intellij.configurationStore.SaveSessionBase.setState(SaveSessionBase.kt:20)
	at com.intellij.configurationStore.ComponentStoreImpl.setStateToSaveSessionProducer(ComponentStoreImpl.kt:342)
	at com.intellij.configurationStore.ComponentStoreImpl.commitComponent(ComponentStoreImpl.kt:335)
	at com.intellij.configurationStore.ComponentStoreImpl.commitComponents$intellij_platform_configurationStore_impl(ComponentStoreImpl.kt:233)
	at com.intellij.configurationStore.ComponentStoreWithExtraComponents.commitComponents$intellij_platform_configurationStore_impl(ComponentStoreWithExtraComponents.kt:95)
	at com.intellij.configurationStore.ComponentStoreImpl$commitComponentsOnEdt$$inlined$withEdtContext$intellij_platform_configurationStore_impl$1.invokeSuspend(ComponentStoreImpl.kt:721)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at com.intellij.openapi.application.constraints.BaseConstrainedExecution$Companion$scheduleWithinConstraints$1.invoke(BaseConstrainedExecution.kt:68)
	at com.intellij.openapi.application.constraints.BaseConstrainedExecution$Companion.scheduleWithinConstraints(BaseConstrainedExecution.kt:71)
	at com.intellij.openapi.application.constraints.BaseConstrainedExecution.scheduleWithinConstraints(BaseConstrainedExecution.kt:38)
	at com.intellij.openapi.application.impl.BaseExpirableExecutorMixinImpl.access$scheduleWithinConstraints$s1153900543(BaseExpirableExecutorMixinImpl.kt:12)
	at com.intellij.openapi.application.impl.BaseExpirableExecutorMixinImpl$scheduleWithinConstraints$$inlined$Runnable$1.run(Runnable.kt:19)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:214)
	at com.intellij.openapi.application.TransactionGuardImpl.access$200(TransactionGuardImpl.java:21)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:196)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:794)
	at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:350)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:133)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
	at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:189)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:887)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:756)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:443)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:825)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:442)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:794)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:488)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at com.intellij.util.ExceptionUtil.rethrow(ExceptionUtil.java:132)
	at com.intellij.util.ReflectionUtil.createAsDataClass(ReflectionUtil.java:511)
	at com.intellij.util.ReflectionUtil.newInstance(ReflectionUtil.java:441)
	at com.intellij.util.ReflectionUtil.newInstance(ReflectionUtil.java:416)
	at com.intellij.util.xmlb.SkipDefaultValuesSerializationFilters.getDefaultValue(SkipDefaultValuesSerializationFilters.java:53)
	at com.intellij.util.xmlb.SkipDefaultValuesSerializationFilters.getDefaultBean(SkipDefaultValuesSerializationFilters.java:46)
	at com.intellij.util.xmlb.SkipDefaultsSerializationFilter.equal(SkipDefaultsSerializationFilter.java:32)
	at com.intellij.util.xmlb.BeanBinding.serializePropertyInto(BeanBinding.java:108)
	at com.intellij.util.xmlb.BeanBinding.serializeInto(BeanBinding.java:93)
	at com.intellij.serialization.xml.KotlinAwareBeanBinding.serializeInto(KotlinAwareBeanBinding.kt:39)
	at com.intellij.util.xmlb.BeanBinding.serialize(BeanBinding.java:80)
	at com.intellij.util.xmlb.MapBinding.serializeKeyOrValue(MapBinding.java:295)
	at com.intellij.util.xmlb.MapBinding.serialize(MapBinding.java:120)
	at com.intellij.util.xmlb.OptionTagBinding.serialize(OptionTagBinding.java:65)
	at com.intellij.util.xmlb.BasePrimitiveBinding.serialize(BasePrimitiveBinding.java:44)
	at com.intellij.util.xmlb.BeanBinding.serializePropertyInto(BeanBinding.java:128)
	at com.intellij.util.xmlb.BeanBinding.serializeInto(BeanBinding.java:93)
	at com.intellij.serialization.xml.KotlinAwareBeanBinding.serializeInto(KotlinAwareBeanBinding.kt:39)
	at com.intellij.util.xmlb.BeanBinding.serialize(BeanBinding.java:84)
	at com.intellij.configurationStore.JdomSerializerImpl.serialize(xmlSerializer.kt:49)
	... 45 more
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at com.intellij.util.ReflectionUtil.createAsDataClass(ReflectionUtil.java:487)
	... 63 more
Caused by: java.lang.NullPointerException: Parameter specified as non-null is null: method com.github.blarc.gitlab.template.lint.plugin.ui.settings.remote.Remote.<init>, parameter remoteUrl
	at com.github.blarc.gitlab.template.lint.plugin.ui.settings.remote.Remote.<init>(Remote.kt)
	... 68 more

StatusBarWidgetSettings is marked unstable with @ApiStatus.Internal

StatusBatWidgetSettings in FileListener is annotated with @ApiStatus.Internal, which indicates that the annotated element (class, method, field, etc) must not be considered as a public API. It's made visible to allow

  • usages in other packages of the declaring library, but it must not be used outside of that library. Such elements
  • may be renamed, changed or removed in future versions.

Try to find an alternative way to implement this.

Access is allowed from Event Dispatch Thread (EDT) only

Hi. I upgraded earlier to a newer version of this plugin and after restarting PHPStorm for other reasons later, this error appeared on start. PHPStorm requests me to tell you about it.
image

Access is allowed from Event Dispatch Thread (EDT) only

com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: Current thread: Thread[DefaultDispatcher-worker-34,5,main] 1825615505 (EventQueue.isDispatchThread()=false)
SystemEventQueueThread: Thread[AWT-EventQueue-0,6,main] 2133591798
	at com.intellij.openapi.application.impl.ApplicationImpl.throwThreadAccessException(ApplicationImpl.java:1050)
	at com.intellij.openapi.application.impl.ApplicationImpl.assertIsDispatchThread(ApplicationImpl.java:1037)
	at com.intellij.ide.projectView.impl.AbstractProjectViewPane.getSelectedUserObjects(AbstractProjectViewPane.java:346)
	at com.intellij.ide.projectView.impl.AbstractProjectViewPane.getData(AbstractProjectViewPane.java:400)
	at com.intellij.ide.projectView.impl.ProjectViewImpl$MyPanel.getData(ProjectViewImpl.java:1304)
	at com.intellij.ide.impl.DataManagerImpl.getDataFromProviderInner(DataManagerImpl.java:241)
	at com.intellij.ide.impl.DataManagerImpl.getDataFromProviderAndRulesInner(DataManagerImpl.java:81)
	at com.intellij.ide.impl.DataManagerImpl.getDataFromProviderAndRules(DataManagerImpl.java:60)
	at com.intellij.openapi.actionSystem.impl.EdtDataContext.calcData(EdtDataContext.java:162)
	at com.intellij.openapi.actionSystem.impl.EdtDataContext.getDataInner(EdtDataContext.java:147)
	at com.intellij.openapi.actionSystem.impl.EdtDataContext.getData(EdtDataContext.java:112)
	at com.intellij.openapi.actionSystem.DataContext.getData(DataContext.java:45)
	at com.github.blarc.gitlab.template.lint.plugin.listeners.ApplicationStartupListener$execute$2.invoke(ApplicationStartupListener.kt:20)
	at com.github.blarc.gitlab.template.lint.plugin.listeners.ApplicationStartupListener$execute$2.invoke(ApplicationStartupListener.kt:19)
	at com.github.blarc.gitlab.template.lint.plugin.listeners.ApplicationStartupListener.execute$lambda$0(ApplicationStartupListener.kt:19)
	at org.jetbrains.concurrency.AsyncPromise$onSuccess$1.invoke(AsyncPromise.kt:89)
	at org.jetbrains.concurrency.AsyncPromise$onSuccess$1.invoke(AsyncPromise.kt:83)
	at org.jetbrains.concurrency.AsyncPromise.onSuccess$lambda$3(AsyncPromise.kt:83)
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
	at java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:887)
	at java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2325)
	at org.jetbrains.concurrency.AsyncPromise.onSuccess(AsyncPromise.kt:83)
	at org.jetbrains.concurrency.AsyncPromise.onSuccess(AsyncPromise.kt:13)
	at com.github.blarc.gitlab.template.lint.plugin.listeners.ApplicationStartupListener.execute(ApplicationStartupListener.kt:19)
	at com.intellij.ide.startup.impl.StartupManagerImpl$runPostStartupActivities$4$1$1.invokeSuspend(StartupManagerImpl.kt:254)
	at com.intellij.ide.startup.impl.StartupManagerImpl$runPostStartupActivities$4$1$1.invoke(StartupManagerImpl.kt)
	at com.intellij.ide.startup.impl.StartupManagerImpl$runPostStartupActivities$4$1$1.invoke(StartupManagerImpl.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.ide.startup.impl.StartupManagerImpl$runPostStartupActivities$4$1.invokeSuspend(StartupManagerImpl.kt:253)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

Additional logging: https://gist.github.com/didyouexpectthat/a1ba5e71968269b5756ee65ea76717c1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.