php-perfect / ddev-intellij-plugin

DDEV Tool Integration for IntelliJ IDEA
https://plugins.jetbrains.com/plugin/18813-ddev-integration
BSD 3-Clause "New" or "Revised" License
109 stars 15 forks source link

Incompatible with PhpStorm 2024.1 #307

Closed claudiu-cristea closed 4 months ago

claudiu-cristea commented 6 months ago

Is there an existing issue for this?

Are you sure that this bug is related to this DDEV Integration Plugin?

Enter your error report ID (If available)

No response

Describe the bug

After upgrading to PhpStorm 2024.1 I'm getting this message:

Incompatible: requires IDE build 233.* or earlier

Steps to reproduce

No response

Additional context

No response

Aneida commented 6 months ago

The reason is the declaration of until-build="233.*"

File src/main/resources/META-INF/plugin.xml:23

PhpStorm 2024.1 is 241.*

I don't know if modifying only that variable solves the problem.

zaifastafa commented 6 months ago

@nico-loeber Hi, can you please release the version for the latest phpstorm. THanks

nessunluogo commented 6 months ago

Please release!

GBeushausen commented 6 months ago

@nico-loeber Please approve and merge the PR to fix this issue. Or if you don't have the time, please give other people from the community the right to merge PRs. There are many people who rely on this plugin.

nico-loeber commented 6 months ago

Hey, I will review it soon. I was in Greece the last few days. There are a few more people with permissions, if anyone is interested to support me, please let me know.

GBeushausen commented 6 months ago

I would support you, but my Java experience is a little bit rusted.

nico-loeber commented 6 months ago

Sadly updating the plugin is not just to increase the versions. You always have to check for deprecated API uses and changed behavior. Sadly it is quite hard to work with the Beta releases in my opinion, as my build pipeline does not support that well yet. In case someone is interested in how to do updates to the plugin let me know and we can do a session shared screen or something like that. I will be available today evening (CEST) and will try to create a new release.

Aneida commented 6 months ago

I'm interested. My attempt to just update the versions was an early step to be able to continue, I was doing local tests, but it would take me a long time due to my little knowledge, sorry.

I'm really interested in knowing the right way to do it. 😄

nico-loeber commented 6 months ago

@Aneida please mail me at nico@php-perfect.de, so we can exchange contact information, thanks!

nico-loeber commented 6 months ago

To keep you updated: Current problem is a change in behavior of the IntelliJ Platform. All calls to cli binaries that happen in the background (used for ddev and docker binaries) cause the following error:

java.lang.IllegalStateException: There is no ProgressIndicator or Job in this thread, the current job is not cancellable.
    at com.intellij.openapi.progress.CoroutinesKt$runBlockingCancellable$1.invoke(coroutines.kt:128)
    at com.intellij.openapi.progress.CoroutinesKt$runBlockingCancellable$1.invoke(coroutines.kt:126)
    at com.intellij.openapi.progress.ContextKt.prepareThreadContext(context.kt:83)
    at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:126)
    at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:121)
    at com.intellij.execution.wsl.WslIjentUtil.runProcessBlocking(WslIjentUtil.kt:62)
    at com.intellij.execution.wsl.WSLDistribution.lambda$patchCommandLine$2(WSLDistribution.java:239)
    at com.intellij.execution.configurations.GeneralCommandLine.createProcess(GeneralCommandLine.java:490)
    at com.intellij.execution.configurations.GeneralCommandLine.startProcess(GeneralCommandLine.java:463)
    at com.intellij.execution.configurations.GeneralCommandLine.createProcess(GeneralCommandLine.java:356)
    at com.intellij.execution.process.OSProcessHandler.startProcess(OSProcessHandler.java:86)
    at com.intellij.execution.process.OSProcessHandler.<init>(OSProcessHandler.java:46)
    at com.intellij.execution.process.CapturingProcessHandler.<init>(CapturingProcessHandler.java:20)
    at de.php_perfect.intellij.ddev.cmd.ProcessExecutorImpl.executeCommandLine(ProcessExecutorImpl.java:16)
    at de.php_perfect.intellij.ddev.cmd.DdevImpl.execute(DdevImpl.java:67)
    at de.php_perfect.intellij.ddev.cmd.DdevImpl.describe(DdevImpl.java:39)
    at de.php_perfect.intellij.ddev.state.DdevStateManagerImpl.checkDescription(DdevStateManagerImpl.java:155)
    at de.php_perfect.intellij.ddev.state.DdevStateManagerImpl.lambda$initialize$0(DdevStateManagerImpl.java:54)
    at de.php_perfect.intellij.ddev.state.DdevStateManagerImpl.checkChanged(DdevStateManagerImpl.java:90)
    at de.php_perfect.intellij.ddev.state.DdevStateManagerImpl.initialize(DdevStateManagerImpl.java:49)
    at de.php_perfect.intellij.ddev.state.DdevStateManagerImpl.initialize(DdevStateManagerImpl.java:33)
    at de.php_perfect.intellij.ddev.InitPluginActivity.lambda$execute$0(InitPluginActivity.java:19)
    at com.intellij.openapi.application.impl.RwLockHolder$executeOnPooledThread$1.run(RwLockHolder.kt:154)
    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:840)

This is new and I don't find any documentation on that change yet. If someone has an idea, please let me know.

nico-loeber commented 6 months ago

Todo list to for 2024.1 compatibility:

Sadly I will be unavailable until friday. If you think you can fix any of these issues, please provide a pull request. @rfay maybe you know someone with Java knowledge who could support?

rfay commented 5 months ago

I see that PhpStorm 2024.1.1 has been released, I thought that might have some impact, but I'm not successful.

rfay commented 5 months ago

I see that although the versions page shows 1.2.1, the "plugins" page in PhpStorm refuses to install anything higher than 1.1.1, it's not clear to me why that is...

Oh, I see, 1.2.1 is for PhpStorm 2024

Cheoooon commented 5 months ago

Hi @rfay . The version 1.2.1 is for versions 2023. . There is not any yet release for versions 2024. :disappointed:

rfay commented 5 months ago

Thanks. I know there's not a working version for PhpStorm 2024, but the versions page clearly shows 1.2.1 (and 1.2.0) as being for 2024.

Cheoooon commented 5 months ago

I think that version is based on the release date. The important thing is the compatibility range column. I don't see any explicit mention of the '2024' version in the code for those releases. Anyway, I see the following from 2024.1.1:

image

without possibility of installing even in 2024.

It is expected that version 2024.2 will fix the bug mentioned in issue #313

shochdoerfer commented 5 months ago

A thought just hit me: Would it make sense to move most of the logic out of the plugin and into DDEV itself? That way, when an update causes trouble, we could still manually call the logic via the CLI. I would assume most of what the plugin does will reflect in changes to the files in the .idea directory in my project.

nico-loeber commented 5 months ago

Hey @shochdoerfer, There is not much logic you can move to ddev itself, as most of the stuff the plugin is doing is updating phpstorm configurations.

Still waiting for the plugin verifier to be fixed as it does currently block the release workflow.

nico-loeber commented 5 months ago

By the way, as long as I can not release the new version, you can just download the latest build. https://github.com/php-perfect/ddev-intellij-plugin/actions/runs/8693039236/artifacts/1415228444

shochdoerfer commented 5 months ago

@nico-loeber thx, the latest build works fine! Can happily use DDEV again in my IDE :)

rfay commented 5 months ago

@nico-loeber would you be willing to do a release with that binary so that people could use the release from GitHub?

rfay commented 5 months ago

One note, the installation procedure seems to be:

This comes in as v0.0.1 of course, but it does install.

nico-loeber commented 5 months ago

@rfay I published it as a pre release as I am not able to publish this one to the store. But here you can find the artifacts: https://github.com/php-perfect/ddev-intellij-plugin/releases/tag/1.2.2 Hope that helps...

rfay commented 5 months ago

Thanks @nico-loeber ! Could you please add installation instructions to the release? Thanks!

nico-loeber commented 5 months ago

Sadly the pipeline does not update the release with the build artifacts as the publish task fails... I've added the link to the latest build artifacts instead and your short instructions.

I hope jetbrains fix their plugin verifier until I am back from Japan (1 week) so I can finally release a new version. -.-

Please let me know if I should add anything to the release notes @rfay.

rfay commented 5 months ago

Thanks for the manual edit!

rfay commented 5 months ago

Would you mind adding the artifacts to the release rather than making them just a link? You just edit the release and copy the artifacts into the release, drag-and-drop or whatever.

I note that using the install procedure that I used, I haven't figured out how to make the plugin do anything at all. It doesn't create PHP Servers, and the tools menu doesn't have anything active. I imagine I'm just doing something stupid.

image image image
Jigsaw5279 commented 5 months ago

After installing the suggested release from disk, I'm getting the following Exception:

Unhandled exception in [ComponentManager(ProjectImpl@197737556), CoroutineName(run activity), run activity, StandaloneCoroutine{Cancelling}@1893c422, Dispatchers.Default]

java.lang.NoClassDefFoundError: io/sentry/Sentry$OptionsConfiguration
    at de.php_perfect.intellij.ddev.errorReporting.SentrySdkInitializer.init(SentrySdkInitializer.java:15)
    at de.php_perfect.intellij.ddev.InitPluginActivity.execute(InitPluginActivity.java:18)
    at com.intellij.ide.startup.impl.StartupManagerImplKt$launchActivity$1.invokeSuspend(StartupManagerImpl.kt:473)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
    Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [ComponentManager(ProjectImpl@197737556), CoroutineName(run activity), run activity, StandaloneCoroutine{Cancelled}@1893c422, Dispatchers.Default]
Caused by: java.lang.ClassNotFoundException: io.sentry.Sentry$OptionsConfiguration PluginClassLoader(plugin=PluginDescriptor(name=DDEV Integration, id=de.php_perfect.intellij.ddev, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\PhpStorm2024.1\plugins\instrumented-ddev-intellij-plugin-0.0.1-dev.jar, version=0.0.1-dev, 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)
    ... 9 more

May be related to https://github.com/php-perfect/ddev-intellij-plugin/pull/319

Cheoooon commented 4 months ago

I add step by step in windows 11 and PhpStorm 2024.1.1

Steps

Step 1: Download and uncompress - Download the file and uncompress it ![Captura de pantalla 2024-05-12 235925](https://github.com/php-perfect/ddev-intellij-plugin/assets/93208313/0a72d2d6-5de6-45be-bbf8-c8f4b0dc0cbb) The name of file is `ddev-intellij-plugin-0.0.1-dev` (dont uncompress this).
Step 2: Install the plugin - Open PhpStorm and go to plugins and "install Plugin from Disk" ![Captura de pantalla 2024-05-12 235518](https://github.com/php-perfect/ddev-intellij-plugin/assets/93208313/6b2e7a41-3633-4311-9b24-04abb4f00b59) - Search the plugins in the folder and click "OK" ![Captura de pantalla 2024-05-12 235531](https://github.com/php-perfect/ddev-intellij-plugin/assets/93208313/37acdad6-4c16-4776-bac3-804eabf5e7d1) - Apply changes ![Captura de pantalla 2024-05-12 235546](https://github.com/php-perfect/ddev-intellij-plugin/assets/93208313/efa9dc75-d94f-4061-b5ce-f995e601e654)
Step 3: Use the plugin - After install, go to toolbar "tools" and search "DDEV" ![Captura de pantalla 2024-05-12 235625](https://github.com/php-perfect/ddev-intellij-plugin/assets/93208313/fee0e565-9997-4f4e-bca2-491ebb66df0f) - Example configure with empty project: ![Captura de pantalla 2024-05-12 235641](https://github.com/php-perfect/ddev-intellij-plugin/assets/93208313/6f64629a-2835-4bb7-9de9-0c01fc6ea948) - After configure it ![Captura de pantalla 2024-05-12 235652](https://github.com/php-perfect/ddev-intellij-plugin/assets/93208313/faabc7ca-8ccf-4b6f-a93e-b26b1ac366cb) - Start project ![Captura de pantalla 2024-05-13 001141](https://github.com/php-perfect/ddev-intellij-plugin/assets/93208313/63fdd9be-7650-4345-a861-f09c1405a037) - Running project toolbar ![Captura de pantalla 2024-05-13 001415](https://github.com/php-perfect/ddev-intellij-plugin/assets/93208313/0b1a1826-8f0a-4968-836c-ebefdde8671a) - After reload phpStorm ![image](https://github.com/php-perfect/ddev-intellij-plugin/assets/93208313/1b6283a1-39bf-4d3d-bd04-1c5170ac3512)
Cheoooon commented 4 months ago

In my example everything seems to be going well, however the IDE throws me some silent errors

They are identified in issues but I also leave evidence here:

Error 1 ``` java.lang.IllegalStateException: There is no ProgressIndicator or Job in this thread, the current job is not cancellable. at com.intellij.openapi.progress.CoroutinesKt$runBlockingCancellable$1.invoke(coroutines.kt:128) at com.intellij.openapi.progress.CoroutinesKt$runBlockingCancellable$1.invoke(coroutines.kt:126) at com.intellij.openapi.progress.ContextKt.prepareThreadContext(context.kt:83) at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:126) at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:121) at com.intellij.execution.wsl.WslIjentUtil.runProcessBlocking(WslIjentUtil.kt:62) at com.intellij.execution.wsl.WSLDistribution.lambda$patchCommandLine$2(WSLDistribution.java:239) at com.intellij.execution.configurations.GeneralCommandLine.createProcess(GeneralCommandLine.java:491) at com.intellij.execution.configurations.GeneralCommandLine.startProcess(GeneralCommandLine.java:464) at com.intellij.execution.configurations.GeneralCommandLine.createProcess(GeneralCommandLine.java:357) at com.intellij.execution.process.OSProcessHandler.startProcess(OSProcessHandler.java:86) at com.intellij.execution.process.OSProcessHandler.(OSProcessHandler.java:46) at com.intellij.execution.process.CapturingProcessHandler.(CapturingProcessHandler.java:20) at de.php_perfect.intellij.ddev.cmd.ProcessExecutorImpl.executeCommandLine(ProcessExecutorImpl.java:16) at de.php_perfect.intellij.ddev.cmd.DockerImpl.isRunning(DockerImpl.java:11) at de.php_perfect.intellij.ddev.state.DdevStateManagerImpl.initialize(DdevStateManagerImpl.java:42) at de.php_perfect.intellij.ddev.state.DdevStateManagerImpl.initialize(DdevStateManagerImpl.java:33) at de.php_perfect.intellij.ddev.InitPluginActivity.lambda$execute$0(InitPluginActivity.java:19) at com.intellij.openapi.application.impl.RwLockHolder$executeOnPooledThread$1.run(RwLockHolder.kt:154) 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:840) ```
Error 2 ``` java.lang.IllegalStateException: There is no ProgressIndicator or Job in this thread, the current job is not cancellable. at com.intellij.openapi.progress.CoroutinesKt$runBlockingCancellable$1.invoke(coroutines.kt:128) at com.intellij.openapi.progress.CoroutinesKt$runBlockingCancellable$1.invoke(coroutines.kt:126) at com.intellij.openapi.progress.ContextKt.prepareThreadContext(context.kt:83) at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:126) at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:121) at com.intellij.execution.wsl.WslIjentUtil.runProcessBlocking(WslIjentUtil.kt:62) at com.intellij.execution.wsl.WSLDistribution.lambda$patchCommandLine$2(WSLDistribution.java:239) at com.intellij.execution.configurations.GeneralCommandLine.createProcess(GeneralCommandLine.java:491) at com.intellij.execution.configurations.GeneralCommandLine.startProcess(GeneralCommandLine.java:464) at com.intellij.execution.configurations.GeneralCommandLine.createProcess(GeneralCommandLine.java:357) at com.intellij.execution.process.OSProcessHandler.startProcess(OSProcessHandler.java:86) at com.intellij.execution.process.OSProcessHandler.(OSProcessHandler.java:46) at com.intellij.execution.process.CapturingProcessHandler.(CapturingProcessHandler.java:20) at de.php_perfect.intellij.ddev.cmd.ProcessExecutorImpl.executeCommandLine(ProcessExecutorImpl.java:16) at de.php_perfect.intellij.ddev.cmd.DdevImpl.executePlain(DdevImpl.java:46) at de.php_perfect.intellij.ddev.cmd.DdevImpl.version(DdevImpl.java:23) at de.php_perfect.intellij.ddev.state.DdevStateManagerImpl.checkVersion(DdevStateManagerImpl.java:137) at de.php_perfect.intellij.ddev.state.DdevStateManagerImpl.lambda$initialize$0(DdevStateManagerImpl.java:52) at de.php_perfect.intellij.ddev.state.DdevStateManagerImpl.checkChanged(DdevStateManagerImpl.java:90) at de.php_perfect.intellij.ddev.state.DdevStateManagerImpl.initialize(DdevStateManagerImpl.java:49) at de.php_perfect.intellij.ddev.state.DdevStateManagerImpl.initialize(DdevStateManagerImpl.java:33) at de.php_perfect.intellij.ddev.InitPluginActivity.lambda$execute$0(InitPluginActivity.java:19) at com.intellij.openapi.application.impl.RwLockHolder$executeOnPooledThread$1.run(RwLockHolder.kt:154) 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:840) ```
Error 3 ``` java.io.IOException: Connection failed: too many redirects at com.intellij.util.io.HttpRequests.openConnection(HttpRequests.java:660) at com.intellij.util.io.HttpRequests$RequestImpl.getConnection(HttpRequests.java:366) at com.intellij.util.io.HttpRequests$RequestImpl.doReadBytes(HttpRequests.java:442) at com.intellij.util.io.HttpRequests$RequestImpl.readString(HttpRequests.java:431) at com.intellij.util.io.RequestBuilder.lambda$readString$5(RequestBuilder.java:85) at com.intellij.util.io.HttpRequests.doProcess(HttpRequests.java:529) at com.intellij.util.io.HttpRequests.process(HttpRequests.java:511) at com.intellij.util.io.HttpRequests$RequestBuilderImpl.connect(HttpRequests.java:340) at com.intellij.util.io.RequestBuilder.readString(RequestBuilder.java:85) at de.php_perfect.intellij.ddev.version.GithubClient.loadCurrentVersion(GithubClient.java:27) at de.php_perfect.intellij.ddev.version.VersionCheckerImpl$1.run(VersionCheckerImpl.java:48) at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:477) at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:133) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$6(CoreProgressManager.java:528) at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:250) at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:100) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:221) at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.use(trace.kt:46) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:220) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:660) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:735) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:691) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:659) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:202) at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:100) at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$5(ProgressRunner.java:250) at com.intellij.openapi.progress.impl.ProgressRunner$ProgressRunnable.run(ProgressRunner.java:500) 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:840) ```

--- Error at Configure

Error 4 ``` java.lang.IllegalStateException: This method is forbidden on EDT because it does not pump the event queue. Switch to a BGT, or use com.intellij.openapi.progress.TasksKt.runWithModalProgressBlocking. at com.intellij.openapi.progress.CoroutinesKt.assertBackgroundThreadOrWriteAction(coroutines.kt:448) at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:125) at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:121) at com.intellij.execution.wsl.WslIjentUtil.runProcessBlocking(WslIjentUtil.kt:62) at com.intellij.execution.wsl.WSLDistribution.lambda$patchCommandLine$2(WSLDistribution.java:239) at com.intellij.execution.configurations.GeneralCommandLine.createProcess(GeneralCommandLine.java:491) at com.intellij.execution.configurations.GeneralCommandLine.startProcess(GeneralCommandLine.java:464) at com.intellij.execution.configurations.PtyCommandLine.startProcess(PtyCommandLine.java:130) at com.intellij.execution.configurations.GeneralCommandLine.createProcess(GeneralCommandLine.java:357) at com.intellij.execution.process.OSProcessHandler.startProcess(OSProcessHandler.java:86) at com.intellij.execution.process.OSProcessHandler.(OSProcessHandler.java:46) at com.intellij.execution.process.KillableProcessHandler.(KillableProcessHandler.java:41) at com.intellij.execution.process.ColoredProcessHandler.(ColoredProcessHandler.java:23) at de.php_perfect.intellij.ddev.cmd.RunnerImpl.createProcessHandler(RunnerImpl.java:52) at de.php_perfect.intellij.ddev.cmd.RunnerImpl.lambda$run$1(RunnerImpl.java:37) at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:27) at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209) at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22) at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191) at com.intellij.openapi.application.impl.RwLockHolder.runIntendedWriteActionOnCurrentThread(RwLockHolder.kt:204) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:830) at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:419) at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:138) at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:129) at com.intellij.openapi.application.impl.ApplicationImpl.runWithImplicitRead(ApplicationImpl.java:1152) at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:81) at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:123) at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:43) 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:699) at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:593) at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:105) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:593) at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:77) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:362) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:361) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:843) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:361) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:356) at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1022) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106) at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1022) at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:356) at com.intellij.openapi.application.impl.RwLockHolder.runIntendedWriteActionOnCurrentThread(RwLockHolder.kt:209) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:830) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:398) 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) ```
Error 5 - 6 - 7 - 8 - same error, but have different cause ``` java.lang.IllegalStateException: There is no ProgressIndicator or Job in this thread, the current job is not cancellable. ```
graham73may commented 4 months ago

Well thanks @Cheoooon I've learned a quirk about Mac Archive Utility. Without your comment above I'm not sure how else I'd have been able to see this behaviour, there is nothing to indicate the .zip inside the .zip....

If you double click the artefact, it expands the zip you clicked AND the one inside, so you're left with a folder.

image

If you use a different archive tool, like The Unarchiver, it doesn't do the double extraction, and you're left with a .zip which is installable.

image

rfay commented 4 months ago

I updated my comment above to use this technique, thanks for the explanation all! I had in fact uncompressed using the finder. My new technique, which results in a working plugin:

This comes in as v0.0.1 of course, but it does install.

@nico-loeber could you please update the instructions in the release notes? Also, just adding the ddev-intellij-plugin.zip there as an artifact would make this process simpler.

GBeushausen commented 4 months ago

At this point i think it's maybe easier to just configure your project by hand as mentioned in the docs. https://ddev.readthedocs.io/en/stable/users/install/phpstorm/ Installing a dev version by hand, uncompressing with the cli and stuff doesn't seem to be worth the hassle, if you're not starting new projects every day. You only got to set it up once for a project.

hockdudu commented 4 months ago

@GBeushausen the plug-in also configures the database connection, which has a dynamic port that's different each time, so it's useful even for only one project.

GBeushausen commented 4 months ago

@hockdudu No, that's not a problem at all, as you can just uncomment a line in the ddev config file to set the db port to a specific value. Like so: host_db_port: "50699"

shochdoerfer commented 4 months ago

PhpStorm just informed me that the 2024.1.2 update is available. Once installed, you can download the DDEV plugin from the plugin marketplace again.

claudiu-cristea commented 4 months ago

Thank you, @shochdoerfer. With 2024.1.2, visiting the plugin list, I can see DDE Integration at version 1.2.3. I think this is all we need. Can we close this issue as resolved?

shochdoerfer commented 4 months ago

@claudiu-cristea if you also works for you, then I would say, yes close the issue.