[19:45:21]
<JulianF> I'm having a little look at what it takes to update an outdated package. I started looking at Scratch -- it has the first pre-release of Scratch 3 from about 3 years ago and no updates since then. It seems it's just a simple web app with no hooks into it, and would be pretty trivial to update. Got half way through building/testing after learning the ropes and figuring out how to start. I can probably finish it. But this leads to my question...
[19:45:42]
<JulianF> I'm finding a few others in this state, one submission and no further updates. What's the policy -- or is there any sort of policy, written or unwritten, about not-updated apps? Or ynh community's official or unofficial view on this?
[19:46:53]
<JulianF> (I've followed ynh for years, currently run 3 instances, yet I'm not closely in the loop.)
[19:48:20]
<JulianF> I mean I hope to hear something beyond just "Merge requests welcome" :-)
[19:51:07]
<JulianF> I suppose I don't really mean "view" or "policy" I really mean has someone got an idea how to solve the problem of assuring a certain level of quality for users that want that?
[19:53:17]
<JulianF> Looks like the quality rating scale that existed "forever" has recently gone away? There must be a blog post or something?
[20:19:21]
<Aleks (he/him/il/lui)> > <@julian:foad.me.uk> Looks like the quality rating scale that existed "forever" has recently gone away? There must be a blog post or something?
I'm not sure what you mean ... you mean the app levels ? They are still there, what makes you say they "went away" ?
[20:23:45]
<Aleks (he/him/il/lui)> Regarding app maintenance / upgrades : dunno what to say, it's a complex topic. If the app is still passing automatic tests, then we don't get much "warnings" that something got to change. Socially speaking, not that many people are willing to sign up for "being a maintainer of an app over X years, making sure that everything works smoothly", we have a few apps that do have some relatively identified maintainer, but given that we have 500ish apps it's not trivial ... Regarding "keeping the app up to date" more precisely, we have a ~new mechanism where we can setup automatic updates if the upstream has well-identified releases (like tags or releases) assuming it's hosted on github ... Packaging v2 makes it easier to perform the "update version + upstream archive url + checksum" thing, and also we are starting to have the "stars/vote" system in the new app store to have a better idea of what should be maintained
[20:27:16]
<lapineige> > <@julian:foad.me.uk> I mean I hope to hear something beyond just "Merge requests welcome" :-)
It basically boils down to : who has time and motivation can update them, if that's not the case, it does not happen.
Appart from that, apps can be flagged as unmaintained and/or not working, or working correctly up to long term good quality.
[20:28:46]
<lapineige> The might be talking about the switch from the "official" app list to the new one (there is no longer any "official app", juste good quality (level 8 = long term good quality). That's several years ago btw 🙂
[20:28:52]
<lapineige> The might be talking about the switch from the "official" app list to the new one (there is no longer any "official app", juste good quality (level 8 = long term good quality). That's several years old btw 🙂
[20:39:03]
<JulianF> > The might be talking about the switch from the "official" app list to the new one (there is no longer any "official app", juste good quality (level 8 = long term good quality). That's several years old btw 🙂
Oh... Has it really been several years since I last saw the levels displayed in https://apps.yunohost.org/catalog and in the internal app install-from-catalogue functionality? It's possible -- time flies. Anyway I can't see them now and I thought I last saw them only a few months ago, but could be wrong.
[20:40:41]
<Aleks (he/him/il/lui)> yes they were removed from the user interfaces because there's not really a point of displaying them : they are technical indicators with not-straightforward meaning, and ultimately things that are proposed to installation should work, and things that do not work should not be proposed for installation
[20:41:30]
<Aleks (he/him/il/lui)> but if you do want to see them they are in https://dash.yunohost.org/appci/branch/stable
[20:46:18]
<JulianF> OK, so there was logic behind removing the levels (from display) -- ok, I can accept that. (I don't accept the new answer is an app is a binary "either good enough or not good enough" -- but the important "Yunohost integration" indicators are still there in the internall install-from-catalogue page, so that's great -- e.g. LDAP integration is one of the most important things ynh offers that is considerably more difficult to do on my own outside ynh. It was one of the things I would look for. So I can still find that, although it's really a shame it's not shown in the web site catalogue. But all that is not what I came to ask.
[20:49:47]
<JulianF> Can we mark these apps as "not being updated (but still work)": Scratch, Agora ?
[20:50:15]
<lapineige> > I don't accept the new answer is an app is a binary "either good enough or not good enough"
It's a bit more complex than that.
At a certain point of time, it's "good to install without destroying everything" or not good enough (and may be used at your own risk), and for some it's "good enough for enough time that it reach long term high quality".
Then there is actually little guaranty with that system that the app actuall work (fully). At least it install/uninstall/upgrade/backup/restore correctly, with a seemingly working state.
[20:50:47]
<lapineige> > LDAP integration is one of the most important things ynh offers that is considerably more difficult to do on my own outside ynh. It was one of the things I would look for. So I can still find that, although it's really a shame it's not shown in the web site catalogue.
It should be shown on each app webpage in the catalog.
[20:50:56]
<JulianF> Re. "we have a ~new mechanism where we can setup automatic updates if the upstream has well-identified releases" -- can I learn more about that please? If I do update Scratch or any other app I'd like to make it comply with that scheme rather than just throw you a one-off update.
[20:51:11]
<lapineige> > <@julian:foad.me.uk> Can we mark these apps as "not being updated (but still work)": Scratch, Agora ?
Not really. Unmaintained yes, not much than that.
[20:52:56]
<JulianF> OK, is it a useful contribution that I can make, right now, by telling you that these two are unmaintained (because I checked and found that's the case) -- and can you record that somewhere?
[20:53:47]
<JulianF> (It doesn't seem like a very useful contribution but I suppose it has a value greater than zero.)
[20:56:27]
<JulianF> > > LDAP integration is one of the most important things ynh offers that is considerably more difficult to do on my own outside ynh. It was one of the things I would look for. So I can still find that, although it's really a shame it's not shown in the web site catalogue.
>
> It should be shown on each app webpage in the catalog.
https://apps.yunohost.org/app/gitlab -- here's an example -- I use it and know it supports ynh LDAP but can't see that information presented there. Using Firefox on desktop.
[20:57:44]
<lapineige> It's because the app didn't declare that in the readme (I think).
[20:57:57]
<JulianF> (And t hanks for discussing this -- I hope you can understand I'm not trying to complain, just coming in from a long time away and trying to work out where we're going and how to get there.)
[20:59:15]
<lapineige> > <@julian:foad.me.uk> OK, is it a useful contribution that I can make, right now, by telling you that these two are unmaintained (because I checked and found that's the case) -- and can you record that somewhere?
You could check in the github repository if the manifest.json file show a maintainer. If that the case, one could contact them, or remove them as maintainer.
Also you could open an issue there titled "App is unmaintened", that might drive some attention to actually update them.
[20:59:47]
<lapineige> > <@julian:foad.me.uk> (It doesn't seem like a very useful contribution but I suppose it has a value greater than zero.)
Sure it won't revolutionize everything, but that's still something
[21:01:44]
<JulianF> > You could check in the github repository if the manifest.json file show a maintainer. If that the case, one could contact them, or remove them as maintainer.
> Also you could open an issue there titled "App is unmaintened", that might drive some attention to actually update them.
But I wasn't looking to just record the maintenance status in metadata or in a developer's issue, I was looking for a way to indicate that to users.
[21:05:00]
<lapineige> In their Yunohost admin UI, I don't think that is currently possible
[21:12:00]
<JulianF> OK. Thanks for the info.
[21:12:37]
<JulianF> Do you have a link to info about that "mechanism where we can setup automatic updates" or will I find it if I search the docs?
[21:16:37]
<Aleks (he/him/il/lui)> cf the update PR I just created for scratch, added a `autoupdate.strategy = "latest_github_release"` in manifest.toml, but i don't know anymore where this is documented ... : https://github.com/YunoHost-Apps/scratch_ynh/pull/15/files
[21:20:25]
<JulianF> Aleks (he/him/il/lui): Thanks! Both for the update and for that clue about auto-update. That's enough for me to trace through to how it's used. Thanks again!
[21:21:09]
<Aleks (he/him/il/lui)> https://yunohost.org/fr/packaging_apps_resources#regarding-autoupdate
[21:25:48]
<JulianF> (If you can do updates so quickly I might send you some others :-) Such as... "minetest" :-) )
[21:27:43]
<Aleks (he/him/il/lui)> yeah, minetest is still in packaging v1 though (no manifest.toml containing the source url+sha) but you can edit https://github.com/YunoHost-Apps/minetest_ynh/blob/master/conf/app.src
[21:28:25]
<Aleks (he/him/il/lui)> the upgrade for scratch is failing though, because the original maintainer apparently created some sort of custom archive with a proper index.html and the structure from the new upstream archive is somehow different and meh
[21:29:06]
<JulianF> Thanks for the hint on "minetest". Might do some time. Sadly these days little time.
[21:29:27]
<JulianF> On "scratch" -- isn't it just that it needs the "npm build" step to be run?
[21:30:14]
<Aleks (he/him/il/lui)> it's the "prebuilt" archive from https://github.com/scratchfoundation/scratch-gui/releases/tag/v3.2.37 so i would expect it's already compiled and whatever, but yeah who knows ...
[21:31:40]
<Aleks (he/him/il/lui)> hmpf yeah apparently their doc is talking about `npm start` so it needs a daemon and the whole shebang instead of being just a static webapp
[21:34:14]
<JulianF> Are you familiar with npm? I'm beginner-to-intermediate. As I understand, "npm start" runs a web server for development purposes, (so not needed in production), whereas "npm build" produces the static website files which you can then insert into a subdirectory under nginx's www root, and that's what we need for ynh.
[21:35:15]
<Aleks (he/him/il/lui)> `npm start` runs the command defined here https://github.com/scratchfoundation/scratch-gui/blob/develop/package.json#L21 yeah
[21:35:38]
<Aleks (he/him/il/lui)> hmm
[21:35:56]
<JulianF> yes, that's dev-mode; we want a production build
[21:38:31]
<Aleks (he/him/il/lui)> yeah it's not clear from their readme how we're supposed to run in static mode, there's no index.html etc ...
[21:39:28]
<JulianF> "npm build" creates the index.html and anything else needed.
[21:40:21]
<JulianF> so then the question is do we run 'npm' on the target ynh machine as part of install? Quite resource-intensive I think. Or do we do the build offline and store the result somewhere -- which I think is what the original creator of this package did. Stored the built result in their own repo and referenced it.
[21:40:51]
<JulianF> I have to go to bed. I'll check back tomorrow or another day.
[21:41:14]
<JulianF> Understand completely if this update isn't something you want to tackle. I might have a go, but probably not before new year.
[21:41:24]
<JulianF> Thanks for trying and being interested!
[21:41:27]
<JulianF> Good night.