Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Isotope is not compatible with Haste 5 #2422

Open
SpeGal opened this issue Feb 17, 2023 · 10 comments
Open

Isotope is not compatible with Haste 5 #2422

SpeGal opened this issue Feb 17, 2023 · 10 comments

Comments

@SpeGal
Copy link

SpeGal commented Feb 17, 2023

Isotope 2.8.9 is not compatible with the latest releases of Haste and therefore with the latest Notification Center even though it requires both extension. Haste is 17 versions further now than Isotope requires. NC is two versions further.

This causes community wide issues with installing Isotope. Especially for those who have installed NC first and want to add Isotope.
Downgrading other extensions can only be a quick work around but never a satisfying solution.
Isotope should be made compatible with Haste 5.

This issue is not mentioned in the conflict section of this extension and therefore hard to find out what is wrong about it.
If Isotope cannot or will not be made compatible with Haste 5 it should at least be mentioned in the repository that Haste 5 and NC 1.7 are conflicting extensions.

@fritzmg
Copy link
Contributor

fritzmg commented Feb 26, 2023

Downgrading other extensions can only be a quick work around but never a satisfying solution.

Unless you need a specific feature of NC >=1.7, it is a satisfying solution.

This issue is not mentioned in the conflict section of this extension and therefore hard to find out what is wrong about it.

Why would there be a conflict?

If Isotope cannot or will not be made compatible with Haste 5 it should at least be mentioned in the repository that Haste 5 and NC 1.7 are conflicting extensions.

That has nothing to do with Isotope.

@SpeGal
Copy link
Author

SpeGal commented Feb 26, 2023

Okay, try installing Isotope on a Contao 4.13 installation with NC 1.7 installed and pretend to know nothing about this issue. Then you will understand, this is an issue.

@SpeGal
Copy link
Author

SpeGal commented Feb 26, 2023

If Isotope cannot or will not be made compatible with Haste 5 it should at least be mentioned in the repository that Haste 5 and NC 1.7 are conflicting extensions.

That has nothing to do with Isotope.

Maybe I didn't phrase this right. Haste 5 and NC 1.7 are not conflicting each other (on the contrary). Isotope conflicts with Haste 5 and Isotope conflicts with NC 1.7. Every extension with a known conflict with other extensions has a note in the conflict section on the repository so that users can check before installing whether the new extension will be compatible with his version of Contao and the installed extensions. Otherwise the user will be put on a wild goose chase trying to install the conflicting extension (in this case Isotope).

Isotope mentions four extensions as conflicting (see picture). This list should be extended by Haste 5 and NC 1.7 so users have a chance to understand they need to either downgrade or not use the extension.

Screenshot 2023-02-26 231444

@aschempp
Copy link
Member

Interesting catch 😊
The conflicts in Composer are meant to tell composer not to load a specific version that would otherwise be possible. This mostly makes sense for suggestions ("Empfehlungen"), because you are free to choose what version of a suggestion to install. However, for dependencies, we don't need to define any conflicts, because the dependencies already tell what is required. If you look at the "Abhängigkeiten" section, you will see that it says it only works with Haste 4. So that's the section you actually need to check.

Nonetheless, we obviously want to become compatible with Haste 5. However, being compatible with Haste 5 AND Haste 4 is not that easy. And dropping support for Haste 4 means dropping support for Contao 4.9, which we only do in a future minor version (possibly 2.9 or 2.10). In the meantime, yes, you would unfortunately need to downgrade to Notification Center 1.6.

@fritzmg
Copy link
Contributor

fritzmg commented Feb 27, 2023

Okay, try installing Isotope on a Contao 4.13 installation with NC 1.7 installed and pretend to know nothing about this issue. Then you will understand, this is an issue.

As I said, unless you need a specific feature of NC 1.7, you just need to require ^1.6. As far as I know NC 1.7 does not offer any additional features over 1.6.

Maybe I didn't phrase this right. Haste 5 and NC 1.7 are not conflicting each other (on the contrary). Isotope conflicts with Haste 5 and Isotope conflicts with NC 1.7. Every extension with a known conflict with other extensions has a note in the conflict section on the repository so that users can check before installing whether the new extension will be compatible with his version of Contao and the installed extensions. Otherwise the user will be put on a wild goose chase trying to install the conflicting extension (in this case Isotope).

There is no need to add a dependency conflict, since the dependency requirements already take care of that.

The issue is that Composer always requires the latest feature version automatically and is unable to step down automatically if the newest feature version is not installable.

@SpeGal
Copy link
Author

SpeGal commented Feb 27, 2023

The requirements of Isotope state for Notification Center: ^1.0. That means: >=1.0 > 2.0
Users cannot know that Isotope does not work for NC 1.7. The right specification is: Notification Center <1.7

The requirements for Haste are correct but I doubt that everyone using Contao Manager is familiar with the exact meaning of the ^ sign. It would be easier I think to mention in the conflict sections which versions of other extensions have known issues with this extension.

On the other hand Isotope is not stated as compatible with PHP 8.1 nor PHP 7.4 even though it runs on both (as long as Haste and NC are on the lower versions). So shouldn't the requirement also be adjusted here to PHP ^7.1 || ^7.4 || ^8.0 || ^8.1?

@fritzmg
Copy link
Contributor

fritzmg commented Feb 27, 2023

Users cannot know that Isotope does not work for NC 1.7.

They don't have to. Composer will tell them. Also your statement is incorrect, as Isotope would work with NC 1.7. Just the dependencies are incompatible at the moment.

The requirements for Haste are correct but I doubt that everyone using Contao Manager is familiar with the exact meaning of the ^ sign.

That's a basic requirement for working with Composer in general. And thus by extension any modern PHP application.

On the other hand Isotope is not stated as compatible with PHP 8.1 nor PHP 7.4 even though it runs on both

The dependencies clearly state php: ^7.2 || ^8.0.

So shouldn't the requirement also be adjusted here to PHP ^7.1 || ^7.4 || ^8.0 || ^8.1?

That is superfluous. See https://getcomposer.org/doc/articles/versions.md#caret-version-range-

@SpeGal
Copy link
Author

SpeGal commented Feb 27, 2023

They don't have to. Composer will tell them. Also your statement is incorrect, as Isotope would work with NC 1.7. Just the dependencies are incompatible at the moment.

If NC 1,7 requires Haste 5 it is not compatible with Isotope, so it does not work with it and should therefore be marked accordingly. Please look at this from a user friendly perspective :)

That's a basic requirement for working with Composer in general. And thus by extension any modern PHP application.

True. In this case users are not working directly with Composer though, but through a simplified mask (Contao Manager). That allowes less experienced users to handle the Contao extensions better. It was create to make it easier/simpler, therefore the requirements could be stated in a more human nature like "Works for all Haste 4 versions but not for higher version" :) But this is off-topic.

On the other hand Isotope is not stated as compatible with PHP 8.1 nor PHP 7.4 even though it runs on both

The dependencies clearly state php: ^7.2 || ^8.0.

You are right, I am sorry. Same problem as the off-topic passage above ;)

@aschempp
Copy link
Member

I'm not sure what we're discussing here. Isotope needs to support the latest versions, but it currently does not. As long as no-one has some free (or paid) time to spend on this, that's not gonna change easily. @SpeGal feel free to provide a pull request that fixes the incompatibility. Otherwise I'll have to find some time somewhen this year to work on a new version, but there's no date for it.

@fritzmg
Copy link
Contributor

fritzmg commented Feb 27, 2023

If NC 1,7 requires Haste 5 it is not compatible with Isotope, so it does not work with it and should therefore be marked accordingly.

No, it does not need to be marked, as it's Composer's job to resolve and install the appropriate dependencies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants