@m!m :
Simply skipping the packages might work but then you will run into issues if a mod depends on the package "Windows SSE" which will not be present on other platforms.
To me, that's only a case of broken dependency. It happens in every package management system. It's not the responsibility of the package management system developers to avoid this, it's the responsibility of packagers not to do silly things (in FreeSpace 2 modding world : don't do mods that depend exclusively on platform specific packages, inside or outside your own mod.)
I agree with ngld : environment specification is in the right place at the package level.
Anyway, just in case it happens, we should warn the user at some point, and tell them to report the issue to the package manager for the broken mod.
Regarding the description/notes issue on server side : I chose not to add the possibility to override the description and other fields of mod metadata at the build level. Instead, I've added a "notes" fields to the branch and build. They will be appended to mod notes.
@ngld :
JS API on the web pages sounds cool.
Showing mod hierarchy is useful for the advanced UI (that we currently have), but I think the simple UI mod browser should present all mods on the same level. It's irrelevant to a newcomer who's just seen a youtube video of ST:R and who wants play it to know it's a submod of fsport (of course, this information will be shown before starting the install process).
To me, the simple UI should look like :
-------------------------------------
Quicksearch
-------------------------------------
Local mods
-------------------------------------
Mod |play|settings|remove
-------------------------------------
Mod 2 |play|settings|remove
-------------------------------------
Available mods
-------------------------------------
Mod 3 |install
-------------------------------------
Mod 4 |install
-Every mod has its own background image (specific to the collapsed view, meaning modders should provide it as well).
-When you click on a mod title, you get a mod page adapted for a narrow view.
-Actions like "play"/"settings"/"remove"/"install" should only appear on mod mouseover.
-When internet connection is not available, instead of "Available mods", it shows "Go online to browse available mods !"
-When you're on a mod page, the quicksearch block should be replaced by a "Back to mods" button aligned on the left.
-If the "quicksearch" block is native Qt and not a part of the webview, to the right of the search box, we should have a button to switch to the advanced UI.
I'm not sure what the mods list cache management policy should be, but installed mods list and pages should be available while offline.
I'll do the templates if you want.
EDIT : Sf Voters are now working, meaning modders can only work in mods and branches they own.
I'm looking into adding modder teams that could also own mods (effectively allowing multiple modders to work on a single mod). The best way to do it is to add an "owner" abstraction layer, with the owner being either a "modder" or a "team of modders" object. This is a major change (since a lot of my functions revolve around the modder object), but I have to do it now, or it will turn into a massive refactoring later.
EDIT 2 : Implementing the "owner" logic (with modders and teams) will delay the initial git commit (it won't be on sunday, but early next week). I'll keep you posted.
EDIT 3 : @ngld : is JS API what
https://extensions.gnome.org/ uses to know if you are running gnome-shell or not ?