lppedd / idea-conventional-commit-commitlint

Provides additional commit types and scopes via Commitlint rules.
https://plugins.jetbrains.com/plugin/14046-commitlint-conventional-commit
MIT License
27 stars 1 forks source link

Exception in plugin in PHPStorm and WebStorm 2023 #13

Open mehdi-wb opened 10 months ago

mehdi-wb commented 10 months ago

This plugin does not work and throws an exception when enabled in PHPStorm or WebStorm - any 2023 version... Note that I tried installing both versions of this plugin and that installing via the PHPStorm Plugin UI installs version 0.1.2, while it seems the latest should be 0.1.3 ?? When I download the latest version 0.1.3 of this plugin and try to install it manually, PHPStorm fails to do so and says this version is only compatible with PHPStorm version 2022...

Tested with latest versions on a Macbook Pro Apple M1 Max running OS X Ventura 13.5.2 (22G91)

PhpStorm 2023.2.2 Build #PS-232.9921.55, built on September 15, 2023 Runtime version: 17.0.8+7-b1000.22 aarch64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.

WebStorm 2023.2.2 Build #WS-232.9921.42, built on September 12, 2023 Runtime version: 17.0.8+7-b1000.22 aarch64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.

Steps to reproduce:

Try to edit the commit message using the PHPStorm Commit tab and type in a different commit type. For example: Unknowntype: Update Gulp to version 4.0.2. PHPStorm will throw an error.

PHPStorm Error when trying to install the latest version of this plugin manually (0.1.3):

Plugin 'Commitlint Conventional Commit' (version '0.1.3') is not compatible with the current version of the IDE, because it requires build 222.* or older but the current build is WS-232.9921.42

PHPStorm Stacktrace when testing plugin version 0.1.2:

java.lang.InstantiationError: com.github.lppedd.cc.api.ProviderPresentation
    at com.github.lppedd.cc.commitlint.CommitlintConstants.<clinit>(CommitlintConstants.kt:9)
    at com.github.lppedd.cc.commitlint.CommitlintTokensProvider.getPresentation(CommitlintTokensProvider.kt:24)
    at com.github.lppedd.cc.completion.menu.FilterAction.<init>(FilterAction.kt:22)
    at com.github.lppedd.cc.completion.LookupEnhancer.setProviders(LookupEnhancer.kt:72)
    at com.github.lppedd.cc.completion.ConventionalCommitTextCompletionContributor.enhanceCompletionProcessIndicator(ConventionalCommitTextCompletionContributor.kt:256)
    at com.github.lppedd.cc.completion.ConventionalCommitTextCompletionContributor.fillCompletionVariants(ConventionalCommitTextCompletionContributor.kt:207)
    at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributor(CompletionService.java:81)
    at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.lambda$getVariantsFromContributor$0(CompletionServiceImpl.java:333)
    at com.intellij.diagnostic.telemetry.TraceKt.runWithSpan(trace.kt:74)
    at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.getVariantsFromContributor(CompletionServiceImpl.java:332)
    at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:73)
    at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:56)
    at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:132)
    at com.intellij.codeInsight.completion.BaseCompletionService.performCompletion(BaseCompletionService.java:48)
    at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.lambda$performCompletion$1(CompletionServiceImpl.java:351)
    at com.intellij.diagnostic.telemetry.TraceKt.runWithSpan(trace.kt:74)
    at com.intellij.codeInsight.completion.impl.CompletionServiceImpl.performCompletion(CompletionServiceImpl.java:340)
    at com.intellij.codeInsight.completion.CompletionProgressIndicator.lambda$calculateItems$11(CompletionProgressIndicator.java:870)
    at com.intellij.util.indexing.FileBasedIndex.lambda$ignoreDumbMode$0(FileBasedIndex.java:199)
    at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:112)
    at com.intellij.util.indexing.FileBasedIndexEx.ignoreDumbMode(FileBasedIndexEx.java:719)
    at com.intellij.util.indexing.FileBasedIndex.ignoreDumbMode(FileBasedIndex.java:198)
    at com.intellij.util.indexing.DumbModeAccessType.ignoreDumbMode(DumbModeAccessType.java:43)
    at com.intellij.codeInsight.completion.CompletionProgressIndicator.calculateItems(CompletionProgressIndicator.java:866)
    at com.intellij.codeInsight.completion.CompletionProgressIndicator.runContributors(CompletionProgressIndicator.java:854)
    at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$7(CodeCompletionHandlerBase.java:374)
    at io.opentelemetry.context.Context.lambda$wrap$1(Context.java:212)
    at com.intellij.codeInsight.completion.AsyncCompletion.lambda$tryReadOrCancel$5(CompletionThreading.java:169)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1102)
    at com.intellij.codeInsight.completion.AsyncCompletion.tryReadOrCancel(CompletionThreading.java:167)
    at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$8(CodeCompletionHandlerBase.java:365)
    at io.opentelemetry.context.Context.lambda$wrap$1(Context.java:212)
    at com.intellij.codeInsight.completion.AsyncCompletion.lambda$startThread$0(CompletionThreading.java:92)
    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.codeInsight.completion.AsyncCompletion.lambda$startThread$1(CompletionThreading.java:88)
    at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:252)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    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)
franckrasolo commented 10 months ago

Initially reported at #7, try the workaround suggested by @lppedd in #11.

mehdi-wb commented 10 months ago

Hey, thank you for your reply. Unfortunately, what you're suggesting doesn't seem to be a workaround... it just suggests disabling the extension haha.. Does this just mean the maintainers are not planning to support this extension anymore?

lppedd commented 10 months ago

@mehdi-wb the idea was exactly that unfortunately. My time is mostly on work stuff lately, or on things I use to experiment with Kotlin. I'll do a refresh as soon as 2023.3 is out, for both this and the core plugin.

mehdi-wb commented 10 months ago

Sounds good, thanks for the update @lppedd !