eddiewebb as some users will have server/config issues falsely marking it broke, and conversely some users will not fully test it's functionality and mark it incorrectly as "works."
Yeah I'm afraid that a pure user provided review process will cause a lot of false feedback. In fact Extiverse - at some point - had a review feature, but it was used only to complain about things not working. So providing such a feature, will possibly cause a negative spiral and thus affect developer/maintainer spirit.
This is already the case. But compatibility with Flarum 1.*
is something entirely than >= 1.8.9
. The code actually already did check these constraints provided and marked constraints that were either too wide, or too old (1.1.8 etc) as incompatible due to non-backward changes since release.
eddiewebb I have in the past encountered systems that used automation to run a basic library compatibility check.
This has crossed my mind too. It would be possible to spin up a clean Flarum install in an isolated docker environment, where the extension is tested. But .. what do you test? Some extensions require configuration before they work (eg API tokens), others only affect very specific frontend page or even worse, add their own. The effort to create a test tool that would be able to identify the areas impacted by an extension is .. massive.
So yeah 😬 😅
SkakashiS This is why, at least, I suggest some confirmation "button" where the developers should press to been show in the "updated" list because now, I think that the filter is not working... or at least, how I understand that should work.
I feel a button isn't entirely what we need to look at. Even if it's a button, what would it mark compatibility with? Just the last version? The composer file of the extension already allows marking compatibility, and developers can do a few things:
- make it very wide, eg
1.*
, as a consequence it is more than likely the extension isn't compatible with latest Flarum versions because a lot has changed between 1.0 and 1.8
- make it very narrow, eg
1.8.9+
, as a consequence this version of the extension cannot be installed on older Flarum versions
What I could potentially look at is when there's a wide constraint, whether the extension has received a recent update. If that's the case than these newer versions are compatible. However this still does not resolves the initial issue, a version of an extension is published and it still breaks Flarum.
What would potentially be a solution is to have a button available to users that just says "This works on Flarum <version>
" with a dropdown. This would act as a confirmation. I could potentially gamify this and attach milestone rewards for continuous assistance in this matter, but then again in that case I almost return to my initial idea:
luceos Create a group of users that take upon them the responsibility to review extensions, create a backlog for them for any major extension version of any extension that hits a certain download threshold.
😊