Closed claudiu-cristea closed 4 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.
@nico-loeber Hi, can you please release the version for the latest phpstorm. THanks
Please release!
@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.
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.
I would support you, but my Java experience is a little bit rusted.
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.
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. 😄
@Aneida please mail me at nico@php-perfect.de, so we can exchange contact information, thanks!
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.
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?
I see that PhpStorm 2024.1.1 has been released, I thought that might have some impact, but I'm not successful.
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
Hi @rfay . The version 1.2.1 is for versions 2023. . There is not any yet release for versions 2024. :disappointed:
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.
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:
without possibility of installing even in 2024.
It is expected that version 2024.2 will fix the bug mentioned in issue #313
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.
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.
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
@nico-loeber thx, the latest build works fine! Can happily use DDEV again in my IDE :)
@nico-loeber would you be willing to do a release with that binary so that people could use the release from GitHub?
One note, the installation procedure seems to be:
ddev-intellij-plugin.zip
. This zipfile contains other zipfilesunzip ddev-intellij-plugin.zip
. (If you use the finder, it extracts too many things recursively)This comes in as v0.0.1 of course, but it does install.
@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...
Thanks @nico-loeber ! Could you please add installation instructions to the release? Thanks!
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.
Thanks for the manual edit!
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.
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
I add step by step in windows 11 and PhpStorm 2024.1.1
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 at Configure
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.
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.
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:
ddev-intellij-plugin.zip
. This zipfile contains other zipfilesunzip ddev-intellij-plugin.zip
. (If you use the finder, it extracts too many things recursively)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.
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.
@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.
@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"
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.
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?
@claudiu-cristea if you also works for you, then I would say, yes close the issue.
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:
Steps to reproduce
No response
Additional context
No response