Thursday, November 09, 2023
apps@conference.yunohost.org
November
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
29
30
     
             

[00:07:29] <Yunohost Git/Infra notifications> [apps] @Tagadda pushed 1 commit to add-to-wishlist-docuseal: Update wishlist.toml ([44bf481d](https://github.com/YunoHost/apps/commit/44bf481d13f2e22cba6656b11e8b4afc85861880))
[00:07:34] <Yunohost Git/Infra notifications> [apps] @Tagadda approved [pull request #1859](https://github.com/YunoHost/apps/pull/1859#pullrequestreview-1721474405) Add DocuSeal to wishlist
[00:08:20] <Yunohost Git/Infra notifications> [apps] @Tagadda approved [pull request #1860](https://github.com/YunoHost/apps/pull/1860#pullrequestreview-1721474888) Add Teslamate to wishlist
[00:13:55] <Yunohost Git/Infra notifications> [apps] @Tagadda approved [pull request #1858](https://github.com/YunoHost/apps/pull/1858#pullrequestreview-1721480957) Add missing logos
[03:36:55] <Yunohost Git/Infra notifications> App overleaf failed all tests in job [#20302](https://ci-apps.yunohost.org/ci/job/20302) :(
[03:46:49] <Yunohost Git/Infra notifications> App pagure failed all tests in job [#20307](https://ci-apps.yunohost.org/ci/job/20307) :(
[05:36:37] <Yunohost Git/Infra notifications> App peertube_remote_runner stays at level 2 in job [#20311](https://ci-apps.yunohost.org/ci/job/20311)
[06:24:41] <Yunohost Git/Infra notifications> App pepettes rises from level 6 to 8 in job [#20313](https://ci-apps.yunohost.org/ci/job/20313) !
[06:47:09] <Yunohost Git/Infra notifications> [apps] @tituspijean deleted branch add-to-wishlist-docuseal
[06:47:10] <Yunohost Git/Infra notifications> [apps] @tituspijean pushed 3 commits to master ([360623e140ce...9b7329570c31](https://github.com/YunoHost/apps/compare/360623e140ce...9b7329570c31))
[06:47:15] <Yunohost Git/Infra notifications> [apps] @tituspijean merged [pull request #1860](https://github.com/YunoHost/apps/pull/1860): Add Teslamate to wishlist
[06:47:15] <Yunohost Git/Infra notifications> [apps] @tituspijean pushed 2 commits to master ([9b7329570c31...cc89647e17de](https://github.com/YunoHost/apps/compare/9b7329570c31...cc89647e17de))
[06:47:17] <Yunohost Git/Infra notifications> [apps] @tituspijean deleted branch add-to-wishlist-teslamate
[06:47:19] <Yunohost Git/Infra notifications> [apps/master] Add Teslamate to wishlist - yunohost-bot
[06:47:23] <Yunohost Git/Infra notifications> [apps/master] Merge pull request #1860 from YunoHost/add-to-wishlist-teslamate Add Teslamate to wishlist - tituspijean
[07:33:26] <azahto> I think I found out the part responsible for fail2ban error. Maybe I should branch from helloworld app instead of example_app
[07:47:21] <azahto> Hi there! Thanks to some advices a week or so ago, I started to work on a package for HotCRP. It is my first package, and I am a bit lost. So I have a couple of questions ...
First, I want to focus on the manifest file

1. Are the list packages in resources.apt automatically installed when the app is installed? (I assumed yes so far)
2. Are some of those packages redundant (such as nginx, php, etc.)? Current list of packages: "nginx, php, phpmyadmin, php-fpm, php-intl, mariadb-server, poppler-utils, zip" (I know I need to put version numbers for php stuff)
My current manifest file can be found there: https://github.com/Azzaare/hotcrp\_ynh/tree/newskin
[08:28:04] <Yunohost Git/Infra notifications> [apps] @ericgaspar pushed 10 commits to master ([cc89647e17de...44eeaf9d7042](https://github.com/YunoHost/apps/compare/cc89647e17de...44eeaf9d7042))
[08:28:07] <Yunohost Git/Infra notifications> [apps] @ericgaspar merged [pull request #1858](https://github.com/YunoHost/apps/pull/1858): Add missing logos
[08:28:08] <Yunohost Git/Infra notifications> [apps/master] Delete vore.png - Éric Gaspar
[08:49:46] <Yunohost Git/Infra notifications> [apps] @ericgaspar pushed 1 commit to master: Update woodpecker.png ([8173369d](https://github.com/YunoHost/apps/commit/8173369ded7e515beb79e878b412d419bacedeaa))
[08:56:20] <selfhoster1312> azahto, i think yes and yes :)
[08:56:34] <selfhoster1312> i mean "nginx" you don't need to say for sure because it's a dependency of yunohost, but it doesnt *hurt* to have it there ^^
[11:13:42] <Yunohost Git/Infra notifications> [example_ynh] @Salamandar edited [pull request #215](https://github.com/YunoHost/example_ynh/pull/215): Reorganize steps in scripts to have more coherent scripts one to another
[11:49:49] <Tag> > Hi there! Thanks to some advices a week or so ago, I started to work on a package for HotCRP. It is my first package, and I am a bit lost. So I have a couple of questions ...
> First, I want to focus on the manifest file
>
> 1. Are the list packages in resources.apt automatically installed when the app is installed? (I assumed yes so far)
> 2. Are some of those packages redundant (such as nginx, php, etc.)? Current list of packages: "nginx, php, phpmyadmin, php-fpm, php-intl, mariadb-server, poppler-utils, zip" (I know I need to put version numbers for php stuff)
> My current manifest file can be found there: https://github.com/Azzaare/hotcrp\_ynh/tree/newskin

I wouldn't install phpmyadmin like that
[11:50:39] <azahto> I am a total beginner, so I am taking any advice :D
[11:52:04] <Tag> Why do you need phpmyadmin for HotCRP ?
[11:52:36] <Tag> (please don't use threads in ynh rooms) There's a phpmyadmin\_ynh package
[11:56:32] <azahto> Hmmm, the lack of sleep and some mistakes make a valid answer? I guess I was planning to have mysql as dependency ...
[11:57:15] <Tag> Ahah yes! No worry :p
[12:01:56] <azahto> On a side note, I found a docker install of HotCRP (I also don't understand much about docker beside basic use). I guess I can probably derive an install script from it. Or would it be a bad idea?
[12:04:57] <Tag> You can take the Dockerfile as a hint to write your install script, that's right
[12:05:34] <Tag> Did you read the packaging documentation and example_ynh already ?
[12:08:14] <azahto> Yes. But as I am not very good with scripting and web stuff, I am going slowly. Also, I finally decided to work from the hello_world example so that I have something smaller to handle at first. Now that I have the packages dependencies sorted out, I should try to build the install script step by step
[12:11:08] <Tag> mmh I wouldn't suggest helloworld_ynh as a starter kit but I get your point
[12:11:39] <Tag> I think that referring to the example\_ynh package while packaging could help
[12:12:41] <azahto> The install script from example_ynh failed due to fail2ban things. Since I could not figure it out quickly, I was planning to start with something smaller but installing. And then add things step by step
[12:13:45] <Tag> You can always comment out things while tinkering :)
[12:15:45] <azahto> True. I guess I am more of the add things one by one school. Anyway, I appreciate your help
[12:16:11] <Tag> You're welcome! Have fun packaging :)
[13:05:55] <eric_G> I'm naively trying to package Gitea/Forgejo Runner that uses docker container to run actions. https://github.com/YunoHost-Apps/forgejo-runner_ynh/tree/testing
[13:06:51] <eric_G> I get this error:

```
Error: cannot ping the docker daemon, does it running? permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http:///var/run/docker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied
```
[13:08:29] <eric_G> I was looking at https://github.com/YunoHost-Apps/gitlab-runner_ynh
[13:10:26] <Aleks (he/him/il/lui)> hmm and you installed docker from the apt dependencies with an extra repo, sounds good yeah
[13:10:36] <Aleks (he/him/il/lui)> but sounds like for some reason docker aint running
[13:11:32] <eric_G> and I am absolut Docker noob
[14:12:58] <eric_G> This failing test for roundcube is starting to be annoying 💩 https://ci-apps-dev.yunohost.org/ci/job/10906
[14:14:10] <orhtej2> > <@ericg:matrix.org> This failing test for roundcube is starting to be annoying 💩 https://ci-apps-dev.yunohost.org/ci/job/10906

I've been trying to triage it but never got repro
[14:14:37] <orhtej2> Is it running something in interactive mode sometimes or smth?
[14:15:12] <eric_G> I wonder if yolo merging will solve the issue 😬
[14:17:13] <Aleks (he/him/il/lui)> > Is it running something in interactive mode sometimes or smth?

yeah i'm thinking the same thing
[14:17:19] <Aleks (he/him/il/lui)> actually we could try ps -ef on the container while it's running
[14:17:26] <Aleks (he/him/il/lui)> let me see
[14:33:07] <Aleks (he/him/il/lui)> so yeah it's stuck at `php composer.phar update -d /var/www/roundcube/ --no-dev` ... looking deeper into the log
[14:35:08] <Aleks (he/him/il/lui)> zblerg no message in the log beyond `WARNING Do not run Composer as root/super user! See https://getcomposer.org/root for details`
[14:39:46] <Aleks (he/him/il/lui)> so hmmm naively : did we try running this command https://github.com/YunoHost-Apps/roundcube_ynh/blob/master/scripts/upgrade#L265 as non-root ? I also see a few lines below a pretty similar one which calls the same script but in a different fashion ?
[14:40:03] <Aleks (he/him/il/lui)> `/usr/bin/php$phpversion -q ./bin/update.sh -v ?` versus `ynh_exec_warn ./bin/update.sh --version=$oldversion -y`
[14:40:09] <Aleks (he/him/il/lui)> i'm much confused
[16:38:08] <orhtej2> > <@Alekswag:matrix.org> so hmmm naively : did we try running this command https://github.com/YunoHost-Apps/roundcube_ynh/blob/master/scripts/upgrade#L265 as non-root ? I also see a few lines below a pretty similar one which calls the same script but in a different fashion ?

It does not break every time hence I was not able to tell if it's related
[17:36:47] <eric_G> another mystery/misery https://github.com/YunoHost-Apps/forgejo_ynh/blob/b6ab2093366518b0c1414ced42b71ede60ac90d4/scripts/install#L78
[17:37:01] <eric_G> gives https://ci-apps-dev.yunohost.org/ci/job/10909
[17:37:19] <eric_G> `Command error: the secret must be exactly 40 characters long, not 56: generate-secret can provide a secret matching the requirements`
[17:37:46] <Aleks (he/him/il/lui)> ah yes because it gets converted to base64
[17:38:10] <Aleks (he/him/il/lui)> naively a quick fix could be : `ynh_string_random --length=100 | base64 | head -c 40`
[17:38:39] <Aleks (he/him/il/lui)> nope
[17:38:39] <Aleks (he/him/il/lui)> ooor
[17:38:39] <Aleks (he/him/il/lui)> hmmm
[17:38:48] <Aleks (he/him/il/lui)> that won't be base64-compliant if it gets truncated i gues
[17:38:59] <Aleks (he/him/il/lui)> but do you need it to be base64 tho
[17:42:36] <eric_G> Now I get `Command error: the secret must be an hexadecimal string: encoding/hex: invalid byte: U+004E 'N'`
[17:43:20] <eric_G> I have been spending so much time trying to set this secret 💩
[17:45:46] <Aleks (he/him/il/lui)> what about using the recommended `generate-secret` ? 😅
[17:47:06] <eric_G> doesn't seem to exist.
[17:47:11] <eric_G> `https://github.com/YunoHost-Apps/forgejo_ynh/blob/b6ab2093366518b0c1414ced42b71ede60ac90d4/scripts/install#L34`
[17:49:04] <Aleks (he/him/il/lui)> isn't it like `generate-secret` instead of `generate secret` ? 😅
[17:50:15] <Aleks (he/him/il/lui)> https://forgejo.org/docs/latest/admin/command-line/#generate-secret
[17:50:23] <jedie1024> I have a questions related to the "config panel"... In my toml i have e.g.: `bind = "admin_email:__DATA_DIR__/settings.py"` but on console i get: `Warning: File **DATA\_DIR**/settings.py does not exists`
[17:50:46] <Aleks (he/him/il/lui)> jedie1024: hmmkay and so the file is supposed to exist ?
[17:50:56] <jedie1024> I have a questions related to the "config panel"... In my toml i have e.g.: `bind = "admin_email:__DATA_DIR__/settings.py"` but on console i get: `Warning: File __DATA_DIR__/settings.py does not exists`
[17:50:57] <Aleks (he/him/il/lui)> like, `/home/yunohost.app/$yourapp/settings.py` exists ?
[17:51:13] <Aleks (he/him/il/lui)> are you not confusing with `__INSTALL_DIR__` ?
[17:51:46] <jedie1024> yes "/home/yunohost.app/pyinventory/settings.py" exists.
[17:51:59] <jedie1024> I will try `__INSTALL_DIR__`
[17:52:23] <Aleks (he/him/il/lui)> well if `/home/yunohost.app/pyinventory/settings.py` then it's fine
[17:52:36] <Aleks (he/him/il/lui)> are you sure `$data_dir` is equal to `/home/yunohost.app/pyinventory/` ?
[17:52:57] <Aleks (he/him/il/lui)> ah
[17:52:59] <Aleks (he/him/il/lui)> `Warning: File __DATA_DIR__/settings.py does not exists`
[17:53:13] <Aleks (he/him/il/lui)> hmpf i guess the actually issue is that __DATA_DIR__ doesnt get replaced in that context
[17:53:16] <jedie1024> No, with INSTALL DIR i get: `Warning: File /var/www/pyinventory/settings.py does not exists` and this is okay, because the correct path is: `/home/yunohost.app/pyinventory/settings.py`
[17:53:23] <Aleks (he/him/il/lui)> only `__INSTALL_DIR__` and `__APP__` ....
[17:53:39] <Aleks (he/him/il/lui)> are there any reason for the settings.py to be in the data dir ? Usually config files are in the install dir
[17:54:18] <jedie1024> I think config file should **not** placed under **/var/www/** ;)
[17:54:26] <Aleks (he/him/il/lui)> é_è
[17:55:17] <jedie1024> **/var/www/** is for files that should be served by nginx to the browser, but not for any files that should never send to the client. Isn't it?
[17:57:05] <jedie1024> OK, i can add a work-a-round by using `/home/yunohost.app/__APP__/settings.py` this worked. Fine.
[17:57:13] <Aleks (he/him/il/lui)> ... honestly i don't think we should formalize too much on the meaning of the standard filesystem hierarchy and whatever was the intent for each folder defined in like the 90's ... we had other discussions about how "/var/www is supposed to be for static files and reverse-proxied app should go in /opt", honestly fuck this, the rationale is "we need a standard place in which we put apps, and that standard place de-facto is /var/www"
[17:57:30] <jedie1024> Should i open a github issues for missing `__DATA_DIR__` ?
[17:57:32] <Aleks (he/him/il/lui)> *or* if we really want to stick to whatever "standard hierarchy stuff", configs should go in /etc/$app, but how many app do that
[17:58:30] <Aleks (he/him/il/lui)> there are a gazillions files in /var/www that do not get served by nginx ... starting with for example .. node_modules, or whatever is in python venv, or ...
[17:58:53] <Aleks (he/him/il/lui)> > <@jedie1024:matrix.org> Should i open a github issues for missing `__DATA_DIR__` ?

yes if you want, or even better fixing it the code directly
[17:59:12] <Aleks (he/him/il/lui)> but i maintain that basically every other app have their conf in /var/www/$app/ and it's just fine
[18:00:22] <jedie1024> https://github.com/YunoHost/issues/issues/2283
[18:01:02] <jedie1024> I don't know where i can fix it ;) And in my spare time i tried to fix/update my YunoHost packages ;)
[18:04:03] <Aleks (he/him/il/lui)> lapineige: sooo uuuh how bad is it if I drop the preview mechanism in the app generator ? @_@ I'm trying to iterate on the template/.zip generation right now to propagate all my changes and it really feels like it's overly complex and there's the epic `global` variable hack etc x_x
[18:05:37] <lapineige> The global variable isn't only there for the preview
[18:05:54] <lapineige> The ZIP content is retrieved like this
[18:07:08] <Aleks (he/him/il/lui)> yeah but like, if clicking the "submit" button would directly download the .zip archive there would be no need to use the `global` trick
[18:07:37] <lapineige> I don't think so, but I don't remember the code
[18:07:38] <Aleks (he/him/il/lui)> or we could have two buttons in the same form idk
[18:07:46] <Aleks (he/him/il/lui)> one for "preview", one of "download zip"
[18:07:54] <lapineige> My issue was that I cannot sent the file content from the XHR
[18:07:55] <Aleks (he/him/il/lui)> or maybe there is already two buttons, i'm confused
[18:08:30] <lapineige> > <@Alekswag:matrix.org> or maybe there is already two buttons, i'm confused

There were, I hidded the preview one, it was easier to debug
[18:09:25] <lapineige> I still think it's interesting to show the code before download, for teaching purposes (that should be improved), but also for faster "debugging" how what you're changing as an user
[18:09:56] <lapineige> Also it allows to download each file individually. Not *that* usefull
[18:15:17] <Aleks (he/him/il/lui)> yeah clearly it can be cool for pedagogical purpose to have the preview but i see it more as a bonus than a required feature ... i'm also trying to think as a way to maybe have the form and the previewed code "side by side" ... anyway, ok to try to have two buttons "Preview code" and "Download zip" ... now I'm confused about the use of the XHR rather than just calling like the same route with something like `?submit_type=preview/download` or something like this 😅
[18:15:39] <Aleks (he/him/il/lui)> i see that the XHR does re-send the files from the client ... was the point to be able to edit the previewed files ?
[18:17:16] <lapineige> > <@Alekswag:matrix.org> yeah clearly it can be cool for pedagogical purpose to have the preview but i see it more as a bonus than a required feature ... i'm also trying to think as a way to maybe have the form and the previewed code "side by side" ... anyway, ok to try to have two buttons "Preview code" and "Download zip" ... now I'm confused about the use of the XHR rather than just calling like the same route with something like `?submit_type=preview/download` or something like this 😅

Yeah side-by-side or as a dropdown. Would be very cool
[18:17:46] <lapineige> > <@Alekswag:matrix.org> i see that the XHR does re-send the files from the client ... was the point to be able to edit the previewed files ?

I don't understand
[18:18:16] <lapineige> > <@Alekswag:matrix.org> i see that the XHR does re-send the files from the client ... was the point to be able to edit the previewed files ?

If you click submit again it regenerate stuff depending or the new parameters
[18:19:08] <Aleks (he/him/il/lui)> i mean here https://github.com/lapineige/apps/blob/master/tools/app_generator/templates/index.html#L169
[18:29:38] <lapineige> Yes that's needed to tell the backup the user input
[21:52:44] <Aleks (he/him/il/lui)> so hmmm i got a working-ish version with preview+download, the zip seems to work when i extract it, but for some reason xarchiver loops indifinitely when trying to browse it graphically