Sunday, February 12, 2023
dev@conference.yunohost.org
February
Mon Tue Wed Thu Fri Sat Sun
    1 2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
         
             

[17:39:50] <Bram[m]> ah obviously the irc bridge is still broken so if I speak on irc it doesn't come here, as always x)
[17:40:30] <Bram[m]> just wanted to congratz you all folks for the latest release, it looks like such a big step forward that's awesome ^w^ (especially the step forward removing this admin user)
[18:47:28] <Yunohost Git/Infra notifications> [YunoRunner CI DEV] [🔴 Down] self signed certificate in certificate chain
[18:47:39] <Bram[m]> > <@Bram_:matrix.org> ah obviously the irc bridge is still broken so if I speak on irc it doesn't come here, as always x)

huho, you do realize that you don't get the notifications from the first monitoring anymore because of that ^^'? (and you apparently added a second monitoring)
[18:51:29] <Aleks (he/him/il/lui)> 😬
[18:51:43] <Aleks (he/him/il/lui)> #WhoMonitorsTheMonitoring
[18:51:53] <Bram[m]> that's a good question 😅
[18:52:15] <Bram[m]> I guess we need a matrix exporter for prometheus then
[18:52:23] <Aleks (he/him/il/lui)> ogod yes
[18:52:26] <Aleks (he/him/il/lui)> matrix all the things
[18:52:46] <Bram[m]> well since matrix pretends it works with other networks but ignore them I guess we don't really have the choice yes :')
[18:53:27] <Bram[m]> I love how bad it feels like the embrace, extend, and extinguish of microsoft x)
[18:54:09] <Aleks (he/him/il/lui)> 😅
[18:54:31] <Bram[m]> anyway, my client doesn't that much money for now so I miraculously have a few more time available, if there are small stuff on which I can contribute plz tell me ^w^
[18:54:40] <Bram[m]> (yeah I kinda disappeared for 2 years or so)
[18:58:58] <Bram[m]> (I'm looking at PRs and all but I'm not sure where to start and I don't see myself coming back out of nowhere saying "look I've made a full new big ass notification system for core and apps out of nowhere without having talked to you before :D" x))
[18:59:55] <Aleks (he/him/il/lui)> hmmmmmm
[19:01:01] <Aleks (he/him/il/lui)> right now I'm fighting with stupid and absolutely mystic issues with LXC/LXD on ci-apps-dev @_@ though I just moved it to a new server and it seems "less worse" though still getting stupid random failures from LXC/LXD commands
[19:01:35] <Aleks (he/him/il/lui)> i think what could be nice could be to start looking at installing YunoHost on Bookworm (like spin a LXC and try installing it somehow) and see what explodes ?
[19:06:23] <Aleks (he/him/il/lui)> ooooor something important that should be worked on is refactoring the whole websocket thing between the webadmin and API because right now it's absolutely horrendous and creates UX disaster because it sometimes looses the websocket connection thingy and the user has no feedback about what's going on
... And also because it would be nice if one could close the webadmin / reopen and still get the last few logs from what happened ...
... And also because it would be cool now that we have the multiple admins thingy that multiple people could open the webadmin and know what's going on on the server simultaneously .. So we sort of need a mechanism for the webadmin client to know what operation is currently using the lock
(and also I kind of disabled the lock for GET operations, but it doesn't seem to work ? Like if you open another webadmin tab while something is using the lock, you still can't fetch e.g. the list of users I think x_X)
[19:06:33] <Aleks (he/him/il/lui)> soooo anyway yeah, a "broadcast" system similar to the one in Yunorunner ;P And also a way to pull the last X operations + corresponding log entries
[19:06:50] <Aleks (he/him/il/lui)> i was wondering about maybe https://driftdb.com/ but didn't dig that much
[19:11:29] <Yunohost Git/Infra notifications> [YunoRunner CI DEV] [✅ Up] 200 - OK
[19:13:54] <Bram[m]> ah yeah, small things :')
[19:14:29] <Bram[m]> and yeah the admin is using gevent iirc? which is ... okay-ish I guess like 10 years ago
[19:14:58] <Bram[m]> but moving to asyncio or something build on top like sanic/fastapi/whatever would be a good move (and I hate those lost websocks too, it's been bothing me for so long)
[19:15:42] <Aleks (he/him/il/lui)> (we were also looking at SSE rather than webhooks)
[19:15:44] <Bram[m]> > <@Alekswag:matrix.org> soooo anyway yeah, a "broadcast" system similar to the one in Yunorunner ;P And also a way to pull the last X operations + corresponding log entries

oh, like you want a synchronized web administration for several people at the same time?
[19:15:50] <Aleks (he/him/il/lui)> yeah
[19:15:58] <Aleks (he/him/il/lui)> but i have little experience building that kind of stuff
[19:16:32] <Bram[m]> driftdb is rust oriented apparently, I don't see any binding for python, are we introducing rust in yunohost now?
[19:16:42] <Aleks (he/him/il/lui)> uuuuuh ogod no
[19:16:50] <Aleks (he/him/il/lui)> but i've seen a python lib for driftdb i think
[19:17:11] <Bram[m]> ah right yes https://github.com/Driftt/drift-python
[19:17:23] <Aleks (he/him/il/lui)> i'm a bit confused about the examples tho
[19:17:38] <Aleks (he/him/il/lui)> anyway i don't know if that's a good fit, i just found this on hackernews the other day xD
[19:17:45] <Bram[m]> haha ok x)
[19:18:09] <Bram[m]> honestly it would be good if I start by ... just looking at the code of the new admin first :')
[19:18:20] <Bram[m]> I've already did views.js (yunorunner) but still
[19:18:32] <Bram[m]> (which I'm pretty sure it bad vue.js btw)
[19:18:33] <Aleks (he/him/il/lui)> but yeah fastapi would be cool, axolotle is in fact kinda trying to look into how much we can unify fastapi and typer : https://github.com/YunoHost/yunohost/pull/1571 but it's like yet another layer of "refactor *everything*" 😅
[19:18:49] <Bram[m]> yeah I've seen this MR '-'
[19:19:40] <Aleks (he/him/il/lui)> 😅
[19:19:56] <Bram[m]> I would have used sanic because I already used it for yunorunner and not trying to have too different libs seems like a good idea, but I didn't felt like coming in and saying we should ditch everything just based on that idea x)
[19:20:25] <Bram[m]> anyway I'll probably start with really small things like https://github.com/YunoHost/issues/issues/2072 instead :')
[19:20:51] <Bram[m]> but I do want a notification system (because I want core configurable automatic upgrades and get notifications for that) ... but another day /o\
[19:21:12] <Bram[m]> do you group issues in the "next milestone" btw? https://github.com/YunoHost/issues/milestones
[19:22:07] <Aleks (he/him/il/lui)> uuuugh idk not really, the whole bugtracker is a mess
[19:22:14] <Aleks (he/him/il/lui)> there's also Projects™
[19:22:45] <Aleks (he/him/il/lui)> (and actually github has "old/legacy «classic» projects" and the new one)
[19:22:54] <Aleks (he/him/il/lui)> https://github.com/orgs/YunoHost/projects
[19:23:43] <Aleks (he/him/il/lui)> these past weeks I came to the conclusion that bugtrackers are always a huge mess and are instead more like "ticket lake" and you just throw stuff in it and sometimes you tried to clean it up but it's an evergrowing mess
[19:23:47] <Bram[m]> dear god this looks like excel I'm so confused
[19:24:05] <Aleks (he/him/il/lui)> and i'm lost about how to, like, "organize" stuff
[19:25:07] <Aleks (he/him/il/lui)> (like wondering about this also for $daywork)
[19:25:38] <Bram[m]> tbf my experience is that, either you are a core dev and you are too much in coding hell to be able to do a correct project manager job or you are a project manager/owner/whatever (and maybe you code a bit) and you can do project management
[19:26:09] <Aleks (he/him/il/lui)> (where we're using Gitlab and the available 'Board' view is pretty much completely useless >\_> and Milestones aren't of great help either)
[19:26:09] <Aleks (he/him/il/lui)> 😬
[19:26:09] <Bram[m]> and I'm pretty sure you are deep down in programming hell ^^'
[19:26:44] <Bram[m]> so yeah we can deal with bugtrackers and all, I'm doing this with my client, but we have a dedicated person for that and we have "the boss" that keeps refocusing people
[19:26:51] <Bram[m]> but that's for a company
[19:27:01] <Bram[m]> here it's FOSS so it's kinda ~chaos~ "bazar" based
[19:27:58] <Bram[m]> do you all decide together about the current focus?
[19:28:25] <Bram[m]> (also in FOSS you can't make people really works on what they don't feel like working on in comparison to with a company)
[19:28:52] <Aleks (he/him/il/lui)> (also I'll have you know I rewrote the dynette in python 😬 https://github.com/YunoHost/dynette/tree/rewrite-from-scratch (though still have to take some time to actually deploy/migrate it))
[19:29:13] <Bram[m]> ah yeah I saw that x)
[19:29:19] <Aleks (he/him/il/lui)> > <@Bram_:matrix.org> do you all decide together about the current focus?

not really idk xD
[19:29:43] <Bram[m]> tbf that my life long dream of porting this stuff to django to have a free web admin but you did it your way x) (I'm still not sure having an admin is a good idea)
[19:30:03] <Aleks (he/him/il/lui)> hmmm
[19:30:42] <Aleks (he/him/il/lui)> well what would be nice with Django would be that it could be like a netlib.re thingy that people could deploy for their own root domain and have a webui
[19:31:11] <Aleks (he/him/il/lui)> (netlib.re uses a webui in perl é_è)
[19:31:23] <Bram[m]> (yeah I know :<)
[19:31:54] <Bram[m]> > <@Alekswag:matrix.org> well what would be nice with Django would be that it could be like a netlib.re thingy that people could deploy for their own root domain and have a webui

yeah it's easy to add this kind of thing and you have authentication built in and a lot of shit so maybe?
[19:31:56] <Aleks (he/him/il/lui)> right now i was more like "we really need to push that feature where people define a recovery password" to be done with the thread hell about resetting .nohost.me domains
[19:32:30] <Bram[m]> but idk how familiar you are with django? I'm still a bit not happy how I kinda imposed asyncio with sanic in yunorunner and everyone was lost but me 😅
[19:32:50] <Bram[m]> it ended up being a good technology choice but I'm not sure it was a good community choice
[19:32:52] <Aleks (he/him/il/lui)> i'm sort of familiar because i've been using it in Coin
[19:33:53] <Aleks (he/him/il/lui)> i'm less lost with async nowadays ;P i think the major issue i stillhave is how to debug what happens in threads
[19:33:57] <Bram[m]> oh, we have threads now? or your mean tasks?
[19:34:01] <Aleks (he/him/il/lui)> ah yeah tasks
[19:34:17] <Bram[m]> yeah that's annoying :<
[19:34:24] <Bram[m]> except logging I've never found a good way for that
[19:34:45] <Bram[m]> I did had some web debug routes for them but you've commented them
[19:35:49] <Aleks (he/him/il/lui)> (i kinda wrote a huge mess in this function these past few weeks while merging CI_package_check in yunorunner @_@ https://github.com/YunoHost/yunorunner/blob/master/run.py#L576 )
[19:36:20] <Aleks (he/him/il/lui)> ah ? the monitor thing ? xD
[19:36:46] <Bram[m]> I think x)
[19:36:52] <Bram[m]> some route that were listing tasks and shit
[19:37:27] <Bram[m]> turns out I was an idiot and I introduced a memleak
[19:37:27] <Bram[m]> I needed that to debug it because yunorunner was using SO MUCH ram
[19:37:28] <Aleks (he/him/il/lui)> hmyeah i thought that was for profiling rather thandebugging
[19:39:28] <Bram[m]> that was kinda it yeah
[19:39:54] <Bram[m]> ah, SO is asking for nutriment, I'm coming back x)
[19:40:23] <Bram[m]> (I'm also back on yunohost because she really wants to contribute and has finally started doing it with my guidance)
[19:45:11] <Aleks (he/him/il/lui)> ah a quickwin in yunorunner would be to have something that, like, prune the DB by removing the log from the DB for jobs that finished more than e.g. 2 months ago
[19:45:11] <Aleks (he/him/il/lui)> 'cause the sqlite DB is getting big because of this
[19:45:22] <Bram[m]> oh btw, a fun anecdote : I went into a random collective at one point and they all wanted web stuff like a website and all and the geek girl of the band was all about "idk if you know this thing but I'm going to use yunohost, it's so great, it's super easy to use and all and we have all those apps we can use on it!" and all x)
[19:45:36] <Bram[m]> I was kinda "ah yeah, I've heard of it I think" x)
[19:46:05] <Aleks (he/him/il/lui)> annnd i was also wondering about maybe a view for personal-use-only yunorunner where people could add jobs (maybe from local folders), like really having yunorunner as a web frontend for package_check, but i dunno how useful that would be for people
[19:46:08] <Bram[m]> > <@Alekswag:matrix.org> ah a quickwin in yunorunner would be to have something that, like, prune the DB by removing the log from the DB for jobs that finished more than e.g. 2 months ago

and yeah we can add a "each day/month" task spawn for that pretty easily iirc
[19:47:07] <Bram[m]> > <@Alekswag:matrix.org> annnd i was also wondering about maybe a view for personal-use-only yunorunner where people could add jobs (maybe from local folders), like really having yunorunner as a web frontend for package_check, but i dunno how useful that would be for people

like if someone wants to run it on their computer?
[19:49:16] <Aleks (he/him/il/lui)> yup
[19:51:14] <Aleks (he/him/il/lui)> or maybe i'm overthinking and ciclic is enough
[20:10:48] <Bram[m]> idk
[20:10:48] <Bram[m]> are people asking for that?
[20:22:20] <Aleks (he/him/il/lui)> nope :D
[20:22:38] <Aleks (he/him/il/lui)> but i've seen several people deploying yunorunner locally these past few days
[20:23:13] <Aleks (he/him/il/lui)> actually maybe what could be great would be to have like a virtualbox pre-installed with LXD and yunorunner so that people could just have their own CI without all the hassle of installing LXD etc
[20:23:16] <Aleks (he/him/il/lui)> #overthinkingagain
[20:35:55] <tituspijean[m]> Other big easy-peasy project: eric just brought up again the statistics system for apps 😅
[20:36:14] <eric_G> 😶‍🌫️
[21:26:21] <Yunohost Git/Infra notifications> [yunohost] @alexAubin pushed 1 commit to dev: appsv2: we dont want to store user-provided passwords by default, but they should still be set in the env for the scrip... ([9bd4344f](https://github.com/YunoHost/yunohost/commit/9bd4344f25b079b66a329d93c1cd552e340cf9f9))
[21:30:22] <Yunohost Git/Infra notifications> 🏗️ Starting build for yunohost/11.1.6.2+202302122130 for bullseye/unstable/all ...
[21:32:09] <Yunohost Git/Infra notifications> ✔️ Completed build for yunohost/11.1.6.2+202302122130 for bullseye/unstable/all.
[21:36:31] <Aleks (he/him/il/lui)> aaaaaaaaaaaaaannd LXD half-deleted a container and now everything crashed and somehow the rootfs of the old container is still there but it doesnt want to delete it because it thinks it doesnt exists
[21:36:32] <Aleks (he/him/il/lui)> FML
[21:36:53] <Aleks (he/him/il/lui)> gonna throw a damn Scaleway server
[21:37:36] <Aleks (he/him/il/lui)> I can't even fix it in package check like "rm -rf the container rootfs if it still exists" because it would need to be sudoer
[21:37:47] <Aleks (he/him/il/lui)> like i can fix it manually but this is gonna happen again probably >_>
[21:40:20] <Aleks (he/him/il/lui)> yeah :|
[21:41:49] <Aleks (he/him/il/lui)> this time though it really sounds like a hardware-ish issue ... according to some github thread, the "context deadline exceeded" is related to something like "it took more than 3 sec for LXD to write in its DB", and I'm actually seeing my shell being kinda frozen for a few seconds sometimes ...
[22:26:30] <Bram[m]> > <@titus:pijean.ovh> Other big easy-peasy project: eric just brought up again the statistics system for apps 😅

ah yeah perfect x)
[22:28:01] <Bram[m]> btw, do you have a way to discuss about complex new features now like writing a proposal and discussing about it and stuff or is it still chaos x)?
[22:29:00] <Bram[m]> tituspijean: btw, do you know you mail on your ovh domain is broken? I keep getting "Undelivered Mail Returned to Sender" emails about it
[22:35:35] <Aleks (he/him/il/lui)> > <@Bram_:matrix.org> btw, do you have a way to discuss about complex new features now like writing a proposal and discussing about it and stuff or is it still chaos x)?

eeeeh pretty much chaos
[22:36:02] <Aleks (he/him/il/lui)> did some people in the world manage to find a good workflow for this ? 😬
[22:36:18] <Bram[m]> idk for FOSS but at may main client it kinda works yeah x)
[22:36:31] <Bram[m]> also on core python too with PEP and all but it's super slow
[22:38:23] <Bram[m]> but honestly it's more about just sitting down together a few time and talking about it
[23:54:53] <Yunohost Git/Infra notifications> [YunoHost demo] [🔴 Down] Request failed with status code 502